--- a/.docker/Dockerfile-try-runtime +++ b/.docker/Dockerfile-try-runtime @@ -34,17 +34,12 @@ ARG PROFILE=release ARG FEATURE= -ARG REPO_URL= -ARG BRANCH= ARG FORK_FROM= +COPY . /unique_parachain WORKDIR /unique_parachain RUN echo "Requested features: $FEATURE\n" && \ echo "Fork from: $FORK_FROM\n" && \ - echo "Repositry URL: $REPO_URL\n" && \ - echo "Branch: $BRANCH\n" && \ - git clone $REPO_URL -b $BRANCH . && \ cargo run --features=$FEATURE --release -- try-runtime on-runtime-upgrade live --uri $FORK_FROM - \ No newline at end of file --- a/.docker/docker-compose.try-runtime.j2 +++ b/.docker/docker-compose.try-runtime.j2 @@ -5,8 +5,6 @@ build: args: - "RUST_TOOLCHAIN={{ RUST_TOOLCHAIN }}" - - "BRANCH={{ BRANCH }}" - - "REPO_URL={{ REPO_URL }}" - "FEATURE={{ FEATURE }}" - "FORK_FROM={{ FORK_FROM }}" --- a/.github/workflows/build-test-master.yml +++ b/.github/workflows/build-test-master.yml @@ -1,4 +1,4 @@ -name: MASTER - Build & Test +name: Yarn test para # Controls when the action will run. on: @@ -19,15 +19,19 @@ env: REPO_URL: ${{ github.server_url }}/${{ github.repository }} +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: master-build-and-test: # The type of runner that the job will run on - runs-on: self-hosted-ci + runs-on: [self-hosted-ci,large] + timeout-minutes: 1380 - - name: ${{ matrix.network }} - Build and Test + name: ${{ matrix.network }} continue-on-error: true #Do not stop testing of matrix runs failed. --- a/.github/workflows/codestyle.yml +++ b/.github/workflows/codestyle.yml @@ -10,6 +10,10 @@ - synchronize - ready_for_review +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: rustfmt: runs-on: self-hosted-ci @@ -47,7 +51,7 @@ clippy: if: ${{ false }} runs-on: self-hosted-ci - + steps: - name: Skip if pull request is in Draft # `if: github.event.pull_request.draft == true` should be kept here, at --- a/.github/workflows/fork-update-withdata.yml +++ b/.github/workflows/fork-update-withdata.yml @@ -1,4 +1,4 @@ -name: Fork Parachain update with data +name: Upgrade replica # Controls when the action will run. on: @@ -19,14 +19,19 @@ env: REPO_URL: ${{ github.server_url }}/${{ github.repository }} +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: fork-update-withdata: # The type of runner that the job will run on - runs-on: self-hosted-ci + runs-on: [self-hosted-ci,large] + timeout-minutes: 1380 - name: ${{ matrix.network }} Fork Parachain with data + name: ${{ matrix.network }} 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. --- a/.github/workflows/forkless-update-nodata.yml +++ b/.github/workflows/forkless-update-nodata.yml @@ -1,4 +1,4 @@ -name: Forkless Parachain update with no data +name: Upgrade nodata # Controls when the action will run. on: @@ -19,6 +19,10 @@ env: REPO_URL: ${{ github.server_url }}/${{ github.repository }} +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: @@ -29,6 +33,7 @@ runs-on: self-hosted-ci outputs: matrix: ${{ steps.create_matrix.outputs.matrix }} + steps: - name: Clean Workspace @@ -56,9 +61,13 @@ forkless-update-nodata: needs: prepare-execution-marix # The type of runner that the job will run on - runs-on: self-hosted-ci + runs-on: [self-hosted-ci,medium] + + - name: ${{ matrix.network }} - Forkless Parachain Upgrade NO data + timeout-minutes: 1380 + + name: ${{ matrix.network }} 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. --- a/.github/workflows/node_build_test.yml +++ b/.github/workflows/node_build_test.yml @@ -1,4 +1,4 @@ -name: Develop - Build & test +name: Yarn test dev # Controls when the action will run. on: @@ -19,13 +19,18 @@ env: REPO_URL: ${{ github.server_url }}/${{ github.repository }} +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: dev_build_test: # The type of runner that the job will run on - runs-on: self-hosted-ci + runs-on: [self-hosted-ci,medium] + timeout-minutes: 1380 - name: Build Container, Spin it Up an test + name: ${{ matrix.network }} 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. --- a/.github/workflows/tests_codestyle.yml +++ b/.github/workflows/tests_codestyle.yml @@ -10,6 +10,10 @@ - synchronize - ready_for_review +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: code_style: runs-on: self-hosted-ci --- a/.github/workflows/try-runtime.yml +++ b/.github/workflows/try-runtime.yml @@ -1,4 +1,4 @@ -name: Try Runtime +name: try-runtime # Controls when the action will run. on: @@ -19,26 +19,30 @@ env: REPO_URL: ${{ github.server_url }}/${{ github.repository }} +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: try-runtime: # The type of runner that the job will run on runs-on: self-hosted-ci - - name: ${{ matrix.network }} - Try-runtime + + name: ${{ matrix.network }} 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. strategy: matrix: include: - - network: Opal + - network: opal features: try-runtime,opal-runtime fork_from_address: wss://eu-ws-opal.unique.network:443 - - network: Quartz + - network: quartz features: try-runtime,quartz-runtime fork_from_address: wss://eu-ws-quartz.unique.network:443 - - network: Unique + - network: unique features: try-runtime,unique-runtime fork_from_address: wss://eu-ws.unique.network:443 @@ -79,37 +83,15 @@ template: .docker/docker-compose.try-runtime.j2 output_file: .docker/docker-compose.try-runtime.${{ matrix.network }}.yml variables: | - REPO_URL=${{ github.server_url }}/${{ github.repository }}.git RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }} FEATURE=${{ matrix.features }} - BRANCH=${{ github.head_ref }} FORK_FROM=${{ matrix.fork_from_address }} - name: Show build configuration run: cat .docker/docker-compose.try-runtime.${{ matrix.network }}.yml - - name: Build the stack - run: docker-compose -f ".docker/docker-compose-try-runtime.yml" -f ".docker/docker-compose.try-runtime.${{ matrix.network }}.yml" up -d --build --force-recreate --timeout 300 - - - - name: Collect Docker Logs - if: success() || failure() - uses: jwalton/gh-docker-logs@v2.2.0 - with: - dest: './try-runtime-logs.${{ matrix.features }}' - images: 'try-runtime' - - - name: Tar logs - if: success() || failure() - run: tar cvzf ./try-runtime-logs.${{ matrix.features }}.tgz ./try-runtime-logs.${{ matrix.features }} - - - name: Upload logs to GitHub - if: success() || failure() - uses: actions/upload-artifact@master - with: - name: try-runtime-logs.${{ matrix.features }}.tgz - path: ./try-runtime-logs.${{ matrix.features }}.tgz + run: docker-compose -f ".docker/docker-compose-try-runtime.yml" -f ".docker/docker-compose.try-runtime.${{ matrix.network }}.yml" up -d --build --force-recreate --timeout 300 --remove-orphans - name: Stop running containers if: always() # run this step always --- a/node/cli/Cargo.toml +++ b/node/cli/Cargo.toml @@ -266,6 +266,7 @@ [dependencies.opal-runtime] path = '../../runtime/opal' +optional = true [dependencies.up-data-structs] path = "../../primitives/data-structs" @@ -320,11 +321,15 @@ rmrk-rpc = { path = "../../primitives/rmrk-rpc" } [features] -default = [] +default = ["opal-runtime"] runtime-benchmarks = [ 'unique-runtime?/runtime-benchmarks', 'quartz-runtime?/runtime-benchmarks', 'opal-runtime/runtime-benchmarks', 'polkadot-service/runtime-benchmarks', ] -try-runtime = [] +try-runtime = [ + 'unique-runtime?/try-runtime', + 'quartz-runtime?/try-runtime', + 'opal-runtime?/try-runtime', +]