difftreelog
fix remove needs from job definition. dependencies implemented by re-usable workflow
in: master
1 file changed
.github/workflows/xcm-tests_v2.ymldiffbeforeafterboth1name: xcm-tests23# Controls when the action will run.4on:5 # Allows you to run this workflow manually from the Actions tab6 workflow_call:78#Define Workflow variables9env:10 REPO_URL: ${{ github.server_url }}/${{ github.repository }}111213# A workflow run is made up of one or more jobs that can run sequentially or in parallel14jobs:1516 prepare-execution-marix:1718 name: Prepare execution matrix1920 needs: [xcm-testnet-build]2122 runs-on: XL23 outputs:24 matrix: ${{ steps.create_matrix.outputs.matrix }}2526 steps:2728 - name: Clean Workspace29 uses: AutoModality/action-clean@v1.1.03031 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it32 - uses: actions/checkout@v333 with:34 ref: ${{ github.head_ref }} #Checking out head commit3536 - name: Read .env file37 uses: xom9ikk/dotenv@v1.0.23839 - name: Create Execution matrix40 uses: fabiocaccamo/create-matrix-action@v241 id: create_matrix42 with:43 matrix: |44 network {opal}, runtime {opal}, features {opal-runtime}, runtest {testXcmOpal}45 network {quartz}, runtime {quartz}, features {quartz-runtime}, runtest {testXcmQuartz}46 network {unique}, runtime {unique}, features {unique-runtime}, runtest {testXcmUnique}4748 xcm-tests:49 needs: prepare-execution-marix50 # The type of runner that the job will run on51 runs-on: [XL]5253 timeout-minutes: 6005455 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)}}626364 steps:65 - name: Skip if pull request is in Draft66 if: github.event.pull_request.draft == true67 run: exit 16869 - name: Clean Workspace70 uses: AutoModality/action-clean@v1.1.07172 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it73 - uses: actions/checkout@v374 with:75 ref: ${{ github.head_ref }} #Checking out head commit7677 - name: Read .env file78 uses: xom9ikk/dotenv@v1.0.27980 - name: Generate ENV related extend file for docker-compose81 uses: cuchi/jinja2-action@v1.2.082 with:83 template: .docker/docker-compose.tmp-xcm-tests.j284 output_file: .docker/docker-compose.xcm-tests.${{ matrix.network }}.yml85 variables: |86 NETWORK=${{ matrix.network }}8788 - name: Show build configuration89 run: cat .docker/docker-compose.xcm-tests.${{ matrix.network }}.yml9091 - uses: actions/setup-node@v392 with:93 node-version: 169495 - name: Build the stack96 run: docker-compose -f ".docker/docker-compose.xcm-tests.${{ matrix.network }}.yml" up -d --remove-orphans --force-recreate --timeout 3009798 # π POLKADOT LAUNCH COMPLETE π99 - name: Check if docker logs consist messages related to testing of xcm tests 100 if: success()101 run: |102 counter=160103 function check_container_status {104 docker inspect -f {{.State.Running}} xcm-${{ matrix.network }}-testnet-local105 }106 function do_docker_logs {107 docker logs --details xcm-${{ matrix.network }}-testnet-local 2>&1108 }109 function is_started {110 if [ "$(check_container_status)" == "true" ]; then111 echo "Container: xcm-${{ matrix.network }}-testnet-local RUNNING";112 echo "Check Docker logs"113 DOCKER_LOGS=$(do_docker_logs)114 if [[ ${DOCKER_LOGS} = *"POLKADOT LAUNCH COMPLETE"* ]];then115 echo "π POLKADOT LAUNCH COMPLETE π"116 return 0117 else118 echo "Message not found in logs output, repeating..."119 return 1120 fi121 else122 echo "Container xcm-${{ matrix.network }}-testnet-local NOT RUNNING"123 echo "Halting all future checks"124 exit 1125 fi126 echo "something goes wrong"127 exit 1128 }129 while ! is_started; do130 echo "Waiting for special message in log files "131 sleep 30s132 counter=$(( $counter - 1 ))133 echo "Counter: $counter"134 if [ "$counter" -gt "0" ]; then135 continue136 else137 break138 fi139 done140 echo "Halting script"141 exit 0142 shell: bash143144 - name: Run XCM tests 145 working-directory: tests146 run: |147 yarn install148 yarn add mochawesome149 echo "Ready to start tests"150 NOW=$(date +%s) && yarn ${{ matrix.runtest }} --reporter mochawesome --reporter-options reportFilename=test-${NOW}151152 - name: XCM Test Report153 uses: phoenix-actions/test-reporting@v8154 id: test-report155 if: success() || failure() # run this step even if previous step failed156 with:157 name: XCM Tests ${{ matrix.network }} # Name of the check run which will be created158 path: tests/mochawesome-report/test-*.json # Path to test results159 reporter: mochawesome-json160 fail-on-error: 'false'161162 - name: Stop running containers163 if: always() # run this step always164 run: docker-compose -f ".docker/docker-compose.xcm-tests.${{ matrix.network }}.yml" down165166 - name: Clean Workspace167 if: always()168 uses: AutoModality/action-clean@v1.1.0169170 - name: Remove builder cache171 if: always() # run this step always172 run: |173 docker system prune -a -f1741name: xcm-tests23# Controls when the action will run.4on:5 # Allows you to run this workflow manually from the Actions tab6 workflow_call:78#Define Workflow variables9env:10 REPO_URL: ${{ github.server_url }}/${{ github.repository }}111213# A workflow run is made up of one or more jobs that can run sequentially or in parallel14jobs:1516 prepare-execution-marix:1718 name: Prepare execution matrix1920# needs: [xcm-testnet-build]2122 runs-on: XL23 outputs:24 matrix: ${{ steps.create_matrix.outputs.matrix }}2526 steps:2728 - name: Clean Workspace29 uses: AutoModality/action-clean@v1.1.03031 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it32 - uses: actions/checkout@v333 with:34 ref: ${{ github.head_ref }} #Checking out head commit3536 - name: Read .env file37 uses: xom9ikk/dotenv@v1.0.23839 - name: Create Execution matrix40 uses: fabiocaccamo/create-matrix-action@v241 id: create_matrix42 with:43 matrix: |44 network {opal}, runtime {opal}, features {opal-runtime}, runtest {testXcmOpal}45 network {quartz}, runtime {quartz}, features {quartz-runtime}, runtest {testXcmQuartz}46 network {unique}, runtime {unique}, features {unique-runtime}, runtest {testXcmUnique}4748 xcm-tests:49 needs: prepare-execution-marix50 # The type of runner that the job will run on51 runs-on: [XL]5253 timeout-minutes: 6005455 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)}}626364 steps:65 - name: Skip if pull request is in Draft66 if: github.event.pull_request.draft == true67 run: exit 16869 - name: Clean Workspace70 uses: AutoModality/action-clean@v1.1.07172 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it73 - uses: actions/checkout@v374 with:75 ref: ${{ github.head_ref }} #Checking out head commit7677 - name: Read .env file78 uses: xom9ikk/dotenv@v1.0.27980 - name: Generate ENV related extend file for docker-compose81 uses: cuchi/jinja2-action@v1.2.082 with:83 template: .docker/docker-compose.tmp-xcm-tests.j284 output_file: .docker/docker-compose.xcm-tests.${{ matrix.network }}.yml85 variables: |86 NETWORK=${{ matrix.network }}8788 - name: Show build configuration89 run: cat .docker/docker-compose.xcm-tests.${{ matrix.network }}.yml9091 - uses: actions/setup-node@v392 with:93 node-version: 169495 - name: Build the stack96 run: docker-compose -f ".docker/docker-compose.xcm-tests.${{ matrix.network }}.yml" up -d --remove-orphans --force-recreate --timeout 3009798 # π POLKADOT LAUNCH COMPLETE π99 - name: Check if docker logs consist messages related to testing of xcm tests 100 if: success()101 run: |102 counter=160103 function check_container_status {104 docker inspect -f {{.State.Running}} xcm-${{ matrix.network }}-testnet-local105 }106 function do_docker_logs {107 docker logs --details xcm-${{ matrix.network }}-testnet-local 2>&1108 }109 function is_started {110 if [ "$(check_container_status)" == "true" ]; then111 echo "Container: xcm-${{ matrix.network }}-testnet-local RUNNING";112 echo "Check Docker logs"113 DOCKER_LOGS=$(do_docker_logs)114 if [[ ${DOCKER_LOGS} = *"POLKADOT LAUNCH COMPLETE"* ]];then115 echo "π POLKADOT LAUNCH COMPLETE π"116 return 0117 else118 echo "Message not found in logs output, repeating..."119 return 1120 fi121 else122 echo "Container xcm-${{ matrix.network }}-testnet-local NOT RUNNING"123 echo "Halting all future checks"124 exit 1125 fi126 echo "something goes wrong"127 exit 1128 }129 while ! is_started; do130 echo "Waiting for special message in log files "131 sleep 30s132 counter=$(( $counter - 1 ))133 echo "Counter: $counter"134 if [ "$counter" -gt "0" ]; then135 continue136 else137 break138 fi139 done140 echo "Halting script"141 exit 0142 shell: bash143144 - name: Run XCM tests 145 working-directory: tests146 run: |147 yarn install148 yarn add mochawesome149 echo "Ready to start tests"150 NOW=$(date +%s) && yarn ${{ matrix.runtest }} --reporter mochawesome --reporter-options reportFilename=test-${NOW}151152 - name: XCM Test Report153 uses: phoenix-actions/test-reporting@v8154 id: test-report155 if: success() || failure() # run this step even if previous step failed156 with:157 name: XCM Tests ${{ matrix.network }} # Name of the check run which will be created158 path: tests/mochawesome-report/test-*.json # Path to test results159 reporter: mochawesome-json160 fail-on-error: 'false'161162 - name: Stop running containers163 if: always() # run this step always164 run: docker-compose -f ".docker/docker-compose.xcm-tests.${{ matrix.network }}.yml" down165166 - name: Clean Workspace167 if: always()168 uses: AutoModality/action-clean@v1.1.0169170 - name: Remove builder cache171 if: always() # run this step always172 run: |173 docker system prune -a -f174