git.delta.rocks / unique-network / refs/commits / 383bd1491066

difftreelog

source

.github/workflows/fork-update-withdata.yml6.4 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 }}2122# A workflow run is made up of one or more jobs that can run sequentially or in parallel23jobs:2425  fork-update-withdata:26    # The type of runner that the job will run on27    runs-on: [self-hosted-ci,large]28    timeout-minutes: 13802930    name: ${{ matrix.network }}3132    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.3334    strategy:35      matrix:36        include:37          - network: Opal38            features: opal-runtime39            runtime: opal40            fork_from_address: wss://eu-ws-opal.unique.network:44341          - network: Quartz42            features: quartz-runtime43            runtime: quartz44            fork_from_address: wss://eu-ws-quartz.unique.network:44345          - network: Unique46            features: unique-runtime47            runtime: unique48            fork_from_address: wss://eu-ws.unique.network:4434950    steps:51      - name: Skip if pull request is in Draft52        # `if: github.event.pull_request.draft == true` should be kept here, at53        # the step level, rather than at the job level. The latter is not54        # recommended because when the PR is moved from "Draft" to "Ready to55        # review" the workflow will immediately be passing (since it was skipped),56        # even though it hasn't actually ran, since it takes a few seconds for57        # the workflow to start. This is also disclosed in:58        # https://github.community/t/dont-run-actions-on-draft-pull-requests/16817/1759        # That scenario would open an opportunity for the check to be bypassed:60        # 1. Get your PR approved61        # 2. Move it to Draft62        # 3. Push whatever commits you want63        # 4. Move it to "Ready for review"; now the workflow is passing (it was64        #    skipped) and "Check reviews" is also passing (it won't be updated65        #    until the workflow is finished)66        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/forking/docker-compose.tmp-fork.j284          output_file: .docker/forking/docker-compose.${{ matrix.network }}.yml85          variables: |86            REPO_URL=${{ github.server_url }}/${{ github.repository }}.git87            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}88            POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}89            POLKADOT_MAINNET_BRANCH=${{ env.POLKADOT_MAINNET_BRANCH }}90            FEATURE=${{ matrix.features }}91            RUNTIME=${{ matrix.runtime }}92            BRANCH=${{ github.head_ref }}93            FORK_FROM=${{ matrix.fork_from_address }}9495      - name: Show build configuration96        run: cat .docker/forking/docker-compose.${{ matrix.network }}.yml9798      - name: Generate launch-config-fork.json99        uses: cuchi/jinja2-action@v1.2.0100        with:101          template: .docker/forking/launch-config-fork.j2102          output_file: .docker/forking/launch-config-fork.json103          variables: |104            FEATURE=${{ matrix.features }}105            RUNTIME=${{ matrix.runtime }}106107      - name: Show launch-config-fork configuration108        run: cat .docker/forking/launch-config-fork.json109110111      - name: Build the stack112        run: docker-compose -f ".docker/forking/docker-compose-fork.yaml" -f ".docker/forking/docker-compose.${{ matrix.network }}.yml" up -d --build  --force-recreate --timeout 300113114      - name: Check if docker logs consist logs related to Runtime Upgrade testing.115        if: success()116        run: |117            counter=160118            function do_docker_logs {119                docker logs --details parachain-fork  2>&1120            }121            function is_started {122                echo "Check Docker logs"123                DOCKER_LOGS=$(do_docker_logs)124                if [[ ${DOCKER_LOGS} = *"🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"* ]];then125                     echo "🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"126                     return 0127                     exit 0128                fi129                     echo "Function is_started: Return 1"130                     return 1131            }132            while ! is_started; do133                echo "Waiting for special message in log files "134                sleep 30s135                counter=$(( $counter - 1 ))136                echo "Counter: $counter"137                if [ "$counter" -gt "0" ]; then138                     continue139                else140                     break141                fi142            done143            exit 1144        shell: bash145146      - name: Collect Docker Logs147        if: success() || failure()148        uses: jwalton/gh-docker-logs@v2.2.0149        with:150          dest: './fork-parachain-update-withdata-logs.${{ matrix.features }}'151          images: 'parachain-fork' 152153      - name: Tar logs154        if: success() || failure()155        run: tar cvzf ./fork-parachain-update-withdata-logs.${{ matrix.features }}.tgz ./fork-parachain-update-withdata-logs.${{ matrix.features }}156157      - name: Upload logs to GitHub158        if: success() || failure()159        uses: actions/upload-artifact@master160        with:161          name: fork-parachain-update-withdata-logs.${{ matrix.features }}.tgz162          path: ./fork-parachain-update-withdata-logs.${{ matrix.features }}.tgz163164      - name: Stop running containers165        if: always()                   # run this step always166        run: docker-compose -f ".docker/forking/docker-compose-fork.yaml" -f ".docker/forking/docker-compose.${{ matrix.network }}.yml" down