git.delta.rocks / unique-network / refs/commits / e2da42b8b024

difftreelog

source

.github/workflows/collator-selection.yml7.2 KiBsourcehistory
1name: collator-selection-test-run23# Controls when the action will run.4on:5  workflow_call:67  # Allows you to run this workflow manually from the Actions tab8  workflow_dispatch:910#Define Workflow variables11env:12  REPO_URL: ${{ github.server_url }}/${{ github.repository }}1314# A workflow run is made up of one or more jobs that can run sequentially or in parallel15jobs:1617  prepare-execution-marix:1819    name: Prepare execution matrix2021    runs-on: [self-hosted-ci]22    outputs:23      matrix: ${{ steps.create_matrix.outputs.matrix }}2425    steps:2627      - name: Clean Workspace28        uses: AutoModality/action-clean@v1.1.02930      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it31      - uses: actions/checkout@v3.1.032        with:33          ref: ${{ github.head_ref }}  #Checking out head commit3435      - name: Read .env file36        uses: xom9ikk/dotenv@v23738      - name: Create Execution matrix39        uses: CertainLach/create-matrix-action@v440        id: create_matrix41        with:42          matrix: |43            network {opal}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}44            network {quartz}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}45            network {sapphire}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}4647  collator-selection:4849    needs: prepare-execution-marix50    # The type of runner that the job will run on51    runs-on: [self-hosted-ci,large]5253    timeout-minutes: 13805455    name: ${{ matrix.network }}5657    continue-on-error: true         #Do not stop testing of matrix runs failed.  As it decided during PR review - it required 50/50& Let's check it with false.5859    strategy:60      matrix:61        include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}6263    steps:64      - name: Skip if pull request is in Draft65        if: github.event.pull_request.draft == true66        run: exit 16768      - name: Clean Workspace69        uses: AutoModality/action-clean@v1.1.07071      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it72      - uses: actions/checkout@v3.1.073        with:74          ref: ${{ github.head_ref }}  #Checking out head commit7576      # Prepare SHA77      - name: Prepare SHA78        uses: ./.github/actions/prepare7980      - name: Read .env file81        uses: xom9ikk/dotenv@v28283      - name: Log in to Docker Hub84        uses: docker/login-action@v2.1.085        with:86          username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}87          password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}8889      - name: Run find-and-replace to remove slashes from branch name90        uses: mad9000/actions-find-and-replace-string@491        id: branchname92        with:93          source: ${{ github.head_ref }}94          find: '/'95          replace: '-'9697      - name: Generate ENV related extend Dockerfile file for POLKADOT98        uses: cuchi/jinja2-action@v1.2.099        with:100          template: .docker/Dockerfile-polkadot.j2101          output_file: .docker/Dockerfile-polkadot.${{ matrix.relay_branch }}.yml102          variables: |103            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}104            POLKADOT_BUILD_BRANCH=${{ matrix.relay_branch }}105            106      - name: Prepare polkadot107        uses: ./.github/actions/buildContainer108        id: polkadot109        with:110          container: uniquenetwork/builder-polkadot111          tag: ${{ matrix.relay_branch }}112          context: .docker113          dockerfile: Dockerfile-polkadot.${{ matrix.relay_branch }}.yml114          dockerhub_username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}115          dockerhub_token: ${{ secrets.CORE_DOCKERHUB_TOKEN }}116117      # - name: pull needed images118      #   run: |119      #     docker pull uniquenetwork/builder-polkadot:${{ matrix.relay_branch }}120121      # - name: Build unique-chain122      #   run: |123      #     docker build --file .docker/Dockerfile-unique \124      #       --build-arg RUNTIME_FEATURES=${{ matrix.runtime_features }} \125      #       --build-arg RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }} \126      #       --tag uniquenetwork/ci-collator-selection-local:${{ matrix.network }}-${{ steps.branchname.outputs.value }}-${{ env.BUILD_SHA }} \127      #       .128129      # - name: Push docker image version130      #   run: docker push uniquenetwork/ci-collator-selection-local:${{ matrix.network }}-${{ steps.branchname.outputs.value }}-${{ env.BUILD_SHA }}131132133      - name: Prepare latest134        uses: ./.github/actions/buildContainer135        id: latest136        with:137          container: uniquenetwork/ci-collator-selection-local138          tag: ${{ matrix.network }}-${{ env.REF_SLUG }}-${{ env.BUILD_SHA }}139          context: .140          dockerfile: .docker/Dockerfile-unique141          args: |142            --build-arg RUNTIME_FEATURES=${{ matrix.runtime_features }},session-test-timings143            --build-arg RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}144          dockerhub_username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}145          dockerhub_token: ${{ secrets.CORE_DOCKERHUB_TOKEN }}146147      - uses: actions/setup-node@v3.5.1148        with:149          node-version: 18150151      - name: Install baedeker152        uses: UniqueNetwork/baedeker-action/setup@built153154      - name: Setup library155        run: mkdir -p .baedeker/vendor/ && git clone https://github.com/UniqueNetwork/baedeker-library .baedeker/vendor/baedeker-library156157      - name: Start network158        uses: UniqueNetwork/baedeker-action@built159        id: bdk160        with:161          jpath: |162            .baedeker/vendor163          tla-str: |164            relay_spec=${{ env.RELAY_CHAIN_TYPE }}-local165          inputs: |166            .baedeker/collator-selection.jsonnet167            snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/polkadot':{dockerImage:'${{ steps.polkadot.outputs.name }}'}})168            snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.latest.outputs.name }}'}})169170      - name: Upload network config171        uses: actions/upload-artifact@v3172        with:173          name: ${{ matrix.network }}-network-config174          path: ${{ steps.bdk.outputs.composeProject }}175          retention-days: 2176177      - name: Run tests178        working-directory: js-packages/tests179        run: |180          yarn install181          yarn add mochawesome182          # Wanted by both wait_for_first_block183          # export RPC_URL="${RELAY_SAPPHIRE_HTTP_URL:-${RELAY_OPAL_HTTP_URL:-${RELAY_QUARTZ_HTTP_URL:-${RELAY_UNIQUE_HTTP_URL:-}}}}"184          ../scripts/wait_for_first_block.sh185          echo "Ready to start tests"186          NOW=$(date +%s) && yarn testCollators --reporter mochawesome --reporter-options reportFilename=test-collators-${NOW}187        env:188          RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}          189190      - name: Test Report191        uses: phoenix-actions/test-reporting@v10192        id: test-report193        if: success() || failure()194        with:195          name: Collator Selection Tests ${{ matrix.network }}196          path: js-packages/tests/mochawesome-report/test-collators-*.json197          reporter: mochawesome-json198          fail-on-error: 'false'199200      - name: Clean Workspace201        if: always()202        uses: AutoModality/action-clean@v1.1.0203204      - name: Remove builder cache205        if: always()206        run: |207          docker system prune -a -f