1name: upgrade replica234on:5 6 pull_request:7 branches:8 - master9 types:10 - opened11 - reopened12 - synchronize 13 - ready_for_review1415 16 workflow_dispatch:171819env:20 REPO_URL: ${{ github.server_url }}/${{ github.repository }}2122concurrency: 23 group: ${{ github.workflow }}-${{ github.ref }}24 cancel-in-progress: true252627jobs:2829 fork-update-withdata:30 31 runs-on: [self-hosted-ci,large]32 timeout-minutes: 13803334 name: ${{ matrix.network }}3536 continue-on-error: true 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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 if: github.event.pull_request.draft == true71 run: exit 17273 - name: Clean Workspace74 uses: AutoModality/action-clean@v1.1.07576 77 - uses: actions/checkout@v378 with:79 ref: ${{ github.head_ref }} 8081 - 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/forking/docker-compose.tmp-fork.j288 output_file: .docker/forking/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/forking/docker-compose.${{ matrix.network }}.yml101102 - name: Generate launch-config-fork.json103 uses: cuchi/jinja2-action@v1.2.0104 with:105 template: .docker/forking/launch-config-fork.j2106 output_file: .docker/forking/launch-config-fork.json107 variables: |108 FEATURE=${{ matrix.features }}109 RUNTIME=${{ matrix.runtime }}110111 - name: Show launch-config-fork configuration112 run: cat .docker/forking/launch-config-fork.json113114115 - name: Build the stack116 run: docker-compose -f ".docker/forking/docker-compose-fork.yaml" -f ".docker/forking/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: './fork-parachain-update-withdata-logs.${{ matrix.features }}'155 images: 'parachain-fork' 156157 - name: Tar logs158 if: success() || failure()159 run: tar cvzf ./fork-parachain-update-withdata-logs.${{ matrix.features }}.tgz ./fork-parachain-update-withdata-logs.${{ matrix.features }}160161 - name: Upload logs to GitHub162 if: success() || failure()163 uses: actions/upload-artifact@master164 with:165 name: fork-parachain-update-withdata-logs.${{ matrix.features }}.tgz166 path: ./fork-parachain-update-withdata-logs.${{ matrix.features }}.tgz167168 - name: Stop running containers169 if: always() 170 run: docker-compose -f ".docker/forking/docker-compose-fork.yaml" -f ".docker/forking/docker-compose.${{ matrix.network }}.yml" down