1name: xcm-testnet-build234on:5 workflow_call:6 7 8 workflow_dispatch:91011env:12 REPO_URL: ${{ github.server_url }}/${{ github.repository }}131415jobs:1617 prepare-execution-marix:1819 name: Prepare execution matrix2021 runs-on: XL22 outputs:23 matrix: ${{ steps.create_matrix.outputs.matrix }}2425 steps:2627 - name: Clean Workspace28 uses: AutoModality/action-clean@v1.1.02930 31 - uses: actions/checkout@v332 with:33 ref: ${{ github.head_ref }} 3435 - name: Read .env file36 uses: xom9ikk/dotenv@v1.0.23738 - name: Create Execution matrix39 uses: fabiocaccamo/create-matrix-action@v240 id: create_matrix41 with:42 matrix: |43 network {opal}, runtime {opal}, features {opal-runtime}44 network {quartz}, runtime {quartz}, features {quartz-runtime}45 network {unique}, runtime {unique}, features {unique-runtime}4647 xcm-build:48 49 needs: prepare-execution-marix50 51 runs-on: [XL]5253 timeout-minutes: 6005455 name: ${{ matrix.network }}5657 continue-on-error: true 5859 strategy:60 matrix:61 include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}6263 steps:64 - name: Skip if pull request is in Draft65 if: github.event.pull_request.draft == true66 run: exit 16768 - name: Clean Workspace69 uses: AutoModality/action-clean@v1.1.07071 72 - uses: actions/checkout@v373 with:74 ref: ${{ github.head_ref }} 7576 - name: Read .env file77 uses: xom9ikk/dotenv@v1.0.27879 - name: Generate ENV related extend Dockerfile file80 uses: cuchi/jinja2-action@v1.2.081 with:82 template: .docker/Dockerfile-xcm.j283 output_file: .docker/Dockerfile-xcm.${{ matrix.network }}.yml84 variables: |85 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}86 NETWORK=${{ matrix.network }}87 POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}88 POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}89 FEATURE=${{ matrix.features }}90 RUNTIME=${{ matrix.runtime }}91 BRANCH=${{ github.head_ref }}92 ACALA_BUILD_BRANCH=${{ env.ACALA_BUILD_BRANCH }}93 MOONBEAM_BUILD_BRANCH=${{ env.MOONBEAM_BUILD_BRANCH }}94 CUMULUS_BUILD_BRANCH=${{ env.CUMULUS_BUILD_BRANCH }}9596 - name: Show build Dockerfile97 run: cat .docker/Dockerfile-xcm.${{ matrix.network }}.yml9899 - name: Show launch-config-xcm-${{ matrix.network }} configuration100 run: cat .docker/xcm-config/launch-config-xcm-${{ matrix.network }}.json101102 - name: Run find-and-replace to remove slashes from branch name103 uses: mad9000/actions-find-and-replace-string@2104 id: branchname105 with:106 source: ${{ github.head_ref }}107 find: '/'108 replace: '-'109110 - name: Log in to Docker Hub111 uses: docker/login-action@v2.0.0112 with:113 username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}114 password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}115116 - name: Pull acala docker image117 run: docker pull uniquenetwork/builder-acala:${{ env.ACALA_BUILD_BRANCH }}118119 - name: Pull moonbeam docker image120 run: docker pull uniquenetwork/builder-moonbeam:${{ env.MOONBEAM_BUILD_BRANCH }}121122 - name: Pull cumulus docker image123 run: docker pull uniquenetwork/builder-cumulus:${{ env.CUMULUS_BUILD_BRANCH }}124125 - name: Pull polkadot docker image126 run: docker pull uniquenetwork/builder-polkadot:${{ env.POLKADOT_BUILD_BRANCH }}127128 - name: Pull chainql docker image129 run: docker pull uniquenetwork/builder-chainql:latest130131 - name: Build the stack132 run: cd .docker/ && docker build --no-cache --file ./Dockerfile-xcm.${{ matrix.network }}.yml --tag uniquenetwork/xcm-${{ matrix.network }}-testnet-local:nightly-${{ steps.branchname.outputs.value }}-${{ github.sha }} --tag uniquenetwork/xcm-${{ matrix.network }}-testnet-local:latest .133134 - name: Push docker image version135 run: docker push uniquenetwork/xcm-${{ matrix.network }}-testnet-local:nightly-${{ steps.branchname.outputs.value }}-${{ github.sha }}136137 - name: Push docker image latest138 run: docker push uniquenetwork/xcm-${{ matrix.network }}-testnet-local:latest139140 - name: Clean Workspace141 if: always()142 uses: AutoModality/action-clean@v1.1.0143144 - name: Remove builder cache145 if: always() 146 run: |147 docker builder prune -f148 docker system prune -f149150151