1name: testnet-build234on: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 prepare-execution-marix:3031 name: Prepare execution matrix3233 runs-on: [self-hosted-ci,medium]34 outputs:35 matrix: ${{ steps.create_matrix.outputs.matrix }}3637 steps:3839 - name: Clean Workspace40 uses: AutoModality/action-clean@v1.1.04142 43 - uses: actions/checkout@v344 with:45 ref: ${{ github.head_ref }} 4647 - name: Read .env file48 uses: xom9ikk/dotenv@v24950 - name: Create Execution matrix51 uses: fabiocaccamo/create-matrix-action@v252 id: create_matrix53 with:54 matrix: |55 network {opal}, runtime {opal}, features {opal-runtime}56 network {quartz}, runtime {quartz}, features {quartz-runtime}57 network {unique}, runtime {unique}, features {unique-runtime}5859 testnet-build:60 needs: prepare-execution-marix61 62 runs-on: [self-hosted-ci,medium]6364 timeout-minutes: 6006566 name: ${{ matrix.network }}6768 continue-on-error: true 6970 strategy:71 matrix:72 include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}7374 steps:75 - name: Skip if pull request is in Draft76 if: github.event.pull_request.draft == true77 run: exit 17879 - name: Clean Workspace80 uses: AutoModality/action-clean@v1.1.08182 83 - uses: actions/checkout@v384 with:85 ref: ${{ github.head_ref }} 8687 - name: Read .env file88 uses: xom9ikk/dotenv@v28990 - name: Generate ENV related extend file for docker-compose91 uses: cuchi/jinja2-action@v1.2.092 with:93 template: .docker/Dockerfile-testnet.j294 output_file: .docker/Dockerfile-testnet.${{ matrix.network }}.yml95 variables: |96 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}97 NETWORK=${{ matrix.network }}98 POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}99 POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}100 FEATURE=${{ matrix.features }}101 RUNTIME=${{ matrix.runtime }}102 BRANCH=${{ github.head_ref }}103104 - name: Show build configuration105 run: cat .docker/Dockerfile-testnet.${{ matrix.network }}.yml106107 - name: Show launch-config configuration108 run: cat launch-config.json109110 - name: Run find-and-replace to remove slashes from branch name111 uses: mad9000/actions-find-and-replace-string@2112 id: branchname113 with:114 source: ${{ github.head_ref }}115 find: '/'116 replace: '-'117118 - name: Log in to Docker Hub119 uses: docker/login-action@v2.0.0120 with:121 username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}122 password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}123124 - name: Pull polkadot docker image125 run: docker pull uniquenetwork/builder-polkadot:${{ env.POLKADOT_BUILD_BRANCH }} 126127 - name: Build the stack128 run: cd .docker/ && docker build --file ./Dockerfile-testnet.${{ matrix.network }}.yml --tag uniquenetwork/${{ matrix.network }}-testnet-local-nightly:nightly-${{ steps.branchname.outputs.value }}-${{ github.sha }} . 129130 - name: Push docker version image131 run: docker push uniquenetwork/${{ matrix.network }}-testnet-local-nightly:nightly-${{ steps.branchname.outputs.value }}-${{ github.sha }}132133 - name: Clean Workspace134 if: always()135 uses: AutoModality/action-clean@v1.1.0136137 - name: Remove builder cache138 if: always() 139 run: |140 docker builder prune -f141 docker system prune -f