git.delta.rocks / unique-network / refs/commits / 54e6d5512f31

difftreelog

source

.github/workflows/forkless-update-data.yml6.1 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 request13      - ready_for_review1415  # Allows you to run this workflow manually from the Actions tab16  workflow_dispatch:1718#Define Workflow variables19env:20  REPO_URL: ${{ github.server_url }}/${{ github.repository }}2122concurrency: 23  group: ${{ github.workflow }}-${{ github.ref }}24  cancel-in-progress: true2526# A workflow run is made up of one or more jobs that can run sequentially or in parallel27jobs:2829  forkless-update-data:30    # The type of runner that the job will run on31    runs-on: [self-hosted-ci,large]32    timeout-minutes: 13803334    name: ${{ matrix.network }}3536    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.3738    strategy:39      matrix:40        include:41          - network: opal42            features: opal-runtime43            runtime: opal44            fork_from_address: wss://eu-ws-opal.unique.network:44345          - network: quartz46            features: quartz-runtime47            runtime: quartz48            fork_from_address: wss://eu-ws-quartz.unique.network:44349          - network: unique50            features: unique-runtime51            runtime: unique52            fork_from_address: wss://eu-ws.unique.network:4435354    steps:55      - name: Skip if pull request is in Draft56        # `if: github.event.pull_request.draft == true` should be kept here, at57        # the step level, rather than at the job level. The latter is not58        # recommended because when the PR is moved from "Draft" to "Ready to59        # review" the workflow will immediately be passing (since it was skipped),60        # even though it hasn't actually ran, since it takes a few seconds for61        # the workflow to start. This is also disclosed in:62        # https://github.community/t/dont-run-actions-on-draft-pull-requests/16817/1763        # That scenario would open an opportunity for the check to be bypassed:64        # 1. Get your PR approved65        # 2. Move it to Draft66        # 3. Push whatever commits you want67        # 4. Move it to "Ready for review"; now the workflow is passing (it was68        #    skipped) and "Check reviews" is also passing (it won't be updated69        #    until the workflow is finished)70        if: github.event.pull_request.draft == true71        run: exit 17273      - name: Clean Workspace74        uses: AutoModality/action-clean@v1.1.07576      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it77      - uses: actions/checkout@v378        with:79          ref: ${{ github.head_ref }}  #Checking out head commit8081      - name: Read .env file82        uses: xom9ikk/dotenv@v1.0.28384      - name: Generate ENV related extend file for docker-compose85        uses: cuchi/jinja2-action@v1.2.086        with:87          template: .docker/docker-compose.tmp-forkless-data.j288          output_file: .docker/docker-compose.${{ matrix.network }}.yml89          variables: |90            REPO_URL=${{ github.server_url }}/${{ github.repository }}.git91            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}92            POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}93            POLKADOT_MAINNET_BRANCH=${{ env.POLKADOT_MAINNET_BRANCH }}94            FEATURE=${{ matrix.features }}95            RUNTIME=${{ matrix.runtime }}96            BRANCH=${{ github.head_ref }}97            FORK_FROM=${{ matrix.fork_from_address }}9899      - name: Show build configuration100        run: cat .docker/docker-compose.${{ matrix.network }}.yml101102      - name: Generate launch-config-forkless-data.json103        uses: cuchi/jinja2-action@v1.2.0104        with:105          template: .docker/forkless-config/launch-config-forkless-data.j2106          output_file: .docker/launch-config-forkless-data.json107          variables: |108            FEATURE=${{ matrix.features }}109            RUNTIME=${{ matrix.runtime }}110111      - name: Show launch-config-forkless configuration112        run: cat .docker/launch-config-forkless-data.json113114115      - name: Build the stack116        run: docker-compose -f ".docker/docker-compose-forkless.yml" -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build  --force-recreate --timeout 300117118      - name: Check if docker logs consist logs related to Runtime Upgrade testing.119        if: success()120        run: |121            counter=160122            function do_docker_logs {123                docker logs --details parachain-fork  2>&1124            }125            function is_started {126                echo "Check Docker logs"127                DOCKER_LOGS=$(do_docker_logs)128                if [[ ${DOCKER_LOGS} = *"🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"* ]];then129                     echo "🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"130                     return 0131                     exit 0132                fi133                     echo "Function is_started: Return 1"134                     return 1135            }136            while ! is_started; do137                echo "Waiting for special message in log files "138                sleep 30s139                counter=$(( $counter - 1 ))140                echo "Counter: $counter"141                if [ "$counter" -gt "0" ]; then142                     continue143                else144                     break145                fi146            done147            exit 1148        shell: bash149150      - name: Collect Docker Logs151        if: success() || failure()152        uses: jwalton/gh-docker-logs@v2.2.0153        with:154          dest: './forkless-parachain-upgrade-data-logs.${{ matrix.features }}'155          images: 'node-parachain' 156157      - name: Show Docker logs158        run: cat './forkless-parachain-upgrade-data-logs.${{ matrix.features }}/node-parachain.log' 159160      - name: Stop running containers161        if: always()                   # run this step always162        run: docker-compose -f ".docker/docker-compose-forkless.yml" -f ".docker/docker-compose.${{ matrix.network }}.yml" down