git.delta.rocks / unique-network / refs/commits / 2a07e943177a

difftreelog

source

.github/workflows/fork-update-withdata.yml6.3 KiBsourcehistory
1name: Upgrade replica23# Controls when the action will run.4on:5 # Triggers the workflow on push or pull request events but only for the master branch6  pull_request:7    branches:8      - master9    types:10      - opened11      - reopened12      - synchronize   #commit(s) pushed to the pull request1314  # Allows you to run this workflow manually from the Actions tab15  workflow_dispatch:1617#Define Workflow variables18env:19  REPO_URL: ${{ github.server_url }}/${{ github.repository }}2021# A workflow run is made up of one or more jobs that can run sequentially or in parallel22jobs:2324  fork-update-withdata:25    # The type of runner that the job will run on26    runs-on: [self-hosted-ci,large]27    timeout-minutes: 13802829    name: ${{ matrix.network }}3031    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.3233    strategy:34      matrix:35        include:36          - network: Opal37            features: opal-runtime38            runtime: opal39            fork_from_address: wss://eu-ws-opal.unique.network:44340          - network: Quartz41            features: quartz-runtime42            runtime: quartz43            fork_from_address: wss://eu-ws-quartz.unique.network:44344          - network: Unique45            features: unique-runtime46            runtime: unique47            fork_from_address: wss://eu-ws.unique.network:4434849    steps:50      - name: Skip if pull request is in Draft51        # `if: github.event.pull_request.draft == true` should be kept here, at52        # the step level, rather than at the job level. The latter is not53        # recommended because when the PR is moved from "Draft" to "Ready to54        # review" the workflow will immediately be passing (since it was skipped),55        # even though it hasn't actually ran, since it takes a few seconds for56        # the workflow to start. This is also disclosed in:57        # https://github.community/t/dont-run-actions-on-draft-pull-requests/16817/1758        # That scenario would open an opportunity for the check to be bypassed:59        # 1. Get your PR approved60        # 2. Move it to Draft61        # 3. Push whatever commits you want62        # 4. Move it to "Ready for review"; now the workflow is passing (it was63        #    skipped) and "Check reviews" is also passing (it won't be updated64        #    until the workflow is finished)65        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@v373        with:74          ref: ${{ github.head_ref }}  #Checking out head commit7576      - name: Read .env file77        uses: xom9ikk/dotenv@v1.0.27879      - name: Generate ENV related extend file for docker-compose80        uses: cuchi/jinja2-action@v1.2.081        with:82          template: .docker/forking/docker-compose.tmp-fork.j283          output_file: .docker/forking/docker-compose.${{ matrix.network }}.yml84          variables: |85            REPO_URL=${{ github.server_url }}/${{ github.repository }}.git86            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}87            POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}88            POLKADOT_MAINNET_BRANCH=${{ env.POLKADOT_MAINNET_BRANCH }}89            FEATURE=${{ matrix.features }}90            RUNTIME=${{ matrix.runtime }}91            BRANCH=${{ github.head_ref }}92            FORK_FROM=${{ matrix.fork_from_address }}9394      - name: Show build configuration95        run: cat .docker/forking/docker-compose.${{ matrix.network }}.yml9697      - name: Generate launch-config-fork.json98        uses: cuchi/jinja2-action@v1.2.099        with:100          template: .docker/forking/launch-config-fork.j2101          output_file: .docker/forking/launch-config-fork.json102          variables: |103            FEATURE=${{ matrix.features }}104            RUNTIME=${{ matrix.runtime }}105106      - name: Show launch-config-fork configuration107        run: cat .docker/forking/launch-config-fork.json108109110      - name: Build the stack111        run: docker-compose -f ".docker/forking/docker-compose-fork.yaml" -f ".docker/forking/docker-compose.${{ matrix.network }}.yml" up -d --build  --force-recreate --timeout 300112113      - name: Check if docker logs consist logs related to Runtime Upgrade testing.114        if: success()115        run: |116            counter=160117            function do_docker_logs {118                docker logs --details parachain-fork  2>&1119            }120            function is_started {121                echo "Check Docker logs"122                DOCKER_LOGS=$(do_docker_logs)123                if [[ ${DOCKER_LOGS} = *"🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"* ]];then124                     echo "🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"125                     return 0126                     exit 0127                fi128                     echo "Function is_started: Return 1"129                     return 1130            }131            while ! is_started; do132                echo "Waiting for special message in log files "133                sleep 30s134                counter=$(( $counter - 1 ))135                echo "Counter: $counter"136                if [ "$counter" -gt "0" ]; then137                     continue138                else139                     break140                fi141            done142            exit 1143        shell: bash144145      - name: Collect Docker Logs146        if: success() || failure()147        uses: jwalton/gh-docker-logs@v2.2.0148        with:149          dest: './fork-parachain-update-withdata-logs.${{ matrix.features }}'150          images: 'parachain-fork' 151152      - name: Tar logs153        if: success() || failure()154        run: tar cvzf ./fork-parachain-update-withdata-logs.${{ matrix.features }}.tgz ./fork-parachain-update-withdata-logs.${{ matrix.features }}155156      - name: Upload logs to GitHub157        if: success() || failure()158        uses: actions/upload-artifact@master159        with:160          name: fork-parachain-update-withdata-logs.${{ matrix.features }}.tgz161          path: ./fork-parachain-update-withdata-logs.${{ matrix.features }}.tgz162163      - name: Stop running containers164        if: always()                   # run this step always165        run: docker-compose -f ".docker/forking/docker-compose-fork.yaml" -f ".docker/forking/docker-compose.${{ matrix.network }}.yml" down