From 86955eef90138941beabf4143b645d652ac98d14 Mon Sep 17 00:00:00 2001
From: Sergejs Kostjucenko <85877331+sergejparity@users.noreply.github.com>
Date: Thu, 5 Oct 2023 18:05:42 +0300
Subject: [PATCH] Remove deprecated CI config files (#1799)
This PR removes deprecated CI config files
---
cumulus/.gitattributes | 2 -
cumulus/.github/dependabot.yml | 31 --
cumulus/.github/pr-custom-review.yml | 48 --
cumulus/.github/workflows/check-D-labels.yml | 47 --
cumulus/.github/workflows/check-labels.yml | 45 --
cumulus/.github/workflows/docs.yml | 39 --
cumulus/.github/workflows/fmt-check.yml | 22 -
.../.github/workflows/pr-custom-review.yml | 42 --
.../workflows/release-01_branch-check.yml | 22 -
.../workflows/release-10_rc-automation.yml | 87 ----
...e-20_extrinsic-ordering-check-from-bin.yml | 86 ----
...e-21_extrinsic-ordering-check-from-two.yml | 120 -----
.../workflows/release-30_create-draft.yml | 311 -------------
.../workflows/release-99_bot-announce.yml | 39 --
cumulus/.github/workflows/srtool.yml | 122 ------
cumulus/.gitlab-ci.yml | 201 ---------
cumulus/scripts/ci/changelog/README.md | 77 ----
polkadot/.gitattributes | 2 -
polkadot/.github/dependabot.yml | 26 --
polkadot/.github/pr-custom-review.yml | 42 --
.../workflows/burnin-label-notification.yml | 24 -
polkadot/.github/workflows/check-D-labels.yml | 50 ---
.../.github/workflows/check-bootnodes.yml | 31 --
polkadot/.github/workflows/check-labels.yml | 45 --
polkadot/.github/workflows/check-licenses.yml | 26 --
.../.github/workflows/check-new-bootnodes.yml | 28 --
polkadot/.github/workflows/check-weights.yml | 49 ---
polkadot/.github/workflows/honggfuzz.yml | 137 ------
.../.github/workflows/pr-custom-review.yml | 42 --
.../workflows/release-01_branch-check.yml | 21 -
.../workflows/release-10_candidate.yml | 71 ---
...e-20_extrinsic-ordering-check-from-bin.yml | 81 ----
...e-21_extrinsic-ordering-check-from-two.yml | 97 -----
.../release-30_publish-draft-release.yml | 199 ---------
polkadot/.github/workflows/release-99_bot.yml | 49 ---
polkadot/.gitlab-ci.yml | 287 ------------
substrate/.gitattributes | 2 -
substrate/.github/dependabot.yml | 12 -
substrate/.github/pr-custom-review.yml | 39 --
substrate/.github/stale.yml | 18 -
.../.github/workflows/auto-label-issues.yml | 17 -
.../workflows/burnin-label-notification.yml | 24 -
.../.github/workflows/check-D-labels.yml | 48 --
substrate/.github/workflows/check-labels.yml | 45 --
substrate/.github/workflows/md-link-check.yml | 19 -
substrate/.github/workflows/mlc_config.json | 7 -
substrate/.github/workflows/monthly-tag.yml | 43 --
.../.github/workflows/pr-custom-review.yml | 42 --
substrate/.github/workflows/release-bot.yml | 31 --
.../.github/workflows/release-tagging.yml | 20 -
substrate/.gitlab-ci.yml | 412 ------------------
51 files changed, 3427 deletions(-)
delete mode 100644 cumulus/.gitattributes
delete mode 100644 cumulus/.github/dependabot.yml
delete mode 100644 cumulus/.github/pr-custom-review.yml
delete mode 100644 cumulus/.github/workflows/check-D-labels.yml
delete mode 100644 cumulus/.github/workflows/check-labels.yml
delete mode 100644 cumulus/.github/workflows/docs.yml
delete mode 100644 cumulus/.github/workflows/fmt-check.yml
delete mode 100644 cumulus/.github/workflows/pr-custom-review.yml
delete mode 100644 cumulus/.github/workflows/release-01_branch-check.yml
delete mode 100644 cumulus/.github/workflows/release-10_rc-automation.yml
delete mode 100644 cumulus/.github/workflows/release-20_extrinsic-ordering-check-from-bin.yml
delete mode 100644 cumulus/.github/workflows/release-21_extrinsic-ordering-check-from-two.yml
delete mode 100644 cumulus/.github/workflows/release-30_create-draft.yml
delete mode 100644 cumulus/.github/workflows/release-99_bot-announce.yml
delete mode 100644 cumulus/.github/workflows/srtool.yml
delete mode 100644 cumulus/.gitlab-ci.yml
delete mode 100644 cumulus/scripts/ci/changelog/README.md
delete mode 100644 polkadot/.gitattributes
delete mode 100644 polkadot/.github/dependabot.yml
delete mode 100644 polkadot/.github/pr-custom-review.yml
delete mode 100644 polkadot/.github/workflows/burnin-label-notification.yml
delete mode 100644 polkadot/.github/workflows/check-D-labels.yml
delete mode 100644 polkadot/.github/workflows/check-bootnodes.yml
delete mode 100644 polkadot/.github/workflows/check-labels.yml
delete mode 100644 polkadot/.github/workflows/check-licenses.yml
delete mode 100644 polkadot/.github/workflows/check-new-bootnodes.yml
delete mode 100644 polkadot/.github/workflows/check-weights.yml
delete mode 100644 polkadot/.github/workflows/honggfuzz.yml
delete mode 100644 polkadot/.github/workflows/pr-custom-review.yml
delete mode 100644 polkadot/.github/workflows/release-01_branch-check.yml
delete mode 100644 polkadot/.github/workflows/release-10_candidate.yml
delete mode 100644 polkadot/.github/workflows/release-20_extrinsic-ordering-check-from-bin.yml
delete mode 100644 polkadot/.github/workflows/release-21_extrinsic-ordering-check-from-two.yml
delete mode 100644 polkadot/.github/workflows/release-30_publish-draft-release.yml
delete mode 100644 polkadot/.github/workflows/release-99_bot.yml
delete mode 100644 polkadot/.gitlab-ci.yml
delete mode 100644 substrate/.github/dependabot.yml
delete mode 100644 substrate/.github/pr-custom-review.yml
delete mode 100644 substrate/.github/stale.yml
delete mode 100644 substrate/.github/workflows/auto-label-issues.yml
delete mode 100644 substrate/.github/workflows/burnin-label-notification.yml
delete mode 100644 substrate/.github/workflows/check-D-labels.yml
delete mode 100644 substrate/.github/workflows/check-labels.yml
delete mode 100644 substrate/.github/workflows/md-link-check.yml
delete mode 100644 substrate/.github/workflows/mlc_config.json
delete mode 100644 substrate/.github/workflows/monthly-tag.yml
delete mode 100644 substrate/.github/workflows/pr-custom-review.yml
delete mode 100644 substrate/.github/workflows/release-bot.yml
delete mode 100644 substrate/.github/workflows/release-tagging.yml
delete mode 100644 substrate/.gitlab-ci.yml
diff --git a/cumulus/.gitattributes b/cumulus/.gitattributes
deleted file mode 100644
index 2ea1ab2d6b9c..000000000000
--- a/cumulus/.gitattributes
+++ /dev/null
@@ -1,2 +0,0 @@
-/.gitlab-ci.yml filter=ci-prettier
-/scripts/ci/gitlab/pipeline/*.yml filter=ci-prettier
diff --git a/cumulus/.github/dependabot.yml b/cumulus/.github/dependabot.yml
deleted file mode 100644
index 349a34690d4e..000000000000
--- a/cumulus/.github/dependabot.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-version: 2
-updates:
- - package-ecosystem: "cargo"
- directory: "/"
- labels: ["A2-insubstantial", "B0-silent", "C1-low"]
- # Handle updates for crates from github.com/paritytech/substrate manually.
- ignore:
- - dependency-name: "substrate-*"
- - dependency-name: "sc-*"
- - dependency-name: "sp-*"
- - dependency-name: "frame-*"
- - dependency-name: "fork-tree"
- - dependency-name: "frame-remote-externalities"
- - dependency-name: "pallet-*"
- - dependency-name: "beefy-*"
- - dependency-name: "try-runtime-*"
- - dependency-name: "test-runner"
- - dependency-name: "generate-bags"
- - dependency-name: "sub-tokens"
- - dependency-name: "polkadot-*"
- - dependency-name: "xcm*"
- - dependency-name: "kusama-*"
- - dependency-name: "westend-*"
- - dependency-name: "rococo-*"
- schedule:
- interval: "daily"
- - package-ecosystem: github-actions
- directory: '/'
- labels: ["A2-insubstantial", "B0-silent", "C1-low", "E2-dependencies"]
- schedule:
- interval: daily
diff --git a/cumulus/.github/pr-custom-review.yml b/cumulus/.github/pr-custom-review.yml
deleted file mode 100644
index fc26ee677f06..000000000000
--- a/cumulus/.github/pr-custom-review.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-# 🔒 PROTECTED: Changes to locks-review-team should be approved by the current locks-review-team
-locks-review-team: cumulus-locks-review
-team-leads-team: polkadot-review
-action-review-team: ci
-
-rules:
- - name: Runtime files
- check_type: changed_files
- condition: ^parachains/runtimes/assets/(asset-hub-kusama|asset-hub-polkadot)/src/[^/]+\.rs$|^parachains/runtimes/bridge-hubs/(bridge-hub-kusama|bridge-hub-polkadot)/src/[^/]+\.rs$|^parachains/runtimes/collectives/collectives-polkadot/src/[^/]+\.rs$|^parachains/common/src/[^/]+\.rs$
- all_distinct:
- - min_approvals: 1
- teams:
- - cumulus-locks-review
- - min_approvals: 1
- teams:
- - polkadot-review
-
- - name: Core developers
- check_type: changed_files
- condition:
- include: .*
- # excluding files from 'Runtime files' and 'CI files' rules and `Bridges subtree files`
- exclude: ^parachains/runtimes/assets/(asset-hub-kusama|asset-hub-polkadot)/src/[^/]+\.rs$|^parachains/runtimes/bridge-hubs/(bridge-hub-kusama|bridge-hub-polkadot)/src/[^/]+\.rs$|^parachains/runtimes/collectives/collectives-polkadot/src/[^/]+\.rs$|^parachains/common/src/[^/]+\.rs$|^\.gitlab-ci\.yml|^scripts/ci/.*|^\.github/.*
- min_approvals: 2
- teams:
- - core-devs
-
- # if there are any changes in the bridges subtree (in case of backport changes back to bridges repo)
- - name: Bridges subtree files
- check_type: changed_files
- condition: ^bridges/.*
- min_approvals: 1
- teams:
- - bridges-core
-
- - name: CI files
- check_type: changed_files
- condition:
- include: ^\.gitlab-ci\.yml|^scripts/ci/.*|^\.github/.*
- exclude: ^scripts/ci/gitlab/pipeline/zombienet.yml$
- min_approvals: 2
- teams:
- - ci
- - release-engineering
-
-prevent-review-request:
- teams:
- - core-devs
diff --git a/cumulus/.github/workflows/check-D-labels.yml b/cumulus/.github/workflows/check-D-labels.yml
deleted file mode 100644
index 910627209310..000000000000
--- a/cumulus/.github/workflows/check-D-labels.yml
+++ /dev/null
@@ -1,47 +0,0 @@
-name: Check D labels
-
-on:
- pull_request:
- types: [labeled, opened, synchronize, unlabeled]
- paths:
- - primitives/**
-
-jobs:
- check-labels:
- runs-on: ubuntu-latest
- steps:
- - name: Pull image
- env:
- IMAGE: paritytech/ruled_labels:0.4.0
- run: docker pull $IMAGE
-
- - name: Check labels
- env:
- IMAGE: paritytech/ruled_labels:0.4.0
- MOUNT: /work
- GITHUB_PR: ${{ github.event.pull_request.number }}
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- API_BASE: https://api.github.com/repos
- REPO: ${{ github.repository }}
- RULES_PATH: labels/ruled_labels
- CHECK_SPECS: specs_cumulus.yaml
- run: |
- echo "REPO: ${REPO}"
- echo "GITHUB_PR: ${GITHUB_PR}"
- # Clone repo with labels specs
- git clone https://github.com/paritytech/labels
- # Fetch the labels for the PR under test
- labels=$( curl -H "Authorization: token ${GITHUB_TOKEN}" -s "$API_BASE/${REPO}/pulls/${GITHUB_PR}" | jq '.labels | .[] | .name' | tr "\n" ",")
-
- if [ -z "${labels}" ]; then
- docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE check $MOUNT/$CHECK_SPECS --tags audit --no-label
- fi
-
- labels_args=${labels: :-1}
- printf "Checking labels: %s\n" "${labels_args}"
-
- # Prevent the shell from splitting labels with spaces
- IFS=","
-
- # --dev is more useful to debug mode to debug
- docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE check $MOUNT/$CHECK_SPECS --labels ${labels_args} --dev --tags audit
diff --git a/cumulus/.github/workflows/check-labels.yml b/cumulus/.github/workflows/check-labels.yml
deleted file mode 100644
index 004271d7788a..000000000000
--- a/cumulus/.github/workflows/check-labels.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-name: Check labels
-
-on:
- pull_request:
- types: [labeled, opened, synchronize, unlabeled]
-
-jobs:
- check-labels:
- runs-on: ubuntu-latest
- steps:
- - name: Pull image
- env:
- IMAGE: paritytech/ruled_labels:0.4.0
- run: docker pull $IMAGE
-
- - name: Check labels
- env:
- IMAGE: paritytech/ruled_labels:0.4.0
- MOUNT: /work
- GITHUB_PR: ${{ github.event.pull_request.number }}
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- API_BASE: https://api.github.com/repos
- REPO: ${{ github.repository }}
- RULES_PATH: labels/ruled_labels
- CHECK_SPECS: specs_cumulus.yaml
- run: |
- echo "REPO: ${REPO}"
- echo "GITHUB_PR: ${GITHUB_PR}"
- # Clone repo with labels specs
- git clone https://github.com/paritytech/labels
- # Fetch the labels for the PR under test
- labels=$( curl -H "Authorization: token ${GITHUB_TOKEN}" -s "$API_BASE/${REPO}/pulls/${GITHUB_PR}" | jq '.labels | .[] | .name' | tr "\n" ",")
-
- if [ -z "${labels}" ]; then
- docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE check $MOUNT/$CHECK_SPECS --tags audit --no-label
- fi
-
- labels_args=${labels: :-1}
- printf "Checking labels: %s\n" "${labels_args}"
-
- # Prevent the shell from splitting labels with spaces
- IFS=","
-
- # --dev is more useful to debug mode to debug
- docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE check $MOUNT/$CHECK_SPECS --labels ${labels_args} --dev --tags PR
diff --git a/cumulus/.github/workflows/docs.yml b/cumulus/.github/workflows/docs.yml
deleted file mode 100644
index 6aab3f27be6b..000000000000
--- a/cumulus/.github/workflows/docs.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-name: Publish Rust Docs
-
-on:
- push:
- branches:
- - master
-
-jobs:
- deploy-docs:
- name: Deploy docs
- runs-on: ubuntu-latest
-
- steps:
- - name: Install tooling
- run: |
- sudo apt-get install -y protobuf-compiler
- protoc --version
-
- - name: Checkout repository
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
-
- - name: Rust versions
- run: rustup show
-
- - name: Rust cache
- uses: Swatinem/rust-cache@e207df5d269b42b69c8bc5101da26f7d31feddb4 # v2.6.2
-
- - name: Build rustdocs
- run: SKIP_WASM_BUILD=1 cargo doc --all --no-deps
-
- - name: Make index.html
- run: echo "" > ./target/doc/index.html
-
- - name: Deploy documentation
- uses: peaceiris/actions-gh-pages@373f7f263a76c20808c831209c920827a82a2847 # v3.9.3
- with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- publish_branch: gh-pages
- publish_dir: ./target/doc
diff --git a/cumulus/.github/workflows/fmt-check.yml b/cumulus/.github/workflows/fmt-check.yml
deleted file mode 100644
index 7571c51116be..000000000000
--- a/cumulus/.github/workflows/fmt-check.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-name: Rustfmt check
-
-on:
- push:
- branches:
- - master
- pull_request:
- types: [opened, synchronize, reopened, ready_for_review]
-
-jobs:
- quick_check:
- strategy:
- matrix:
- os: ["ubuntu-latest"]
- runs-on: ${{ matrix.os }}
- container:
- image: paritytech/ci-linux:production
- steps:
- - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
-
- - name: Cargo fmt
- run: cargo +nightly fmt --all -- --check
diff --git a/cumulus/.github/workflows/pr-custom-review.yml b/cumulus/.github/workflows/pr-custom-review.yml
deleted file mode 100644
index 8e40c9ee7298..000000000000
--- a/cumulus/.github/workflows/pr-custom-review.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-name: Assign reviewers
-
-on:
- pull_request:
- branches:
- - master
- - main
- types:
- - opened
- - reopened
- - synchronize
- - review_requested
- - review_request_removed
- - ready_for_review
- - converted_to_draft
- pull_request_review:
-
-jobs:
- pr-custom-review:
- runs-on: ubuntu-latest
- steps:
- - name: Skip if pull request is in Draft
- # `if: github.event.pull_request.draft == true` should be kept here, at
- # the step level, rather than at the job level. The latter is not
- # recommended because when the PR is moved from "Draft" to "Ready to
- # review" the workflow will immediately be passing (since it was skipped),
- # even though it hasn't actually ran, since it takes a few seconds for
- # the workflow to start. This is also disclosed in:
- # https://github.uint.cloudmunity/t/dont-run-actions-on-draft-pull-requests/16817/17
- # That scenario would open an opportunity for the check to be bypassed:
- # 1. Get your PR approved
- # 2. Move it to Draft
- # 3. Push whatever commits you want
- # 4. Move it to "Ready for review"; now the workflow is passing (it was
- # skipped) and "Check reviews" is also passing (it won't be updated
- # until the workflow is finished)
- if: github.event.pull_request.draft == true
- run: exit 1
- - name: pr-custom-review
- uses: paritytech/pr-custom-review@action-v3
- with:
- checks-reviews-api: http://pcr.parity-prod.parity.io/api/v1/check_reviews
diff --git a/cumulus/.github/workflows/release-01_branch-check.yml b/cumulus/.github/workflows/release-01_branch-check.yml
deleted file mode 100644
index afcd4580f176..000000000000
--- a/cumulus/.github/workflows/release-01_branch-check.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-name: Release branch check
-on:
- push:
- branches:
- - release-**v[0-9]+.[0-9]+.[0-9]+ # client
- - release-**v[0-9]+ # runtimes
- - polkadot-v[0-9]+.[0-9]+.[0-9]+ # cumulus code
-
- workflow_dispatch:
-
-jobs:
- check_branch:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout sources
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- with:
- fetch-depth: 0
-
- - name: Run check
- shell: bash
- run: ./scripts/ci/github/check-rel-br
diff --git a/cumulus/.github/workflows/release-10_rc-automation.yml b/cumulus/.github/workflows/release-10_rc-automation.yml
deleted file mode 100644
index d1795faef096..000000000000
--- a/cumulus/.github/workflows/release-10_rc-automation.yml
+++ /dev/null
@@ -1,87 +0,0 @@
-name: Release - RC automation
-on:
- push:
- branches:
- - release-v[0-9]+.[0-9]+.[0-9]+
- - release-parachains-v[0-9]+
- workflow_dispatch:
-
-jobs:
- tag_rc:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- channel:
- - name: 'RelEng: Cumulus Release Coordination'
- room: '!NAEMyPAHWOiOQHsvus:parity.io'
- pre-releases: true
- steps:
- - name: Checkout sources
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- with:
- fetch-depth: 0
- - id: compute_tag
- name: Compute next rc tag
- shell: bash
- run: |
- # Get last rc tag if exists, else set it to {version}-rc1
- version=${GITHUB_REF#refs/heads/release-}
- echo "$version"
- echo "version=$version" >> $GITHUB_OUTPUT
- git tag -l
- last_rc=$(git tag -l "$version-rc*" | sort -V | tail -n 1)
- if [ -n "$last_rc" ]; then
- suffix=$(echo "$last_rc" | grep -Eo '[0-9]+$')
- echo $suffix
- ((suffix++))
- echo $suffix
- echo "new_tag=$version-rc$suffix" >> $GITHUB_OUTPUT
- echo "first_rc=false" >> $GITHUB_OUTPUT
- else
- echo "new_tag=$version-rc1" >> $GITHUB_OUTPUT
- echo "first_rc=true" >> $GITHUB_OUTPUT
- fi
-
- - name: Apply new tag
- uses: tvdias/github-tagger@ed7350546e3e503b5e942dffd65bc8751a95e49d # v0.0.2
- with:
- # We can't use the normal GITHUB_TOKEN for the following reason:
- # https://docs.github.com/en/actions/reference/events-that-trigger-workflows#triggering-new-workflows-using-a-personal-access-token
- # RELEASE_BRANCH_TOKEN requires public_repo OAuth scope
- repo-token: "${{ secrets.RELEASE_BRANCH_TOKEN }}"
- tag: ${{ steps.compute_tag.outputs.new_tag }}
-
- - id: create-issue-checklist-client
- uses: JasonEtco/create-an-issue@e27dddc79c92bc6e4562f268fffa5ed752639abd # v2.9.1
- # Only create the issue if it's the first release candidate
- if: steps.compute_tag.outputs.first_rc == 'true'
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- VERSION: ${{ steps.compute_tag.outputs.version }}
- with:
- assignees: EgorPopelyaev, coderobe, chevdor
- filename: .github/ISSUE_TEMPLATE/release-client.md
-
- - id: create-issue-checklist-runtime
- uses: JasonEtco/create-an-issue@e27dddc79c92bc6e4562f268fffa5ed752639abd # v2.9.1
- # Only create the issue if it's the first release candidate
- if: steps.compute_tag.outputs.first_rc == 'true'
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- VERSION: ${{ steps.compute_tag.outputs.version }}
- with:
- assignees: EgorPopelyaev, coderobe, chevdor
- filename: .github/ISSUE_TEMPLATE/release-runtime.md
-
- - name: Matrix notification to ${{ matrix.channel.name }}
- uses: s3krit/matrix-message-action@70ad3fb812ee0e45ff8999d6af11cafad11a6ecf # v0.0.3
- if: steps.create-issue-checklist-client.outputs.url != '' && steps.create-issue-checklist-runtime.outputs.url != ''
- with:
- room_id: ${{ matrix.channel.room }}
- access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }}
- server: "m.parity.io"
- message: |
- The Release Process for Cumulus ${{ steps.compute_tag.outputs.version }} has been started.
- Tracking issues:
- - client: ${{ steps.create-issue-checklist-client.outputs.url }}"
- - runtime: ${{ steps.create-issue-checklist-runtime.outputs.url }}"
diff --git a/cumulus/.github/workflows/release-20_extrinsic-ordering-check-from-bin.yml b/cumulus/.github/workflows/release-20_extrinsic-ordering-check-from-bin.yml
deleted file mode 100644
index d902e57ac9e7..000000000000
--- a/cumulus/.github/workflows/release-20_extrinsic-ordering-check-from-bin.yml
+++ /dev/null
@@ -1,86 +0,0 @@
-# This workflow performs the Extrinsic Ordering Check on demand using a binary
-
-name: Release - Extrinsic Ordering Check from Binary
-on:
- workflow_dispatch:
- inputs:
- reference_url:
- description: The WebSocket url of the reference node
- default: wss://kusama-asset-hub-rpc.polkadot.io
- required: true
- binary_url:
- description: A url to a Linux binary for the node containing the runtime to test
- default: https://releases.parity.io/cumulus/polkadot-v0.9.21/polkadot-parachain
- required: true
- chain:
- description: The name of the chain under test. Usually, you would pass a local chain
- default: asset-hub-kusama-local
- required: true
-
-jobs:
- check:
- name: Run check
- runs-on: ubuntu-latest
- env:
- CHAIN: ${{github.event.inputs.chain}}
- BIN: node-bin
- BIN_PATH: ./tmp/$BIN
- BIN_URL: ${{github.event.inputs.binary_url}}
- REF_URL: ${{github.event.inputs.reference_url}}
-
- steps:
- - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
-
- - name: Fetch binary
- run: |
- echo Creating a temp dir to download and run binary
- mkdir -p tmp
- echo Fetching $BIN_URL
- wget $BIN_URL -O $BIN_PATH
- chmod a+x $BIN_PATH
- $BIN_PATH --version
-
- - name: Start local node
- run: |
- echo Running on $CHAIN
- $BIN_PATH --chain=$CHAIN -- --chain polkadot-local &
-
- - name: Prepare output
- run: |
- VERSION=$($BIN_PATH --version)
- echo "Metadata comparison:" >> output.txt
- echo "Date: $(date)" >> output.txt
- echo "Reference: $REF_URL" >> output.txt
- echo "Target version: $VERSION" >> output.txt
- echo "Chain: $CHAIN" >> output.txt
- echo "----------------------------------------------------------------------" >> output.txt
-
- - name: Pull polkadot-js-tools image
- run: docker pull jacogr/polkadot-js-tools
-
- - name: Compare the metadata
- run: |
- CMD="docker run --pull always --network host jacogr/polkadot-js-tools metadata $REF_URL ws://localhost:9944"
- echo -e "Running:\n$CMD"
- $CMD >> output.txt
- sed -z -i 's/\n\n/\n/g' output.txt
- cat output.txt | egrep -n -i ''
- SUMMARY=$(./scripts/ci/github/extrinsic-ordering-filter.sh output.txt)
- echo -e $SUMMARY
- echo -e $SUMMARY >> output.txt
-
- - name: Show result
- run: |
- cat output.txt
-
- - name: Stop our local node
- run: |
- pkill $BIN
- continue-on-error: true
-
- - name: Save output as artifact
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
- with:
- name: ${{ env.CHAIN }}
- path: |
- output.txt
diff --git a/cumulus/.github/workflows/release-21_extrinsic-ordering-check-from-two.yml b/cumulus/.github/workflows/release-21_extrinsic-ordering-check-from-two.yml
deleted file mode 100644
index 93c0050ff6f2..000000000000
--- a/cumulus/.github/workflows/release-21_extrinsic-ordering-check-from-two.yml
+++ /dev/null
@@ -1,120 +0,0 @@
-# This workflow performs the Extrinsic Ordering Check on demand using two reference binaries
-
-name: Release - Extrinsic API Check with reference bins
-on:
- workflow_dispatch:
- inputs:
- reference_binary_url:
- description: A url to a Linux binary for the node containing the reference runtime to test against
- default: https://releases.parity.io/cumulus/v0.9.230/polkadot-parachain
- required: true
- binary_url:
- description: A url to a Linux binary for the node containing the runtime to test
- default: https://releases.parity.io/cumulus/v0.9.270-rc7/polkadot-parachain
- required: true
-
-jobs:
- check:
- name: Run check
- runs-on: ubuntu-latest
- timeout-minutes: 10
- env:
- REF_URL: ${{github.event.inputs.reference_binary_url}}
- BIN_REF: polkadot-parachain-ref
- BIN_URL: ${{github.event.inputs.binary_url}}
- BIN_BASE: polkadot-parachain
- TMP: ./tmp
- strategy:
- fail-fast: false
- matrix:
- include:
- - runtime: asset-hub-kusama
- local: asset-hub-kusama-local
- relay: kusama-local
- - runtime: asset-hub-polkadot
- local: asset-hub-polkadot-local
- relay: polkadot-local
- - runtime: asset-hub-westend
- local: asset-hub-westend-local
- relay: polkadot-local
- - runtime: contracts-rococo
- local: contracts-rococo-local
- relay: polkadot-local
-
- steps:
- - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
-
- - name: Create tmp dir
- run: |
- mkdir -p $TMP
- pwd
-
- - name: Fetch reference binary for ${{ matrix.runtime }}
- run: |
- echo Fetching $REF_URL
- curl $REF_URL -o $TMP/$BIN_REF
- chmod a+x $TMP/$BIN_REF
- $TMP/$BIN_REF --version
-
- - name: Fetch test binary for ${{ matrix.runtime }}
- run: |
- echo Fetching $BIN_URL
- curl $BIN_URL -o $TMP/$BIN_BASE
- chmod a+x $TMP/$BIN_BASE
- $TMP/$BIN_BASE --version
-
- - name: Start local reference node for ${{ matrix.runtime }}
- run: |
- echo Running reference on ${{ matrix.local }}
- $TMP/$BIN_REF --chain=${{ matrix.local }} --ws-port=9954 --tmp -- --chain ${{ matrix.relay }} &
- sleep 15
-
- - name: Start local test node for ${{ matrix.runtime }}
- run: |
- echo Running test on ${{ matrix.local }}
- $TMP/$BIN_BASE --chain=${{ matrix.local }} --ws-port=9944 --tmp -- --chain ${{ matrix.relay }} &
- sleep 15
-
- - name: Prepare output
- run: |
- REF_VERSION=$($TMP/$BIN_REF --version)
- BIN_VERSION=$($TMP/$BIN_BASE --version)
- echo "Metadata comparison:" >> output.txt
- echo "Date: $(date)" >> output.txt
- echo "Ref. binary: $REF_URL" >> output.txt
- echo "Test binary: $BIN_URL" >> output.txt
- echo "Ref. version: $REF_VERSION" >> output.txt
- echo "Test version: $BIN_VERSION" >> output.txt
- echo "Chain: ${{ matrix.local }}" >> output.txt
- echo "Relay: ${{ matrix.relay }}" >> output.txt
- echo "----------------------------------------------------------------------" >> output.txt
-
- - name: Pull polkadot-js-tools image
- run: docker pull jacogr/polkadot-js-tools
-
- - name: Compare the metadata
- run: |
- CMD="docker run --pull always --network host jacogr/polkadot-js-tools metadata ws://localhost:9954 ws://localhost:9944"
- echo -e "Running:\n$CMD"
- $CMD >> output.txt
- sed -z -i 's/\n\n/\n/g' output.txt
- cat output.txt | egrep -n -i ''
- SUMMARY=$(./scripts/ci/github/extrinsic-ordering-filter.sh output.txt)
- echo -e $SUMMARY
- echo -e $SUMMARY >> output.txt
-
- - name: Show result
- run: |
- cat output.txt
-
- - name: Save output as artifact
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
- with:
- name: ${{ matrix.runtime }}
- path: |
- output.txt
-
- - name: Stop our local nodes
- run: |
- pkill $BIN_REF || true
- pkill $BIN_BASE || true
diff --git a/cumulus/.github/workflows/release-30_create-draft.yml b/cumulus/.github/workflows/release-30_create-draft.yml
deleted file mode 100644
index 2d11dfe18cec..000000000000
--- a/cumulus/.github/workflows/release-30_create-draft.yml
+++ /dev/null
@@ -1,311 +0,0 @@
-name: Release - Create draft
-
-on:
- workflow_dispatch:
- inputs:
- ref1:
- description: The 'from' tag to use for the diff
- default: parachains-v9.0.0
- required: true
- ref2:
- description: The 'to' tag to use for the diff
- default: release-parachains-v10.0.0
- required: true
- release_type:
- description: Pass "client" for client releases, leave empty otherwise
- required: false
- pre_release:
- description: For pre-releases
- default: "true"
- required: true
- notification:
- description: Whether or not to notify over Matrix
- default: "true"
- required: true
-
-jobs:
- get-rust-versions:
- runs-on: ubuntu-latest
- container:
- image: paritytech/ci-linux:production
- outputs:
- rustc-stable: ${{ steps.get-rust-versions.outputs.stable }}
- rustc-nightly: ${{ steps.get-rust-versions.outputs.nightly }}
- steps:
- - id: get-rust-versions
- run: |
- echo "stable=$(rustc +stable --version)" >> $GITHUB_OUTPUT
- echo "nightly=$(rustc +nightly --version)" >> $GITHUB_OUTPUT
-
- # We do not skip the entire job for client builds (although we don't need it)
- # because it is a dep of the next job. However we skip the time consuming steps.
- build-runtimes:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- include:
- - category: assets
- runtime: asset-hub-kusama
- - category: assets
- runtime: asset-hub-polkadot
- - category: assets
- runtime: asset-hub-westend
- - category: bridge-hubs
- runtime: bridge-hub-polkadot
- - category: bridge-hubs
- runtime: bridge-hub-kusama
- - category: bridge-hubs
- runtime: bridge-hub-rococo
- - category: collectives
- runtime: collectives-polkadot
- - category: contracts
- runtime: contracts-rococo
- - category: starters
- runtime: seedling
- - category: starters
- runtime: shell
- - category: testing
- runtime: rococo-parachain
- steps:
- - name: Checkout sources
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- with:
- ref: ${{ github.event.inputs.ref2 }}
-
- - name: Cache target dir
- if: ${{ github.event.inputs.release_type != 'client' }}
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
- with:
- path: "${{ github.workspace }}/runtime/${{ matrix.runtime }}/target"
- key: srtool-target-${{ matrix.runtime }}-${{ github.sha }}
- restore-keys: |
- srtool-target-${{ matrix.runtime }}-
- srtool-target-
-
- - name: Build ${{ matrix.runtime }} runtime
- if: ${{ github.event.inputs.release_type != 'client' }}
- id: srtool_build
- uses: chevdor/srtool-actions@v0.7.0
- with:
- image: paritytech/srtool
- chain: ${{ matrix.runtime }}
- runtime_dir: parachains/runtimes/${{ matrix.category }}/${{ matrix.runtime }}
-
- - name: Store srtool digest to disk
- if: ${{ github.event.inputs.release_type != 'client' }}
- run: |
- echo '${{ steps.srtool_build.outputs.json }}' | \
- jq > ${{ matrix.runtime }}-srtool-digest.json
-
- - name: Upload ${{ matrix.runtime }} srtool json
- if: ${{ github.event.inputs.release_type != 'client' }}
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
- with:
- name: ${{ matrix.runtime }}-srtool-json
- path: ${{ matrix.runtime }}-srtool-digest.json
-
- - name: Upload ${{ matrix.runtime }} runtime
- if: ${{ github.event.inputs.release_type != 'client' }}
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
- with:
- name: ${{ matrix.runtime }}-runtime
- path: |
- ${{ steps.srtool_build.outputs.wasm_compressed }}
-
- publish-draft-release:
- runs-on: ubuntu-latest
- needs: ["get-rust-versions", "build-runtimes"]
- outputs:
- release_url: ${{ steps.create-release.outputs.html_url }}
- asset_upload_url: ${{ steps.create-release.outputs.upload_url }}
- steps:
- - name: Checkout sources
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- with:
- fetch-depth: 0
- path: cumulus
- ref: ${{ github.event.inputs.ref2 }}
-
- - uses: ruby/setup-ruby@250fcd6a742febb1123a77a841497ccaa8b9e939 # v1.152.0
- with:
- ruby-version: 3.0.0
-
- - name: Download srtool json output
- uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2
-
- - name: Prepare tooling
- run: |
- cd cumulus/scripts/ci/changelog
- gem install bundler changelogerator:0.9.1
- bundle install
- changelogerator --help
-
- URL=https://github.com/chevdor/tera-cli/releases/download/v0.2.1/tera-cli_linux_amd64.deb
- wget $URL -O tera.deb
- sudo dpkg -i tera.deb
- tera --version
-
- - name: Generate release notes
- env:
- RUSTC_STABLE: ${{ needs.get-rust-versions.outputs.rustc-stable }}
- RUSTC_NIGHTLY: ${{ needs.get-rust-versions.outputs.rustc-nightly }}
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- NO_CACHE: 1
- DEBUG: 1
- SHELL_DIGEST: ${{ github.workspace}}/shell-srtool-json/shell-srtool-digest.json
- ASSET_HUB_WESTEND_DIGEST: ${{ github.workspace}}/asset-hub-westend-srtool-json/asset-hub-westend-srtool-digest.json
- ASSET_HUB_KUSAMA_DIGEST: ${{ github.workspace}}/asset-hub-kusama-srtool-json/asset-hub-kusama-srtool-digest.json
- ASSET_HUB_POLKADOT_DIGEST: ${{ github.workspace}}/asset-hub-polkadot-srtool-json/asset-hub-polkadot-srtool-digest.json
- BRIDGE_HUB_ROCOCO_DIGEST: ${{ github.workspace}}/bridge-hub-rococo-srtool-json/bridge-hub-rococo-srtool-digest.json
- BRIDGE_HUB_KUSAMA_DIGEST: ${{ github.workspace}}/bridge-hub-kusama-srtool-json/bridge-hub-kusama-srtool-digest.json
- BRIDGE_HUB_POLKADOT_DIGEST: ${{ github.workspace}}/bridge-hub-polkadot-srtool-json/bridge-hub-polkadot-srtool-digest.json
- COLLECTIVES_POLKADOT_DIGEST: ${{ github.workspace}}/collectives-polkadot-srtool-json/collectives-polkadot-srtool-digest.json
- ROCOCO_PARA_DIGEST: ${{ github.workspace}}/rococo-parachain-srtool-json/rococo-parachain-srtool-digest.json
- CANVAS_KUSAMA_DIGEST: ${{ github.workspace}}/contracts-rococo-srtool-json/contracts-rococo-srtool-digest.json
- REF1: ${{ github.event.inputs.ref1 }}
- REF2: ${{ github.event.inputs.ref2 }}
- PRE_RELEASE: ${{ github.event.inputs.pre_release }}
- RELEASE_TYPE: ${{ github.event.inputs.release_type }}
- run: |
- find ${{env.GITHUB_WORKSPACE}} -type f -name "*-srtool-digest.json"
-
- if [ "$RELEASE_TYPE" != "client" ]; then
- ls -al $SHELL_DIGEST || true
- ls -al $ASSET_HUB_WESTEND_DIGEST || true
- ls -al $ASSET_HUB_KUSAMA_DIGEST || true
- ls -al $ASSET_HUB_POLKADOT_DIGEST || true
- ls -al $BRIDGE_HUB_ROCOCO_DIGEST || true
- ls -al $BRIDGE_HUB_KUSAMA_DIGEST || true
- ls -al $BRIDGE_HUB_POLKADOT_DIGEST || true
- ls -al $COLLECTIVES_POLKADOT_DIGEST || true
- ls -al $ROCOCO_PARA_DIGEST || true
- ls -al $CANVAS_KUSAMA_DIGEST || true
- fi
-
- echo "The diff will be computed from $REF1 to $REF2"
- cd cumulus/scripts/ci/changelog
- ./bin/changelog $REF1 $REF2 release-notes.md
- ls -al {release-notes.md,context.json} || true
-
- - name: Archive srtool json
- if: ${{ github.event.inputs.release_type != 'client' }}
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
- with:
- name: srtool-json
- path: |
- **/*-srtool-digest.json
-
- - name: Archive context artifact
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
- with:
- name: release-notes-context
- path: |
- cumulus/scripts/ci/changelog/context.json
-
- - name: Create draft release
- id: create-release
- uses: actions/create-release@0cb9c9b65d5d1901c1f53e5e66eaf4afd303e70e # v1.1.4
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- body_path: ./cumulus/scripts/ci/changelog/release-notes.md
- tag_name: ${{ github.event.inputs.ref2 }}
- release_name: ${{ github.event.inputs.ref2 }}
- draft: true
-
- publish-runtimes:
- if: ${{ github.event.inputs.release_type != 'client' }}
- runs-on: ubuntu-latest
- needs: ["publish-draft-release"]
- env:
- RUNTIME_DIR: parachains/runtimes
- strategy:
- matrix:
- include:
- - category: assets
- runtime: asset-hub-kusama
- - category: assets
- runtime: asset-hub-polkadot
- - category: assets
- runtime: asset-hub-westend
- - category: bridge-hubs
- runtime: bridge-hub-polkadot
- - category: bridge-hubs
- runtime: bridge-hub-kusama
- - category: bridge-hubs
- runtime: bridge-hub-rococo
- - category: collectives
- runtime: collectives-polkadot
- - category: contracts
- runtime: contracts-rococo
- - category: starters
- runtime: seedling
- - category: starters
- runtime: shell
- - category: testing
- runtime: rococo-parachain
- steps:
- - name: Checkout sources
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- with:
- ref: ${{ github.event.inputs.ref2 }}
-
- - name: Download artifacts
- uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2
-
- - uses: ruby/setup-ruby@250fcd6a742febb1123a77a841497ccaa8b9e939 # v1.152.0
- with:
- ruby-version: 3.0.0
-
- - name: Get runtime version for ${{ matrix.runtime }}
- id: get-runtime-ver
- run: |
- echo "require './scripts/ci/github/runtime-version.rb'" > script.rb
- echo "puts get_runtime(runtime: \"${{ matrix.runtime }}\", runtime_dir: \"$RUNTIME_DIR/${{ matrix.category }}\")" >> script.rb
-
- echo "Current folder: $PWD"
- ls "$RUNTIME_DIR/${{ matrix.category }}/${{ matrix.runtime }}"
- runtime_ver=$(ruby script.rb)
- echo "Found version: >$runtime_ver<"
- echo "runtime_ver=$runtime_ver" >> $GITHUB_OUTPUT
-
- - name: Fix runtime name
- id: fix-runtime-path
- run: |
- cd "${{ matrix.runtime }}-runtime/"
- mv "$(sed -E 's/- */_/g' <<< ${{ matrix.runtime }})_runtime.compact.compressed.wasm" "${{ matrix.runtime }}_runtime.compact.compressed.wasm" || true
-
- - name: Upload compressed ${{ matrix.runtime }} wasm
- uses: actions/upload-release-asset@e8f9f06c4b078e705bd2ea027f0926603fc9b4d5 # v1.0.2
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ needs.publish-draft-release.outputs.asset_upload_url }}
- asset_path: "${{ matrix.runtime }}-runtime/${{ matrix.runtime }}_runtime.compact.compressed.wasm"
- asset_name: ${{ matrix.runtime }}_runtime-v${{ steps.get-runtime-ver.outputs.runtime_ver }}.compact.compressed.wasm
- asset_content_type: application/wasm
-
- post_to_matrix:
- if: ${{ github.event.inputs.notification == 'true' }}
- runs-on: ubuntu-latest
- needs: publish-draft-release
- strategy:
- matrix:
- channel:
- - name: 'RelEng: Cumulus Release Coordination'
- room: '!NAEMyPAHWOiOQHsvus:parity.io'
- pre-releases: true
- steps:
- - name: Matrix notification to ${{ matrix.channel.name }}
- uses: s3krit/matrix-message-action@70ad3fb812ee0e45ff8999d6af11cafad11a6ecf # v0.0.3
- with:
- room_id: ${{ matrix.channel.room }}
- access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }}
- server: "m.parity.io"
- message: |
- **New draft for ${{ github.repository }}**: ${{ github.event.inputs.ref2 }}
-
- Draft release created: [draft](${{ needs.publish-draft-release.outputs.release_url }})
-
- NOTE: The link above will no longer be valid if the draft is edited. You can then use the following link:
- [${{ github.server_url }}/${{ github.repository }}/releases](${{ github.server_url }}/${{ github.repository }}/releases)
diff --git a/cumulus/.github/workflows/release-99_bot-announce.yml b/cumulus/.github/workflows/release-99_bot-announce.yml
deleted file mode 100644
index 5c2604924c4c..000000000000
--- a/cumulus/.github/workflows/release-99_bot-announce.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-name: Release - Pushes release notes to a Matrix room
-on:
- release:
- types:
- - published
-
-jobs:
- ping_matrix:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- channel:
- - name: 'RelEng: Cumulus Release Coordination'
- room: '!NAEMyPAHWOiOQHsvus:parity.io'
- pre-releases: true
- - name: 'Ledger <> Polkadot Coordination'
- room: '!EoIhaKfGPmFOBrNSHT:web3.foundation'
- pre-release: true
- - name: 'General: Rust, Polkadot, Substrate'
- room: '!aJymqQYtCjjqImFLSb:parity.io'
- pre-release: false
- - name: 'Team: DevOps'
- room: '!lUslSijLMgNcEKcAiE:parity.io'
- pre-release: true
-
- steps:
- - name: Matrix notification to ${{ matrix.channel.name }}
- uses: s3krit/matrix-message-action@70ad3fb812ee0e45ff8999d6af11cafad11a6ecf # v0.0.3
- with:
- room_id: ${{ matrix.channel.room }}
- access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }}
- server: "m.parity.io"
- message: |
- A (pre)release has been ${{github.event.action}} in **${{github.event.repository.full_name}}:**
- Release version: [${{github.event.release.tag_name}}](${{github.event.release.html_url}})
-
- -----
-
- ${{github.event.release.body}}
diff --git a/cumulus/.github/workflows/srtool.yml b/cumulus/.github/workflows/srtool.yml
deleted file mode 100644
index ae473b481370..000000000000
--- a/cumulus/.github/workflows/srtool.yml
+++ /dev/null
@@ -1,122 +0,0 @@
-name: Srtool build
-
-env:
- SUBWASM_VERSION: 0.20.0
-
-on:
- push:
- tags:
- - "*"
-
- # paths-ignore:
- # - "docker"
- # - "docs"
- # - "scripts"
- # - "test"
- # - "client"
- paths:
- - parachains/runtimes/**/*
-
- branches:
- - "release*"
-
- schedule:
- - cron: "00 02 * * 1" # 2AM weekly on monday
-
- workflow_dispatch:
-
-jobs:
- srtool:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- include:
- - category: assets
- runtime: asset-hub-kusama
- - category: assets
- runtime: asset-hub-polkadot
- - category: assets
- runtime: asset-hub-westend
- - category: bridge-hubs
- runtime: bridge-hub-polkadot
- - category: bridge-hubs
- runtime: bridge-hub-kusama
- - category: bridge-hubs
- runtime: bridge-hub-rococo
- - category: collectives
- runtime: collectives-polkadot
- - category: contracts
- runtime: contracts-rococo
- - category: starters
- runtime: seedling
- - category: starters
- runtime: shell
- - category: testing
- runtime: rococo-parachain
- steps:
- - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- with:
- fetch-depth: 0
-
- - name: Srtool build
- id: srtool_build
- uses: chevdor/srtool-actions@v0.7.0
- with:
- chain: ${{ matrix.runtime }}
- runtime_dir: parachains/runtimes/${{ matrix.category }}/${{ matrix.runtime }}
-
- - name: Summary
- run: |
- echo '${{ steps.srtool_build.outputs.json }}' | jq > ${{ matrix.runtime }}-srtool-digest.json
- cat ${{ matrix.runtime }}-srtool-digest.json
- echo "Compact Runtime: ${{ steps.srtool_build.outputs.wasm }}"
- echo "Compressed Runtime: ${{ steps.srtool_build.outputs.wasm_compressed }}"
-
- # it takes a while to build the runtime, so let's save the artifact as soon as we have it
- - name: Archive Artifacts for ${{ matrix.runtime }}
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
- with:
- name: ${{ matrix.runtime }}-runtime
- path: |
- ${{ steps.srtool_build.outputs.wasm }}
- ${{ steps.srtool_build.outputs.wasm_compressed }}
- ${{ matrix.runtime }}-srtool-digest.json
-
- # We now get extra information thanks to subwasm
- - name: Install subwasm
- run: |
- wget https://github.com/chevdor/subwasm/releases/download/v${{ env.SUBWASM_VERSION }}/subwasm_linux_amd64_v${{ env.SUBWASM_VERSION }}.deb
- sudo dpkg -i subwasm_linux_amd64_v${{ env.SUBWASM_VERSION }}.deb
- subwasm --version
-
- - name: Show Runtime information
- shell: bash
- run: |
- subwasm info ${{ steps.srtool_build.outputs.wasm }}
- subwasm info ${{ steps.srtool_build.outputs.wasm_compressed }}
- subwasm --json info ${{ steps.srtool_build.outputs.wasm }} > ${{ matrix.runtime }}-info.json
- subwasm --json info ${{ steps.srtool_build.outputs.wasm_compressed }} > ${{ matrix.runtime }}-compressed-info.json
-
- - name: Extract the metadata
- shell: bash
- run: |
- subwasm meta ${{ steps.srtool_build.outputs.wasm }}
- subwasm --json meta ${{ steps.srtool_build.outputs.wasm }} > ${{ matrix.runtime }}-metadata.json
-
- - name: Check the metadata diff
- shell: bash
- # the following subwasm call will error for chains that are not known and/or live, that includes shell for instance
- run: |
- subwasm diff ${{ steps.srtool_build.outputs.wasm }} --chain-b ${{ matrix.runtime }} || \
- echo "Subwasm call failed, check the logs. This is likely because ${{ matrix.runtime }} is not known by subwasm" | \
- tee ${{ matrix.runtime }}-diff.txt
-
- - name: Archive Subwasm results
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
- with:
- name: ${{ matrix.runtime }}-runtime
- path: |
- ${{ matrix.runtime }}-info.json
- ${{ matrix.runtime }}-compressed-info.json
- ${{ matrix.runtime }}-metadata.json
- ${{ matrix.runtime }}-diff.txt
diff --git a/cumulus/.gitlab-ci.yml b/cumulus/.gitlab-ci.yml
deleted file mode 100644
index f032901c6f47..000000000000
--- a/cumulus/.gitlab-ci.yml
+++ /dev/null
@@ -1,201 +0,0 @@
-# .gitlab-ci.yml
-#
-# cumulus
-#
-# pipelines can be triggered manually in the web
-
-stages:
- - test
- - build
- # used for manual job run for regenerate weights for release-* branches (not needed anymore, just leave it here for a while as PlanB)
- - benchmarks-build
- # used for manual job run for regenerate weights for release-* branches (not needed anymore, just leave it here for a while as PlanB)
- - benchmarks-run
- - publish
- - integration-tests
- - zombienet
- - short-benchmarks
-
-default:
- interruptible: true
- retry:
- max: 2
- when:
- - runner_system_failure
- - unknown_failure
- - api_failure
-
-variables:
- GIT_STRATEGY: fetch
- GIT_DEPTH: 100
- CARGO_INCREMENTAL: 0
- CI_IMAGE: !reference [.ci-unified, variables, CI_IMAGE]
- DOCKER_OS: "debian:stretch"
- ARCH: "x86_64"
- ZOMBIENET_IMAGE: "docker.io/paritytech/zombienet:v1.3.55"
- BUILDAH_IMAGE: "quay.io/buildah/stable:v1.29"
- BUILDAH_COMMAND: "buildah --storage-driver overlay2"
-
-.common-before-script:
- before_script:
- - !reference [.job-switcher, before_script]
- - !reference [.timestamp, before_script]
-
-.collect-artifacts:
- artifacts:
- name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
- when: on_success
- expire_in: 1 days
- paths:
- - ./artifacts/
-
-# collecting vars for pipeline stopper
-# they will be used if the job fails
-.pipeline-stopper-vars:
- before_script:
- - echo "FAILED_JOB_URL=${CI_JOB_URL}" > pipeline-stopper.env
- - echo "FAILED_JOB_NAME=${CI_JOB_NAME}" >> pipeline-stopper.env
- - echo "FAILED_JOB_NAME=${CI_JOB_NAME}" >> pipeline-stopper.env
- - echo "PR_NUM=${CI_COMMIT_REF_NAME}" >> pipeline-stopper.env
-
-.pipeline-stopper-artifacts:
- artifacts:
- reports:
- dotenv: pipeline-stopper.env
-
-.common-refs:
- # these jobs run always*
- rules:
- - if: $CI_PIPELINE_SOURCE == "schedule"
- - if: $CI_COMMIT_REF_NAME == "master"
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
- - if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
- - if: $CI_COMMIT_REF_NAME =~ /^release-parachains-v[0-9].*$/ # i.e. release-parachains-v1.0, release-parachains-v2.1rc1, release-parachains-v3000
- - if: $CI_COMMIT_REF_NAME =~ /^polkadot-v[0-9]+\.[0-9]+.*$/ # i.e. polkadot-v1.0.99, polkadot-v2.1rc1
-
-.pr-refs:
- # these jobs run always*
- rules:
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
-
-.publish-refs:
- rules:
- - if: $CI_COMMIT_REF_NAME == "master"
- - if: $CI_PIPELINE_SOURCE == "schedule"
- - if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
-
-# run benchmarks manually only on release-parachains-v* branch
-.benchmarks-manual-refs:
- rules:
- - if: $CI_COMMIT_REF_NAME =~ /^release-parachains-v[0-9].*$/ # i.e. release-parachains-v1.0, release-parachains-v2.1rc1, release-parachains-v3000
- when: manual
-
-# run benchmarks only on release-parachains-v* branch
-.benchmarks-refs:
- rules:
- - if: $CI_COMMIT_REF_NAME =~ /^release-parachains-v[0-9].*$/ # i.e. release-parachains-v1.0, release-parachains-v2.1rc1, release-parachains-v3000
-
-.zombienet-refs:
- rules:
- - if: $CI_PIPELINE_SOURCE == "pipeline"
- when: never
- - if: $CI_PIPELINE_SOURCE == "schedule"
- when: never
- - if: $CI_COMMIT_REF_NAME == "master"
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
-
-.job-switcher:
- before_script:
- - if echo "$CI_DISABLED_JOBS" | grep -xF "$CI_JOB_NAME"; then echo "The job has been cancelled in CI settings"; exit 0; fi
-
-.docker-env:
- image: "${CI_IMAGE}"
- before_script:
- - !reference [.common-before-script, before_script]
- - rustup show
- - cargo --version
- - bash --version
- tags:
- - linux-docker-vm-c2
-
-.kubernetes-env:
- image: "${CI_IMAGE}"
- before_script:
- - !reference [.common-before-script, before_script]
- tags:
- - kubernetes-parity-build
-
-.git-commit-push:
- script:
- - git status
- # Set git config
- - rm -rf .git/config
- - git config --global user.email "${GITHUB_EMAIL}"
- - git config --global user.name "${GITHUB_USER}"
- - git config remote.origin.url "https://${GITHUB_USER}:${GITHUB_TOKEN}@github.com/paritytech/${CI_PROJECT_NAME}.git"
- - git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
- # push results to github
- - git checkout -b $BRANCHNAME
- - git add parachains/*
- - git commit -m "[benchmarks] pr with weights"
- - git push origin $BRANCHNAME
-
-include:
- # test jobs
- - scripts/ci/gitlab/pipeline/test.yml
- # # build jobs
- - scripts/ci/gitlab/pipeline/build.yml
- # short-benchmarks jobs
- - scripts/ci/gitlab/pipeline/short-benchmarks.yml
- # # benchmarks jobs
- # # used for manual job run for regenerate weights for release-* branches (not needed anymore, just leave it here for a while as PlanB)
- - scripts/ci/gitlab/pipeline/benchmarks.yml
- # # publish jobs
- - scripts/ci/gitlab/pipeline/publish.yml
- # zombienet jobs
- - scripts/ci/gitlab/pipeline/zombienet.yml
- # timestamp handler
- - project: parity/infrastructure/ci_cd/shared
- ref: main
- file: /common/timestamp.yml
- - project: parity/infrastructure/ci_cd/shared
- ref: main
- file: /common/ci-unified.yml
-
-
-#### stage: .post
-
-# This job cancels the whole pipeline if any of provided jobs fail.
-# In a DAG, every jobs chain is executed independently of others. The `fail_fast` principle suggests
-# to fail the pipeline as soon as possible to shorten the feedback loop.
-cancel-pipeline:
- stage: .post
- needs:
- - job: test-linux-stable
- rules:
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
- when: on_failure
- variables:
- PROJECT_ID: "${CI_PROJECT_ID}"
- PROJECT_NAME: "${CI_PROJECT_NAME}"
- PIPELINE_ID: "${CI_PIPELINE_ID}"
- FAILED_JOB_URL: "${FAILED_JOB_URL}"
- FAILED_JOB_NAME: "${FAILED_JOB_NAME}"
- PR_NUM: "${PR_NUM}"
- trigger:
- project: "parity/infrastructure/ci_cd/pipeline-stopper"
- branch: "as-improve"
-
-remove-cancel-pipeline-message:
- stage: .post
- rules:
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
- variables:
- PROJECT_ID: "${CI_PROJECT_ID}"
- PROJECT_NAME: "${CI_PROJECT_NAME}"
- PIPELINE_ID: "${CI_PIPELINE_ID}"
- FAILED_JOB_URL: "https://gitlab.com"
- FAILED_JOB_NAME: "nope"
- PR_NUM: "${CI_COMMIT_REF_NAME}"
- trigger:
- project: "parity/infrastructure/ci_cd/pipeline-stopper"
diff --git a/cumulus/scripts/ci/changelog/README.md b/cumulus/scripts/ci/changelog/README.md
deleted file mode 100644
index 5c8ee9c9b914..000000000000
--- a/cumulus/scripts/ci/changelog/README.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# Changelog
-
-Currently, the changelog is built locally. It will be moved to CI once labels stabilize.
-
-For now, a bit of preparation is required before you can run the script:
-- fetch the srtool digests
-- store them under the `digests` folder as `-srtool-digest.json`
-- ensure the `.env` file is up to date with correct information
-
-The content of the release notes is generated from the template files under the `scripts/ci/changelog/templates` folder.
-For readability and maintenance, the template is split into several small snippets.
-
-Run:
-```
-./bin/changelog [=HEAD]
-```
-
-For instance:
-```
-./bin/changelog parachains-v7.0.0-rc8
-```
-
-A file called `release-notes.md` will be generated and can be used for the release.
-
-## ENV
-
-You may use the following ENV for testing:
-
-```
-RUSTC_STABLE="rustc 1.56.1 (59eed8a2a 2021-11-01)"
-RUSTC_NIGHTLY="rustc 1.57.0-nightly (51e514c0f 2021-09-12)"
-PRE_RELEASE=true
-HIDE_SRTOOL_ROCOCO=true
-HIDE_SRTOOL_SHELL=true
-REF1=statemine-v5.0.0
-REF2=HEAD
-DEBUG=1
-NO_CACHE=1
-```
-
-By default, the template will include all the information, including the runtime data. For clients releases, we don't
-need those and they can be skipped by setting the following env:
-```
-RELEASE_TYPE=client
-```
-
-## Considered labels
-
-The following list will likely evolve over time and it will be hard to keep it in sync. In any case, if you want to find
-all the labels that are used, search for `meta` in the templates. Currently, the considered labels are:
-
-- Priority: C labels
-- Audit: D labels
-- E4 => new host function
-- B0 => silent, not showing up
-- B1-releasenotes (misc unless other labels)
-- B5-client (client changes)
-- B7-runtimenoteworthy (runtime changes)
-- T6-XCM
-
-Note that labels with the same letter are mutually exclusive. A PR should not have both `B0` and `B5`, or both `C1` and
-`C9`. In case of conflicts, the template will decide which label will be considered.
-
-## Dev and debugging
-
-### Hot Reload
-
-The following command allows **Hot Reload**:
-```
-fswatch templates -e ".*\.md$" | xargs -n1 -I{} ./bin/changelog statemine-v5.0.0
-```
-### Caching
-
-By default, if the changelog data from Github is already present, the calls to the Github API will be skipped and the
-local version of the data will be used. This is much faster. If you know that some labels have changed in Github, you
-probably want to refresh the data. You can then either delete manually the `cumulus.json` file or `export NO_CACHE=1` to
-force refreshing the data.
diff --git a/polkadot/.gitattributes b/polkadot/.gitattributes
deleted file mode 100644
index 2ea1ab2d6b9c..000000000000
--- a/polkadot/.gitattributes
+++ /dev/null
@@ -1,2 +0,0 @@
-/.gitlab-ci.yml filter=ci-prettier
-/scripts/ci/gitlab/pipeline/*.yml filter=ci-prettier
diff --git a/polkadot/.github/dependabot.yml b/polkadot/.github/dependabot.yml
deleted file mode 100644
index a1fa925970bb..000000000000
--- a/polkadot/.github/dependabot.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-version: 2
-updates:
- - package-ecosystem: "cargo"
- directory: "/"
- labels: ["A2-insubstantial", "B0-silent", "C1-low", "E2-dependencies"]
- # Handle updates for crates from github.com/paritytech/substrate manually.
- ignore:
- - dependency-name: "substrate-*"
- - dependency-name: "sc-*"
- - dependency-name: "sp-*"
- - dependency-name: "frame-*"
- - dependency-name: "fork-tree"
- - dependency-name: "frame-remote-externalities"
- - dependency-name: "pallet-*"
- - dependency-name: "beefy-*"
- - dependency-name: "try-runtime-*"
- - dependency-name: "test-runner"
- - dependency-name: "generate-bags"
- - dependency-name: "sub-tokens"
- schedule:
- interval: "daily"
- - package-ecosystem: github-actions
- directory: '/'
- labels: ["A2-insubstantial", "B0-silent", "C1-low", "E2-dependencies"]
- schedule:
- interval: daily
diff --git a/polkadot/.github/pr-custom-review.yml b/polkadot/.github/pr-custom-review.yml
deleted file mode 100644
index 136c9e75ff2d..000000000000
--- a/polkadot/.github/pr-custom-review.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-# 🔒 PROTECTED: Changes to locks-review-team should be approved by the current locks-review-team
-locks-review-team: locks-review
-team-leads-team: polkadot-review
-action-review-team: ci
-
-rules:
- - name: Runtime files
- check_type: changed_files
- condition:
- include: ^runtime\/(kusama|polkadot)\/src\/.+\.rs$
- exclude: ^runtime\/(kusama|polkadot)\/src\/weights\/.+\.rs$
- all_distinct:
- - min_approvals: 1
- teams:
- - locks-review
- - min_approvals: 1
- teams:
- - polkadot-review
-
- - name: Core developers
- check_type: changed_files
- condition:
- include: .*
- # excluding files from 'Runtime files' and 'CI files' rules
- exclude: ^runtime/(kusama|polkadot)/src/[^/]+\.rs$|^\.gitlab-ci\.yml|^(?!.*\.dic$|.*spellcheck\.toml$)scripts/ci/.*|^\.github/.*
- min_approvals: 3
- teams:
- - core-devs
-
- - name: CI files
- check_type: changed_files
- condition:
- # dictionary files are excluded
- include: ^\.gitlab-ci\.yml|^(?!.*\.dic$|.*spellcheck\.toml$)scripts/ci/.*|^\.github/.*
- min_approvals: 2
- teams:
- - ci
- - release-engineering
-
-prevent-review-request:
- teams:
- - core-devs
diff --git a/polkadot/.github/workflows/burnin-label-notification.yml b/polkadot/.github/workflows/burnin-label-notification.yml
deleted file mode 100644
index 536f8fa2a3f6..000000000000
--- a/polkadot/.github/workflows/burnin-label-notification.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-name: Notify devops when burn-in label applied
-on:
- pull_request:
- types: [labeled]
-
-jobs:
- notify-devops:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- channel:
- - name: 'Team: DevOps'
- room: '!lUslSijLMgNcEKcAiE:parity.io'
-
- steps:
- - name: Send Matrix message to ${{ matrix.channel.name }}
- if: startsWith(github.event.label.name, 'A1-')
- uses: s3krit/matrix-message-action@70ad3fb812ee0e45ff8999d6af11cafad11a6ecf # v0.0.3
- with:
- room_id: ${{ matrix.channel.room }}
- access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }}
- server: m.parity.io
- message: |
- @room Burn-in request received for the following PR: ${{ github.event.pull_request.html_url }}
diff --git a/polkadot/.github/workflows/check-D-labels.yml b/polkadot/.github/workflows/check-D-labels.yml
deleted file mode 100644
index 9abefaa6fa10..000000000000
--- a/polkadot/.github/workflows/check-D-labels.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-name: Check D labels
-
-on:
- pull_request:
- types: [labeled, opened, synchronize, unlabeled]
- paths:
- - runtime/polkadot/**
- - runtime/kusama/**
- - runtime/common/**
- - primitives/src/**
-
-jobs:
- check-labels:
- runs-on: ubuntu-latest
- steps:
- - name: Pull image
- env:
- IMAGE: paritytech/ruled_labels:0.4.0
- run: docker pull $IMAGE
-
- - name: Check labels
- env:
- IMAGE: paritytech/ruled_labels:0.4.0
- MOUNT: /work
- GITHUB_PR: ${{ github.event.pull_request.number }}
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- API_BASE: https://api.github.com/repos
- REPO: ${{ github.repository }}
- RULES_PATH: labels/ruled_labels
- CHECK_SPECS: specs_polkadot.yaml
- run: |
- echo "REPO: ${REPO}"
- echo "GITHUB_PR: ${GITHUB_PR}"
- # Clone repo with labels specs
- git clone https://github.com/paritytech/labels
- # Fetch the labels for the PR under test
- labels=$( curl -H "Authorization: token ${GITHUB_TOKEN}" -s "$API_BASE/${REPO}/pulls/${GITHUB_PR}" | jq '.labels | .[] | .name' | tr "\n" ",")
-
- if [ -z "${labels}" ]; then
- docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE check $MOUNT/$CHECK_SPECS --tags audit --no-label
- fi
-
- labels_args=${labels: :-1}
- printf "Checking labels: %s\n" "${labels_args}"
-
- # Prevent the shell from splitting labels with spaces
- IFS=","
-
- # --dev is more useful to debug mode to debug
- docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE check $MOUNT/$CHECK_SPECS --labels ${labels_args} --dev --tags audit
diff --git a/polkadot/.github/workflows/check-bootnodes.yml b/polkadot/.github/workflows/check-bootnodes.yml
deleted file mode 100644
index 897a90d3ae92..000000000000
--- a/polkadot/.github/workflows/check-bootnodes.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-# checks all networks we care about (kusama, polkadot, westend) and ensures
-#Â the bootnodes in their respective chainspecs are contactable
-
-name: Check all bootnodes
-on:
- push:
- branches:
- # Catches v1.2.3 and v1.2.3-rc1
- - release-v[0-9]+.[0-9]+.[0-9]+*
-
-jobs:
- check_bootnodes:
- strategy:
- fail-fast: false
- matrix:
- runtime: [westend, kusama, polkadot]
- runs-on: ubuntu-latest
- steps:
- - name: Checkout sources
- uses: actions/checkout@v3
- - name: Install polkadot
- shell: bash
- run: |
- curl -L "$(curl -s https://api.github.com/repos/paritytech/polkadot/releases/latest \
- | jq -r '.assets | .[] | select(.name == "polkadot").browser_download_url')" \
- | sudo tee /usr/local/bin/polkadot > /dev/null
- sudo chmod +x /usr/local/bin/polkadot
- polkadot --version
- - name: Check ${{ matrix.runtime }} bootnodes
- shell: bash
- run: scripts/ci/github/check_bootnodes.sh node/service/chain-specs/${{ matrix.runtime }}.json
diff --git a/polkadot/.github/workflows/check-labels.yml b/polkadot/.github/workflows/check-labels.yml
deleted file mode 100644
index df0a0e9cf02d..000000000000
--- a/polkadot/.github/workflows/check-labels.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-name: Check labels
-
-on:
- pull_request:
- types: [labeled, opened, synchronize, unlabeled]
-
-jobs:
- check-labels:
- runs-on: ubuntu-latest
- steps:
- - name: Pull image
- env:
- IMAGE: paritytech/ruled_labels:0.4.0
- run: docker pull $IMAGE
-
- - name: Check labels
- env:
- IMAGE: paritytech/ruled_labels:0.4.0
- MOUNT: /work
- GITHUB_PR: ${{ github.event.pull_request.number }}
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- API_BASE: https://api.github.com/repos
- REPO: ${{ github.repository }}
- RULES_PATH: labels/ruled_labels
- CHECK_SPECS: specs_polkadot.yaml
- run: |
- echo "REPO: ${REPO}"
- echo "GITHUB_PR: ${GITHUB_PR}"
- # Clone repo with labels specs
- git clone https://github.com/paritytech/labels
- # Fetch the labels for the PR under test
- labels=$( curl -H "Authorization: token ${GITHUB_TOKEN}" -s "$API_BASE/${REPO}/pulls/${GITHUB_PR}" | jq '.labels | .[] | .name' | tr "\n" ",")
-
- if [ -z "${labels}" ]; then
- docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE check $MOUNT/$CHECK_SPECS --tags PR --no-label
- fi
-
- labels_args=${labels: :-1}
- printf "Checking labels: %s\n" "${labels_args}"
-
- # Prevent the shell from splitting labels with spaces
- IFS=","
-
- # --dev is more useful to debug mode to debug
- docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE check $MOUNT/$CHECK_SPECS --labels ${labels_args} --dev --tags PR
diff --git a/polkadot/.github/workflows/check-licenses.yml b/polkadot/.github/workflows/check-licenses.yml
deleted file mode 100644
index 1e654f7b3070..000000000000
--- a/polkadot/.github/workflows/check-licenses.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-name: Check licenses
-
-on:
- pull_request:
-
-jobs:
- check-licenses:
- runs-on: ubuntu-22.04
- steps:
- - name: Checkout sources
- uses: actions/checkout@v3
- - uses: actions/setup-node@v3.8.1
- with:
- node-version: '18.x'
- registry-url: 'https://npm.pkg.github.com'
- scope: '@paritytech'
- - name: Check the licenses
- run: |
- shopt -s globstar
-
- npx @paritytech/license-scanner@0.0.5 scan \
- --ensure-licenses=Apache-2.0 \
- --ensure-licenses=GPL-3.0-only \
- ./**/*.rs
- env:
- NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/polkadot/.github/workflows/check-new-bootnodes.yml b/polkadot/.github/workflows/check-new-bootnodes.yml
deleted file mode 100644
index 25b2a0a56fe5..000000000000
--- a/polkadot/.github/workflows/check-new-bootnodes.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-#Â If a chainspec file is updated with new bootnodes, we check to make sure those bootnodes are contactable
-
-name: Check new bootnodes
-on:
- pull_request:
- paths:
- - 'node/service/chain-specs/*.json'
-
-jobs:
- check_bootnodes:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout sources
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
- - name: Install polkadot
- shell: bash
- run: |
- curl -L "$(curl -s https://api.github.com/repos/paritytech/polkadot/releases/latest \
- | jq -r '.assets | .[] | select(.name == "polkadot").browser_download_url')" \
- | sudo tee /usr/local/bin/polkadot > /dev/null
- sudo chmod +x /usr/local/bin/polkadot
- polkadot --version
- - name: Check new bootnodes
- shell: bash
- run: |
- scripts/ci/github/check_new_bootnodes.sh
diff --git a/polkadot/.github/workflows/check-weights.yml b/polkadot/.github/workflows/check-weights.yml
deleted file mode 100644
index e6a6c43e0a6a..000000000000
--- a/polkadot/.github/workflows/check-weights.yml
+++ /dev/null
@@ -1,49 +0,0 @@
-name: Check updated weights
-
-on:
- pull_request:
- paths:
- Â - 'runtime/*/src/weights/**'
-
-jobs:
- check_weights_files:
- strategy:
- fail-fast: false
- matrix:
- runtime: [westend, kusama, polkadot, rococo]
- runs-on: ubuntu-latest
- steps:
- - name: Checkout sources
- uses: actions/checkout@v3
- - name: Check weights files
- shell: bash
- run: |
- scripts/ci/github/verify_updated_weights.sh ${{ matrix.runtime }}
-
- #Â This job uses https://github.com/ggwpez/substrate-weight-compare to compare the weights of the current
- #Â release with the last release, then adds them as a comment to the PR.
- check_weight_changes:
- strategy:
- fail-fast: false
- matrix:
- runtime: [westend, kusama, polkadot, rococo]
- runs-on: ubuntu-latest
- steps:
- - name: Get latest release
- run: |
- LAST_RELEASE=$(curl -s https://api.github.com/repos/paritytech/polkadot/releases/latest | jq -r .tag_name)
- echo "LAST_RELEASE=$LAST_RELEASE" >> $GITHUB_ENV
- - name: Checkout current sources
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
- - name: Check weight changes
- shell: bash
- run: |
- cargo install --git https://github.com/ggwpez/substrate-weight-compare swc
- ./scripts/ci/github/check_weights_swc.sh ${{ matrix.runtime }} "$LAST_RELEASE" | tee swc_output_${{ matrix.runtime }}.md
- - name: Add comment
- uses: thollander/actions-comment-pull-request@v2
- with:
- filePath: ./swc_output_${{ matrix.runtime }}.md
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file
diff --git a/polkadot/.github/workflows/honggfuzz.yml b/polkadot/.github/workflows/honggfuzz.yml
deleted file mode 100644
index 27fa0d9967f3..000000000000
--- a/polkadot/.github/workflows/honggfuzz.yml
+++ /dev/null
@@ -1,137 +0,0 @@
-name: Run nightly fuzzer jobs
-
-on:
- schedule:
- - cron: '0 0 * * *'
-
-jobs:
- xcm-fuzzer:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout sources
- uses: actions/checkout@v3
- with:
- fetch-depth: 1
-
- - name: Install minimal stable Rust
- uses: actions-rs/toolchain@v1
- with:
- profile: minimal
- toolchain: stable
- override: true
-
- - name: Install minimal nightly Rust
- uses: actions-rs/toolchain@v1
- with:
- profile: minimal
- toolchain: nightly
- target: wasm32-unknown-unknown
-
- - name: Install honggfuzz deps
- run: sudo apt-get install --no-install-recommends binutils-dev libunwind8-dev
-
- - name: Install honggfuzz
- uses: actions-rs/cargo@v1
- with:
- command: install
- args: honggfuzz --version "0.5.54"
-
- - name: Build fuzzer binaries
- working-directory: xcm/xcm-simulator/fuzzer/
- run: cargo hfuzz build
-
- - name: Run fuzzer
- working-directory: xcm/xcm-simulator/fuzzer/
- run: bash $GITHUB_WORKSPACE/scripts/ci/github/run_fuzzer.sh xcm-fuzzer
-
- erasure-coding-round-trip:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout sources
- uses: actions/checkout@v3
- with:
- fetch-depth: 1
-
- - name: Cache Seed
- id: cache-seed-round-trip
- uses: actions/cache@v3
- with:
- path: erasure-coding/fuzzer/hfuzz_workspace
- key: ${{ runner.os }}-erasure-coding
-
- - name: Install minimal stable Rust
- uses: actions-rs/toolchain@v1
- with:
- profile: minimal
- toolchain: stable
- override: true
-
- - name: Install minimal nightly Rust
- uses: actions-rs/toolchain@v1
- with:
- profile: minimal
- toolchain: nightly
- target: wasm32-unknown-unknown
-
- - name: Install honggfuzz deps
- run: sudo apt-get install --no-install-recommends binutils-dev libunwind8-dev
-
- - name: Install honggfuzz
- uses: actions-rs/cargo@v1
- with:
- command: install
- args: honggfuzz --version "0.5.54"
-
- - name: Build fuzzer binaries
- working-directory: erasure-coding/fuzzer
- run: cargo hfuzz build
-
- - name: Run fuzzer
- working-directory: erasure-coding/fuzzer
- run: bash $GITHUB_WORKSPACE/scripts/ci/github/run_fuzzer.sh round_trip
-
- erasure-coding-reconstruct:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout sources
- uses: actions/checkout@v3
- with:
- fetch-depth: 1
-
- - name: Cache Seed
- id: cache-seed-reconstruct
- uses: actions/cache@v3
- with:
- path: erasure-coding/fuzzer/hfuzz_workspace
- key: ${{ runner.os }}-erasure-coding
-
- - name: Install minimal stable Rust
- uses: actions-rs/toolchain@v1
- with:
- profile: minimal
- toolchain: stable
- override: true
-
- - name: Install minimal nightly Rust
- uses: actions-rs/toolchain@v1
- with:
- profile: minimal
- toolchain: nightly
- target: wasm32-unknown-unknown
-
- - name: Install honggfuzz deps
- run: sudo apt-get install --no-install-recommends binutils-dev libunwind8-dev
-
- - name: Install honggfuzz
- uses: actions-rs/cargo@v1
- with:
- command: install
- args: honggfuzz --version "0.5.54"
-
- - name: Build fuzzer binaries
- working-directory: erasure-coding/fuzzer
- run: cargo hfuzz build
-
- - name: Run fuzzer
- working-directory: erasure-coding/fuzzer
- run: bash $GITHUB_WORKSPACE/scripts/ci/github/run_fuzzer.sh reconstruct
diff --git a/polkadot/.github/workflows/pr-custom-review.yml b/polkadot/.github/workflows/pr-custom-review.yml
deleted file mode 100644
index 8e40c9ee7298..000000000000
--- a/polkadot/.github/workflows/pr-custom-review.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-name: Assign reviewers
-
-on:
- pull_request:
- branches:
- - master
- - main
- types:
- - opened
- - reopened
- - synchronize
- - review_requested
- - review_request_removed
- - ready_for_review
- - converted_to_draft
- pull_request_review:
-
-jobs:
- pr-custom-review:
- runs-on: ubuntu-latest
- steps:
- - name: Skip if pull request is in Draft
- # `if: github.event.pull_request.draft == true` should be kept here, at
- # the step level, rather than at the job level. The latter is not
- # recommended because when the PR is moved from "Draft" to "Ready to
- # review" the workflow will immediately be passing (since it was skipped),
- # even though it hasn't actually ran, since it takes a few seconds for
- # the workflow to start. This is also disclosed in:
- # https://github.uint.cloudmunity/t/dont-run-actions-on-draft-pull-requests/16817/17
- # That scenario would open an opportunity for the check to be bypassed:
- # 1. Get your PR approved
- # 2. Move it to Draft
- # 3. Push whatever commits you want
- # 4. Move it to "Ready for review"; now the workflow is passing (it was
- # skipped) and "Check reviews" is also passing (it won't be updated
- # until the workflow is finished)
- if: github.event.pull_request.draft == true
- run: exit 1
- - name: pr-custom-review
- uses: paritytech/pr-custom-review@action-v3
- with:
- checks-reviews-api: http://pcr.parity-prod.parity.io/api/v1/check_reviews
diff --git a/polkadot/.github/workflows/release-01_branch-check.yml b/polkadot/.github/workflows/release-01_branch-check.yml
deleted file mode 100644
index f2b559b7c176..000000000000
--- a/polkadot/.github/workflows/release-01_branch-check.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-name: Release - Branch check
-on:
- push:
- branches:
- # Catches v1.2.3 and v1.2.3-rc1
- - release-v[0-9]+.[0-9]+.[0-9]+*
-
- workflow_dispatch:
-
-jobs:
- check_branch:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout sources
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
-
- - name: Run check
- shell: bash
- run: ./scripts/ci/github/check-rel-br
diff --git a/polkadot/.github/workflows/release-10_candidate.yml b/polkadot/.github/workflows/release-10_candidate.yml
deleted file mode 100644
index 54a937a7819a..000000000000
--- a/polkadot/.github/workflows/release-10_candidate.yml
+++ /dev/null
@@ -1,71 +0,0 @@
-name: Release - RC automation
-on:
- push:
- branches:
- # Catches v1.2.3 and v1.2.3-rc1
- - release-v[0-9]+.[0-9]+.[0-9]+*
-jobs:
- tag_rc:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- channel:
- - name: "RelEng: Polkadot Release Coordination"
- room: '!cqAmzdIcbOFwrdrubV:parity.io'
-
- steps:
- - name: Checkout sources
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
- - id: compute_tag
- name: Compute next rc tag
- shell: bash
- run: |
- # Get last rc tag if exists, else set it to {version}-rc1
- version=${GITHUB_REF#refs/heads/release-}
- echo "$version"
- echo "version=$version" >> $GITHUB_OUTPUT
- git tag -l
- last_rc=$(git tag -l "$version-rc*" | sort -V | tail -n 1)
- if [ -n "$last_rc" ]; then
- suffix=$(echo "$last_rc" | grep -Eo '[0-9]+$')
- echo $suffix
- ((suffix++))
- echo $suffix
- echo "new_tag=$version-rc$suffix" >> $GITHUB_OUTPUT
- echo "first_rc=false" >> $GITHUB_OUTPUT
- else
- echo "new_tag=$version-rc1" >> $GITHUB_OUTPUT
- echo "first_rc=true" >> $GITHUB_OUTPUT
- fi
-
- - name: Apply new tag
- uses: tvdias/github-tagger@ed7350546e3e503b5e942dffd65bc8751a95e49d # v0.0.2
- with:
- # We can't use the normal GITHUB_TOKEN for the following reason:
- # https://docs.github.com/en/actions/reference/events-that-trigger-workflows#triggering-new-workflows-using-a-personal-access-token
- # RELEASE_BRANCH_TOKEN requires public_repo OAuth scope
- repo-token: "${{ secrets.RELEASE_BRANCH_TOKEN }}"
- tag: ${{ steps.compute_tag.outputs.new_tag }}
-
- - id: create-issue
- uses: JasonEtco/create-an-issue@e27dddc79c92bc6e4562f268fffa5ed752639abd # v2.9.1
- # Only create the issue if it's the first release candidate
- if: steps.compute_tag.outputs.first_rc == 'true'
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- VERSION: ${{ steps.compute_tag.outputs.version }}
- with:
- filename: .github/ISSUE_TEMPLATE/release.md
-
- - name: Send Matrix message to ${{ matrix.channel.name }}
- uses: s3krit/matrix-message-action@70ad3fb812ee0e45ff8999d6af11cafad11a6ecf # v0.0.3
- if: steps.create-issue.outputs.url != ''
- with:
- room_id: ${{ matrix.channel.room }}
- access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }}
- server: m.parity.io
- message: |
- Release process for polkadot ${{ steps.compute_tag.outputs.version }} has been started.
- Tracking issue: ${{ steps.create-issue.outputs.url }}
diff --git a/polkadot/.github/workflows/release-20_extrinsic-ordering-check-from-bin.yml b/polkadot/.github/workflows/release-20_extrinsic-ordering-check-from-bin.yml
deleted file mode 100644
index 0613ed04d35a..000000000000
--- a/polkadot/.github/workflows/release-20_extrinsic-ordering-check-from-bin.yml
+++ /dev/null
@@ -1,81 +0,0 @@
-# This workflow performs the Extrinsic Ordering Check on demand using a binary
-
-name: Release - Extrinsic Ordering Check
-on:
- workflow_dispatch:
- inputs:
- reference_url:
- description: The WebSocket url of the reference node
- default: wss://kusama-rpc.polkadot.io
- required: true
- binary_url:
- description: A url to a Linux binary for the node containing the runtime to test
- default: https://releases.parity.io/polkadot/x86_64-debian:stretch/v0.9.10/polkadot
- required: true
- chain:
- description: The name of the chain under test. Usually, you would pass a local chain
- default: kusama-local
- required: true
-
-jobs:
- check:
- name: Run check
- runs-on: ubuntu-latest
- env:
- CHAIN: ${{github.event.inputs.chain}}
- BIN_URL: ${{github.event.inputs.binary_url}}
- REF_URL: ${{github.event.inputs.reference_url}}
-
- steps:
- - name: Checkout sources
- uses: actions/checkout@v3
-
- - name: Fetch binary
- run: |
- echo Fetching $BIN_URL
- wget $BIN_URL
- chmod a+x polkadot
- ./polkadot --version
-
- - name: Start local node
- run: |
- echo Running on $CHAIN
- ./polkadot --chain=$CHAIN &
-
- - name: Prepare output
- run: |
- VERSION=$(./polkadot --version)
- echo "Metadata comparison:" >> output.txt
- echo "Date: $(date)" >> output.txt
- echo "Reference: $REF_URL" >> output.txt
- echo "Target version: $VERSION" >> output.txt
- echo "Chain: $CHAIN" >> output.txt
- echo "----------------------------------------------------------------------" >> output.txt
-
- - name: Pull polkadot-js-tools image
- run: docker pull jacogr/polkadot-js-tools
-
- - name: Compare the metadata
- run: |
- CMD="docker run --pull always --network host jacogr/polkadot-js-tools metadata $REF_URL ws://localhost:9944"
- echo -e "Running:\n$CMD"
- $CMD >> output.txt
- sed -z -i 's/\n\n/\n/g' output.txt
- cat output.txt | egrep -n -i ''
- SUMMARY=$(./scripts/ci/github/extrinsic-ordering-filter.sh output.txt)
- echo -e $SUMMARY
- echo -e $SUMMARY >> output.txt
-
- - name: Show result
- run: |
- cat output.txt
-
- - name: Stop our local node
- run: pkill polkadot
-
- - name: Save output as artifact
- uses: actions/upload-artifact@v3
- with:
- name: ${{ env.CHAIN }}
- path: |
- output.txt
diff --git a/polkadot/.github/workflows/release-21_extrinsic-ordering-check-from-two.yml b/polkadot/.github/workflows/release-21_extrinsic-ordering-check-from-two.yml
deleted file mode 100644
index 6513897f4a13..000000000000
--- a/polkadot/.github/workflows/release-21_extrinsic-ordering-check-from-two.yml
+++ /dev/null
@@ -1,97 +0,0 @@
-# This workflow performs the Extrinsic Ordering Check on demand using two reference binaries
-
-name: Release - Extrinsic API Check with reference bins
-on:
- workflow_dispatch:
- inputs:
- reference_binary_url:
- description: A url to a Linux binary for the node containing the reference runtime to test against
- default: https://releases.parity.io/polkadot/x86_64-debian:stretch/v0.9.26/polkadot
- required: true
- binary_url:
- description: A url to a Linux binary for the node containing the runtime to test
- default: https://releases.parity.io/polkadot/x86_64-debian:stretch/v0.9.27-rc1/polkadot
- required: true
-
-jobs:
- check:
- name: Run check
- runs-on: ubuntu-latest
- env:
- BIN_URL: ${{github.event.inputs.binary_url}}
- REF_URL: ${{github.event.inputs.reference_binary_url}}
- strategy:
- fail-fast: false
- matrix:
- chain: [polkadot, kusama, westend, rococo]
-
- steps:
- - name: Checkout sources
- uses: actions/checkout@v3
-
- - name: Fetch reference binary
- run: |
- echo Fetching $REF_URL
- curl $REF_URL -o polkadot-ref
- chmod a+x polkadot-ref
- ./polkadot-ref --version
-
- - name: Fetch test binary
- run: |
- echo Fetching $BIN_URL
- curl $BIN_URL -o polkadot
- chmod a+x polkadot
- ./polkadot --version
-
- - name: Start local reference node
- run: |
- echo Running reference on ${{ matrix.chain }}-local
- ./polkadot-ref --chain=${{ matrix.chain }}-local --rpc-port=9934 --ws-port=9945 --base-path=polkadot-ref-base/ &
-
- - name: Start local test node
- run: |
- echo Running test on ${{ matrix.chain }}-local
- ./polkadot --chain=${{ matrix.chain }}-local &
-
- - name: Prepare output
- run: |
- REF_VERSION=$(./polkadot-ref --version)
- BIN_VERSION=$(./polkadot --version)
- echo "Metadata comparison:" >> output.txt
- echo "Date: $(date)" >> output.txt
- echo "Ref. binary: $REF_URL" >> output.txt
- echo "Test binary: $BIN_URL" >> output.txt
- echo "Ref. version: $REF_VERSION" >> output.txt
- echo "Test version: $BIN_VERSION" >> output.txt
- echo "Chain: ${{ matrix.chain }}-local" >> output.txt
- echo "----------------------------------------------------------------------" >> output.txt
-
- - name: Pull polkadot-js-tools image
- run: docker pull jacogr/polkadot-js-tools
-
- - name: Compare the metadata
- run: |
- CMD="docker run --pull always --network host jacogr/polkadot-js-tools metadata ws://localhost:9945 ws://localhost:9944"
- echo -e "Running:\n$CMD"
- $CMD >> output.txt
- sed -z -i 's/\n\n/\n/g' output.txt
- cat output.txt | egrep -n -i ''
- SUMMARY=$(./scripts/ci/github/extrinsic-ordering-filter.sh output.txt)
- echo -e $SUMMARY
- echo -e $SUMMARY >> output.txt
-
- - name: Show result
- run: |
- cat output.txt
-
- - name: Save output as artifact
- uses: actions/upload-artifact@v3
- with:
- name: ${{ matrix.chain }}
- path: |
- output.txt
-
- - name: Stop our local nodes
- run: |
- pkill polkadot-ref
- pkill polkadot
diff --git a/polkadot/.github/workflows/release-30_publish-draft-release.yml b/polkadot/.github/workflows/release-30_publish-draft-release.yml
deleted file mode 100644
index 206b1871d80a..000000000000
--- a/polkadot/.github/workflows/release-30_publish-draft-release.yml
+++ /dev/null
@@ -1,199 +0,0 @@
-name: Release - Publish draft
-
-on:
- push:
- tags:
- # Catches v1.2.3 and v1.2.3-rc1
- - v[0-9]+.[0-9]+.[0-9]+*
-
-jobs:
- get-rust-versions:
- runs-on: ubuntu-latest
- container:
- image: paritytech/ci-linux:production
- outputs:
- rustc-stable: ${{ steps.get-rust-versions.outputs.stable }}
- rustc-nightly: ${{ steps.get-rust-versions.outputs.nightly }}
- steps:
- - id: get-rust-versions
- run: |
- echo "stable=$(rustc +stable --version)" >> $GITHUB_OUTPUT
- echo "nightly=$(rustc +nightly --version)" >> $GITHUB_OUTPUT
-
- build-runtimes:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- runtime: ["polkadot", "kusama", "westend", "rococo"]
- steps:
- - name: Checkout sources
- uses: actions/checkout@v3
-
- - name: Cache target dir
- uses: actions/cache@v3
- with:
- path: "${{ github.workspace }}/runtime/${{ matrix.runtime }}/target"
- key: srtool-target-${{ matrix.runtime }}-${{ github.sha }}
- restore-keys: |
- srtool-target-${{ matrix.runtime }}-
- srtool-target-
-
- - name: Build ${{ matrix.runtime }} runtime
- id: srtool_build
- uses: chevdor/srtool-actions@v0.8.0
- with:
- image: paritytech/srtool
- chain: ${{ matrix.runtime }}
-
- - name: Store srtool digest to disk
- run: |
- echo '${{ steps.srtool_build.outputs.json }}' | jq > ${{ matrix.runtime }}_srtool_output.json
-
- - name: Upload ${{ matrix.runtime }} srtool json
- uses: actions/upload-artifact@v3
- with:
- name: ${{ matrix.runtime }}-srtool-json
- path: ${{ matrix.runtime }}_srtool_output.json
-
- - name: Upload ${{ matrix.runtime }} runtime
- uses: actions/upload-artifact@v3
- with:
- name: ${{ matrix.runtime }}-runtime
- path: |
- ${{ steps.srtool_build.outputs.wasm_compressed }}
-
- publish-draft-release:
- runs-on: ubuntu-latest
- needs: ["get-rust-versions", "build-runtimes"]
- outputs:
- release_url: ${{ steps.create-release.outputs.html_url }}
- asset_upload_url: ${{ steps.create-release.outputs.upload_url }}
- steps:
- - name: Checkout sources
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
- path: polkadot
-
- - name: Set up Ruby
- uses: ruby/setup-ruby@v1
- with:
- ruby-version: 3.0.0
-
- - name: Download srtool json output
- uses: actions/download-artifact@v3
-
- - name: Prepare tooling
- run: |
- cd polkadot/scripts/ci/changelog
- gem install bundler changelogerator:0.9.1
- bundle install
- changelogerator --help
-
- URL=https://github.com/chevdor/tera-cli/releases/download/v0.2.1/tera-cli_linux_amd64.deb
- wget $URL -O tera.deb
- sudo dpkg -i tera.deb
- tera --version
-
- - name: Generate release notes
- env:
- RUSTC_STABLE: ${{ needs.get-rust-versions.outputs.rustc-stable }}
- RUSTC_NIGHTLY: ${{ needs.get-rust-versions.outputs.rustc-nightly }}
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- NO_CACHE: 1
- DEBUG: 1
- ROCOCO_DIGEST: ${{ github.workspace}}/rococo-srtool-json/rococo_srtool_output.json
- WESTEND_DIGEST: ${{ github.workspace}}/westend-srtool-json/westend_srtool_output.json
- KUSAMA_DIGEST: ${{ github.workspace}}/kusama-srtool-json/kusama_srtool_output.json
- POLKADOT_DIGEST: ${{ github.workspace}}/polkadot-srtool-json/polkadot_srtool_output.json
- PRE_RELEASE: ${{ github.event.inputs.pre_release }}
- run: |
- find ${{env.GITHUB_WORKSPACE}} -type f -name "*_srtool_output.json"
- ls -al $ROCOCO_DIGEST
- ls -al $WESTEND_DIGEST
- ls -al $KUSAMA_DIGEST
- ls -al $POLKADOT_DIGEST
-
- cd polkadot/scripts/ci/changelog
-
- ./bin/changelog ${GITHUB_REF}
- ls -al release-notes.md
- ls -al context.json
-
- - name: Archive artifact context.json
- uses: actions/upload-artifact@v3
- with:
- name: release-notes-context
- path: |
- polkadot/scripts/ci/changelog/context.json
- **/*_srtool_output.json
-
- - name: Create draft release
- id: create-release
- uses: actions/create-release@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- tag_name: ${{ github.ref }}
- release_name: Polkadot ${{ github.ref }}
- body_path: ./polkadot/scripts/ci/changelog/release-notes.md
- draft: true
-
- publish-runtimes:
- runs-on: ubuntu-latest
- needs: ["publish-draft-release"]
- env:
- RUNTIME_DIR: runtime
- strategy:
- matrix:
- runtime: ["polkadot", "kusama", "westend", "rococo"]
- steps:
- - name: Checkout sources
- uses: actions/checkout@v3
- - name: Download artifacts
- uses: actions/download-artifact@v3
- - name: Set up Ruby
- uses: ruby/setup-ruby@v1
- with:
- ruby-version: 3.0.0
- - name: Get runtime version
- id: get-runtime-ver
- run: |
- echo "require './scripts/ci/github/lib.rb'" > script.rb
- echo "puts get_runtime(runtime: \"${{ matrix.runtime }}\", runtime_dir: \"$RUNTIME_DIR\")" >> script.rb
-
- echo "Current folder: $PWD"
- ls "$RUNTIME_DIR/${{ matrix.runtime }}"
- runtime_ver=$(ruby script.rb)
- echo "Found version: >$runtime_ver<"
- echo "runtime_ver=$runtime_ver" >> $GITHUB_OUTPUT
-
- - name: Upload compressed ${{ matrix.runtime }} wasm
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ needs.publish-draft-release.outputs.asset_upload_url }}
- asset_path: "${{ matrix.runtime }}-runtime/${{ matrix.runtime }}_runtime.compact.compressed.wasm"
- asset_name: ${{ matrix.runtime }}_runtime-v${{ steps.get-runtime-ver.outputs.runtime_ver }}.compact.compressed.wasm
- asset_content_type: application/wasm
-
- post_to_matrix:
- runs-on: ubuntu-latest
- needs: publish-draft-release
- strategy:
- matrix:
- channel:
- - name: "RelEng: Polkadot Release Coordination"
- room: '!cqAmzdIcbOFwrdrubV:parity.io'
-
- steps:
- - name: Send Matrix message to ${{ matrix.channel.name }}
- uses: s3krit/matrix-message-action@70ad3fb812ee0e45ff8999d6af11cafad11a6ecf # v0.0.3
- with:
- room_id: ${{ matrix.channel.room }}
- access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }}
- server: m.parity.io
- message: |
- **New version of polkadot tagged**: ${{ github.ref }}
- Draft release created: ${{ needs.publish-draft-release.outputs.release_url }}
diff --git a/polkadot/.github/workflows/release-99_bot.yml b/polkadot/.github/workflows/release-99_bot.yml
deleted file mode 100644
index 5d45c0d44eda..000000000000
--- a/polkadot/.github/workflows/release-99_bot.yml
+++ /dev/null
@@ -1,49 +0,0 @@
-name: Release - Send new release notification to matrix channels
-on:
- release:
- types:
- - published
-
-jobs:
- ping_matrix:
- strategy:
- matrix:
- channel:
- - name: '#KusamaValidatorLounge:polkadot.builders'
- room: '!LhjZccBOqFNYKLdmbb:polkadot.builders'
- pre-releases: false
- - name: '#kusama-announcements:matrix.parity.io'
- room: '!FMwxpQnYhRCNDRsYGI:matrix.parity.io'
- pre-release: false
- - name: '#polkadotvalidatorlounge:web3.foundation'
- room: '!NZrbtteFeqYKCUGQtr:matrix.parity.io'
- pre-release: false
- - name: '#polkadot-announcements:matrix.parity.io'
- room: '!UqHPWiCBGZWxrmYBkF:matrix.parity.io'
- pre-release: false
- - name: "RelEng: Polkadot Release Coordination"
- room: '!cqAmzdIcbOFwrdrubV:parity.io'
- pre-release: true
- - name: 'Ledger <> Polkadot Coordination'
- room: '!EoIhaKfGPmFOBrNSHT:web3.foundation'
- pre-release: true
- - name: 'General: Rust, Polkadot, Substrate'
- room: '!aJymqQYtCjjqImFLSb:parity.io'
- pre-release: false
- - name: 'Team: DevOps'
- room: '!lUslSijLMgNcEKcAiE:parity.io'
- pre-release: true
-
- runs-on: ubuntu-latest
- steps:
- - name: Send Matrix message to ${{ matrix.channel.name }}
- if: github.event.release.prerelease == false || matrix.channel.pre-release
- uses: s3krit/matrix-message-action@70ad3fb812ee0e45ff8999d6af11cafad11a6ecf # v0.0.3
- with:
- room_id: ${{ matrix.channel.room }}
- access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }}
- server: m.parity.io
- message: |
- ***Polkadot ${{github.event.release.tag_name}} has been released!***
- ${{github.event.release.html_url}}
- ${{github.event.release.body}}
diff --git a/polkadot/.gitlab-ci.yml b/polkadot/.gitlab-ci.yml
deleted file mode 100644
index b2d91e61da94..000000000000
--- a/polkadot/.gitlab-ci.yml
+++ /dev/null
@@ -1,287 +0,0 @@
-# .gitlab-ci.yml
-#
-# polkadot
-#
-# Pipelines can be triggered manually in the web.
-#
-# Please do not add new jobs without "rules:" and "*-env". There are &test-refs for everything,
-# "docker-env" is used for Rust jobs.
-# And "kubernetes-env" for everything else. Please mention "image:" container name to be used
-# with it, as there's no default one.
-
-# All jobs are sorted according to their duration using DAG mechanism
-# Currently, test-linux-stable job is the longest one and other jobs are
-# sorted in order to complete during this job and occupy less runners in one
-# moment of time.
-
-stages:
- - .pre
- - weights
- - check
- - test
- - build
- - publish
- - zombienet
- - short-benchmarks
-
-workflow:
- rules:
- - if: $CI_COMMIT_TAG
- - if: $CI_COMMIT_BRANCH
-
-variables:
- GIT_STRATEGY: fetch
- GIT_DEPTH: 100
- CI_SERVER_NAME: "GitLab CI"
- CI_IMAGE: !reference [.ci-unified, variables, CI_IMAGE]
- BUILDAH_IMAGE: "quay.io/buildah/stable:v1.29"
- BUILDAH_COMMAND: "buildah --storage-driver overlay2"
- DOCKER_OS: "debian:stretch"
- ARCH: "x86_64"
- ZOMBIENET_IMAGE: "docker.io/paritytech/zombienet:v1.3.65"
-
-default:
- cache: {}
- retry:
- max: 2
- when:
- - runner_system_failure
- - unknown_failure
- - api_failure
- interruptible: true
-
-.common-before-script:
- before_script:
- - !reference [.job-switcher, before_script]
- - !reference [.timestamp, before_script]
-
-.collect-artifacts:
- artifacts:
- name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
- when: on_success
- expire_in: 7 days
- paths:
- - ./artifacts/
-
-.collect-artifacts-short:
- artifacts:
- name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
- when: on_success
- expire_in: 1 days
- paths:
- - ./artifacts/
-
-# collecting vars for pipeline stopper
-# they will be used if the job fails
-.pipeline-stopper-vars:
- before_script:
- - echo "FAILED_JOB_URL=${CI_JOB_URL}" > pipeline-stopper.env
- - echo "FAILED_JOB_NAME=${CI_JOB_NAME}" >> pipeline-stopper.env
- - echo "FAILED_JOB_NAME=${CI_JOB_NAME}" >> pipeline-stopper.env
- - echo "PR_NUM=${CI_COMMIT_REF_NAME}" >> pipeline-stopper.env
-
-.pipeline-stopper-artifacts:
- artifacts:
- reports:
- dotenv: pipeline-stopper.env
-
-.job-switcher:
- before_script:
- - if echo "$CI_DISABLED_JOBS" | grep -xF "$CI_JOB_NAME"; then echo "The job has been cancelled in CI settings"; exit 0; fi
-
-.kubernetes-env:
- image: "${CI_IMAGE}"
- before_script:
- - !reference [.common-before-script, before_script]
- tags:
- - kubernetes-parity-build
-
-.docker-env:
- image: "${CI_IMAGE}"
- before_script:
- - !reference [.common-before-script, before_script]
- tags:
- - linux-docker-vm-c2
-
-.compiler-info:
- before_script:
- - !reference [.common-before-script, before_script]
- - rustup show
- - cargo --version
-
-.test-refs:
- rules:
- - if: $CI_PIPELINE_SOURCE == "web"
- - if: $CI_PIPELINE_SOURCE == "schedule"
- - if: $CI_COMMIT_REF_NAME == "master"
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
-
-.common-refs:
- # these jobs run always*
- rules:
- - if: $CI_PIPELINE_SOURCE == "web"
- - if: $CI_PIPELINE_SOURCE == "schedule"
- - if: $CI_COMMIT_REF_NAME == "master"
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
- - if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
- - if: $CI_COMMIT_REF_NAME =~ /^release-v[0-9]+\.[0-9]+.*$/ # i.e. release-v0.9.27
-
-.test-pr-refs:
- rules:
- - if: $CI_PIPELINE_SOURCE == "pipeline"
- when: never
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
-
-.zombienet-refs:
- rules:
- - if: $CI_PIPELINE_SOURCE == "pipeline"
- when: never
- - if: $CI_PIPELINE_SOURCE == "schedule"
- when: never
- - if: $CI_COMMIT_REF_NAME == "master"
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
-
-.deploy-testnet-refs:
- rules:
- - if: $CI_PIPELINE_SOURCE == "pipeline"
- when: never
- - if: $CI_PIPELINE_SOURCE == "schedule"
- - if: $CI_COMMIT_REF_NAME == "master"
-
-.publish-refs:
- rules:
- - if: $CI_PIPELINE_SOURCE == "pipeline"
- when: never
- - if: $CI_PIPELINE_SOURCE == "schedule"
- - if: $CI_PIPELINE_SOURCE == "web" &&
- $CI_COMMIT_REF_NAME == "master"
- - if: $CI_COMMIT_REF_NAME == "master"
- - if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
-
-.build-push-image:
- variables:
- CI_IMAGE: "${BUILDAH_IMAGE}"
-
- REGISTRY: "docker.io"
- DOCKER_OWNER: "paritypr"
- DOCKER_USER: "${PARITYPR_USER}"
- DOCKER_PASS: "${PARITYPR_PASS}"
- IMAGE: "${REGISTRY}/${DOCKER_OWNER}/${IMAGE_NAME}"
-
- ENGINE: "${BUILDAH_COMMAND}"
- BUILDAH_FORMAT: "docker"
- SKIP_IMAGE_VALIDATION: 1
-
- PROJECT_ROOT: "."
- BIN_FOLDER: "./artifacts"
- VCS_REF: "${CI_COMMIT_SHA}"
-
- before_script:
- - !reference [.common-before-script, before_script]
- - test -s ./artifacts/VERSION || exit 1
- - test -s ./artifacts/EXTRATAG || exit 1
- - export VERSION="$(cat ./artifacts/VERSION)"
- - EXTRATAG="$(cat ./artifacts/EXTRATAG)"
- - echo "Polkadot version = ${VERSION} (EXTRATAG = ${EXTRATAG})"
- script:
- - test "$DOCKER_USER" -a "$DOCKER_PASS" ||
- ( echo "no docker credentials provided"; exit 1 )
- - TAGS="${VERSION},${EXTRATAG}" scripts/ci/dockerfiles/build-injected.sh
- - echo "$DOCKER_PASS" |
- buildah login --username "$DOCKER_USER" --password-stdin "${REGISTRY}"
- - $BUILDAH_COMMAND info
- - $BUILDAH_COMMAND push --format=v2s2 "$IMAGE:$VERSION"
- - $BUILDAH_COMMAND push --format=v2s2 "$IMAGE:$EXTRATAG"
- after_script:
- - buildah logout --all
-
-#### stage: .pre
-
-# By default our pipelines are interruptible, but some special pipelines shouldn't be interrupted:
-# * multi-project pipelines such as the ones triggered by the scripts repo
-#
-# In those cases, we add an uninterruptible .pre job; once that one has started,
-# the entire pipeline becomes uninterruptible.
-uninterruptible-pipeline:
- extends: .kubernetes-env
- variables:
- CI_IMAGE: "paritytech/tools:latest"
- stage: .pre
- interruptible: false
- rules:
- - if: $CI_PIPELINE_SOURCE == "pipeline"
- script: "true"
-
-include:
- # weights jobs
- - scripts/ci/gitlab/pipeline/weights.yml
- # check jobs
- - scripts/ci/gitlab/pipeline/check.yml
- # test jobs
- - scripts/ci/gitlab/pipeline/test.yml
- # build jobs
- - scripts/ci/gitlab/pipeline/build.yml
- # short-benchmarks jobs
- - scripts/ci/gitlab/pipeline/short-benchmarks.yml
- # publish jobs
- - scripts/ci/gitlab/pipeline/publish.yml
- # zombienet jobs
- - scripts/ci/gitlab/pipeline/zombienet.yml
- # timestamp handler
- - project: parity/infrastructure/ci_cd/shared
- ref: main
- file: /common/timestamp.yml
- - project: parity/infrastructure/ci_cd/shared
- ref: main
- file: /common/ci-unified.yml
-
-
-#### stage: .post
-
-deploy-parity-testnet:
- stage: .post
- extends:
- - .deploy-testnet-refs
- variables:
- POLKADOT_CI_COMMIT_NAME: "${CI_COMMIT_REF_NAME}"
- POLKADOT_CI_COMMIT_REF: "${CI_COMMIT_SHORT_SHA}"
- allow_failure: false
- trigger: "parity/infrastructure/parity-testnet"
-
-# This job cancels the whole pipeline if any of provided jobs fail.
-# In a DAG, every jobs chain is executed independently of others. The `fail_fast` principle suggests
-# to fail the pipeline as soon as possible to shorten the feedback loop.
-.cancel-pipeline-template:
- stage: .post
- rules:
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
- when: on_failure
- variables:
- PROJECT_ID: "${CI_PROJECT_ID}"
- PROJECT_NAME: "${CI_PROJECT_NAME}"
- PIPELINE_ID: "${CI_PIPELINE_ID}"
- FAILED_JOB_URL: "${FAILED_JOB_URL}"
- FAILED_JOB_NAME: "${FAILED_JOB_NAME}"
- PR_NUM: "${PR_NUM}"
- trigger:
- project: "parity/infrastructure/ci_cd/pipeline-stopper"
- branch: "as-improve"
-
-remove-cancel-pipeline-message:
- stage: .post
- rules:
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
- variables:
- PROJECT_ID: "${CI_PROJECT_ID}"
- PROJECT_NAME: "${CI_PROJECT_NAME}"
- PIPELINE_ID: "${CI_PIPELINE_ID}"
- FAILED_JOB_URL: "https://gitlab.com"
- FAILED_JOB_NAME: "nope"
- PR_NUM: "${CI_COMMIT_REF_NAME}"
- trigger:
- project: "parity/infrastructure/ci_cd/pipeline-stopper"
-
-cancel-pipeline-test-linux-stable:
- extends: .cancel-pipeline-template
- needs:
- - job: test-linux-stable
diff --git a/substrate/.gitattributes b/substrate/.gitattributes
index a77c52fccdb7..4cb3ef4972fe 100644
--- a/substrate/.gitattributes
+++ b/substrate/.gitattributes
@@ -1,4 +1,2 @@
Cargo.lock linguist-generated=true
-/.gitlab-ci.yml filter=ci-prettier
-/scripts/ci/gitlab/pipeline/*.yml filter=ci-prettier
frame/**/src/weights.rs linguist-generated=true
diff --git a/substrate/.github/dependabot.yml b/substrate/.github/dependabot.yml
deleted file mode 100644
index 04cf0d1e1a5a..000000000000
--- a/substrate/.github/dependabot.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-version: 2
-updates:
- - package-ecosystem: "cargo"
- directory: "/"
- labels: ["A2-insubstantial", "B0-silent", "C1-low", "E2-dependencies"]
- schedule:
- interval: "daily"
- - package-ecosystem: github-actions
- directory: '/'
- labels: ["A2-insubstantial", "B0-silent", "C1-low", "E2-dependencies"]
- schedule:
- interval: daily
diff --git a/substrate/.github/pr-custom-review.yml b/substrate/.github/pr-custom-review.yml
deleted file mode 100644
index 059f4a283af0..000000000000
--- a/substrate/.github/pr-custom-review.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-# 🔒 PROTECTED: Changes to locks-review-team should be approved by the current locks-review-team
-locks-review-team: locks-review
-team-leads-team: polkadot-review
-action-review-team: ci
-
-rules:
- - name: Core developers
- check_type: changed_files
- condition:
- include: .*
- # excluding files from 'CI team' and 'FRAME coders' rules
- exclude: ^\.gitlab-ci\.yml|^scripts/ci/.*|^\.github/.*|^\.config/nextest.toml|^frame/(?!.*(nfts/.*|uniques/.*|babe/.*|grandpa/.*|beefy|merkle-mountain-range/.*|contracts/.*|election|nomination-pools/.*|staking/.*|aura/.*))
- min_approvals: 2
- teams:
- - core-devs
-
- - name: FRAME coders
- check_type: changed_files
- condition:
- include: ^frame/(?!.*(nfts/.*|uniques/.*|babe/.*|grandpa/.*|beefy|merkle-mountain-range/.*|contracts/.*|election|nomination-pools/.*|staking/.*|aura/.*))
- all:
- - min_approvals: 2
- teams:
- - core-devs
- - min_approvals: 1
- teams:
- - frame-coders
-
- - name: CI team
- check_type: changed_files
- condition:
- include: ^\.gitlab-ci\.yml|^scripts/ci/.*|^\.github/.*|^\.config/nextest.toml
- min_approvals: 2
- teams:
- - ci
-
-prevent-review-request:
- teams:
- - core-devs
diff --git a/substrate/.github/stale.yml b/substrate/.github/stale.yml
deleted file mode 100644
index 61d0fd0228d9..000000000000
--- a/substrate/.github/stale.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-# Number of days of inactivity before an issue becomes stale
-daysUntilStale: 30
-# Number of days of inactivity before a stale issue is closed
-daysUntilClose: 14
-# Issues with these labels will never be considered stale
-exemptLabels:
- - "D9-needsaudit 👮"
-# Label to use when marking an issue as stale
-staleLabel: "A3-stale"
-# we only bother with pull requests
-only: pulls
-# Comment to post when marking an issue as stale. Set to `false` to disable
-markComment: >
- Hey, is anyone still working on this? Due to the inactivity this issue has
- been automatically marked as stale. It will be closed if no further activity
- occurs. Thank you for your contributions.
-# Comment to post when closing a stale issue. Set to `false` to disable
-closeComment: false
diff --git a/substrate/.github/workflows/auto-label-issues.yml b/substrate/.github/workflows/auto-label-issues.yml
deleted file mode 100644
index 12ffce702cdc..000000000000
--- a/substrate/.github/workflows/auto-label-issues.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-# If the author of the issues is not a contributor to the project, label
-# the issue with 'Z0-unconfirmed'
-
-name: Label New Issues
-on:
- issues:
- types: [opened]
-
-jobs:
- label-new-issues:
- runs-on: ubuntu-latest
- steps:
- - name: Label drafts
- uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 # 1.0.4
- if: github.event.issue.author_association == 'NONE'
- with:
- add-labels: "I10-unconfirmed"
diff --git a/substrate/.github/workflows/burnin-label-notification.yml b/substrate/.github/workflows/burnin-label-notification.yml
deleted file mode 100644
index f45455d31db1..000000000000
--- a/substrate/.github/workflows/burnin-label-notification.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-name: Notify devops when burn-in label applied
-on:
- pull_request:
- types: [labeled]
-
-jobs:
- notify-devops:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- channel:
- - name: 'Team: DevOps'
- room: '!lUslSijLMgNcEKcAiE:parity.io'
-
- steps:
- - name: Notify devops
- if: startsWith(github.event.label.name, 'A1-')
- uses: s3krit/matrix-message-action@70ad3fb812ee0e45ff8999d6af11cafad11a6ecf # v0.0.3
- with:
- room_id: ${{ matrix.channel.room }}
- access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }}
- server: "m.parity.io"
- message: |
- @room Burn-in request received for [${{ github.event.pull_request.title }}](${{ github.event.pull_request.html_url }})
diff --git a/substrate/.github/workflows/check-D-labels.yml b/substrate/.github/workflows/check-D-labels.yml
deleted file mode 100644
index 7bb358ce1182..000000000000
--- a/substrate/.github/workflows/check-D-labels.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-name: Check D labels
-
-on:
- pull_request:
- types: [labeled, opened, synchronize, unlabeled]
- paths:
- - frame/**
- - primitives/**
-
-env:
- IMAGE: paritytech/ruled_labels:0.4.0
-
-jobs:
- check-labels:
- runs-on: ubuntu-latest
- steps:
- - name: Pull image
- run: docker pull $IMAGE
-
- - name: Check labels
- env:
- MOUNT: /work
- GITHUB_PR: ${{ github.event.pull_request.number }}
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- API_BASE: https://api.github.com/repos
- REPO: ${{ github.repository }}
- RULES_PATH: labels/ruled_labels
- CHECK_SPECS: specs_substrate.yaml
- run: |
- echo "REPO: ${REPO}"
- echo "GITHUB_PR: ${GITHUB_PR}"
- # Clone repo with labels specs
- git clone https://github.com/paritytech/labels
- # Fetch the labels for the PR under test
- labels=$( curl -H "Authorization: token ${GITHUB_TOKEN}" -s "$API_BASE/${REPO}/pulls/${GITHUB_PR}" | jq '.labels | .[] | .name' | tr "\n" ",")
-
- if [ -z "${labels}" ]; then
- docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE check $MOUNT/$CHECK_SPECS --tags audit --no-label
- fi
-
- labels_args=${labels: :-1}
- printf "Checking labels: %s\n" "${labels_args}"
-
- # Prevent the shell from splitting labels with spaces
- IFS=","
-
- # --dev is more useful to debug mode to debug
- docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE check $MOUNT/$CHECK_SPECS --labels ${labels_args} --dev --tags audit
diff --git a/substrate/.github/workflows/check-labels.yml b/substrate/.github/workflows/check-labels.yml
deleted file mode 100644
index 55b8f7389fa7..000000000000
--- a/substrate/.github/workflows/check-labels.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-name: Check labels
-
-on:
- pull_request:
- types: [labeled, opened, synchronize, unlabeled]
-
-env:
- IMAGE: paritytech/ruled_labels:0.4.0
-
-jobs:
- check-labels:
- runs-on: ubuntu-latest
- steps:
- - name: Pull image
- run: docker pull $IMAGE
-
- - name: Check labels
- env:
- MOUNT: /work
- GITHUB_PR: ${{ github.event.pull_request.number }}
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- API_BASE: https://api.github.com/repos
- REPO: ${{ github.repository }}
- RULES_PATH: labels/ruled_labels
- CHECK_SPECS: specs_substrate.yaml
- run: |
- echo "REPO: ${REPO}"
- echo "GITHUB_PR: ${GITHUB_PR}"
- # Clone repo with labels specs
- git clone https://github.com/paritytech/labels
- # Fetch the labels for the PR under test
- labels=$( curl -H "Authorization: token ${GITHUB_TOKEN}" -s "$API_BASE/${REPO}/pulls/${GITHUB_PR}" | jq '.labels | .[] | .name' | tr "\n" ",")
-
- if [ -z "${labels}" ]; then
- docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE check $MOUNT/$CHECK_SPECS --tags PR --no-label
- fi
-
- labels_args=${labels: :-1}
- printf "Checking labels: %s\n" "${labels_args}"
-
- # Prevent the shell from splitting labels with spaces
- IFS=","
-
- # --dev is more useful to debug mode to debug
- docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE check $MOUNT/$CHECK_SPECS --labels ${labels_args} --dev --tags PR
diff --git a/substrate/.github/workflows/md-link-check.yml b/substrate/.github/workflows/md-link-check.yml
deleted file mode 100644
index e1387f6da13f..000000000000
--- a/substrate/.github/workflows/md-link-check.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-name: Check Links
-
-on:
- pull_request:
- branches:
- - master
- push:
- branches:
- - master
-
-jobs:
- markdown-link-check:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - uses: gaurav-nelson/github-action-markdown-link-check@0a51127e9955b855a9bbfa1ff5577f1d1338c9a5 # 1.0.14
- with:
- use-quiet-mode: 'yes'
- config-file: '.github/workflows/mlc_config.json'
diff --git a/substrate/.github/workflows/mlc_config.json b/substrate/.github/workflows/mlc_config.json
deleted file mode 100644
index e7e620b39e0a..000000000000
--- a/substrate/.github/workflows/mlc_config.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "ignorePatterns": [
- {
- "pattern": "^https://crates.io",
- }
- ]
-}
diff --git a/substrate/.github/workflows/monthly-tag.yml b/substrate/.github/workflows/monthly-tag.yml
deleted file mode 100644
index 055207d85a4d..000000000000
--- a/substrate/.github/workflows/monthly-tag.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-name: Monthly Snapshot Tag
-
-on:
- schedule:
- - cron: "0 1 1 * *"
- workflow_dispatch:
-
-jobs:
- build:
- name: Take Snapshot
- runs-on: ubuntu-latest
- steps:
- - name: Get the tags by date
- id: tags
- run: |
- echo "new=$(date +'monthly-%Y-%m')" >> $GITHUB_OUTPUT
- echo "old=$(date -d'1 month ago' +'monthly-%Y-%m')" >> $GITHUB_OUTPUT
- - name: Checkout branch "master"
- uses: actions/checkout@v3
- with:
- ref: 'master'
- fetch-depth: 0
- - name: Generate changelog
- id: changelog
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
- echo "# Automatic snapshot pre-release ${{ steps.tags.outputs.new }}" > Changelog.md
- echo "" >> Changelog.md
- echo "## Changes since last snapshot (${{ steps.tags.outputs.old }})" >> Changelog.md
- echo "" >> Changelog.md
- ./scripts/ci/github/generate_changelog.sh ${{ steps.tags.outputs.old }} >> Changelog.md
- - name: Release snapshot
- id: release-snapshot
- uses: actions/create-release@0cb9c9b65d5d1901c1f53e5e66eaf4afd303e70e # v1.1.4 latest version, repo archived
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- tag_name: ${{ steps.tags.outputs.new }}
- release_name: ${{ steps.tags.outputs.new }}
- draft: false
- prerelease: true
- body_path: Changelog.md
diff --git a/substrate/.github/workflows/pr-custom-review.yml b/substrate/.github/workflows/pr-custom-review.yml
deleted file mode 100644
index 8e40c9ee7298..000000000000
--- a/substrate/.github/workflows/pr-custom-review.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-name: Assign reviewers
-
-on:
- pull_request:
- branches:
- - master
- - main
- types:
- - opened
- - reopened
- - synchronize
- - review_requested
- - review_request_removed
- - ready_for_review
- - converted_to_draft
- pull_request_review:
-
-jobs:
- pr-custom-review:
- runs-on: ubuntu-latest
- steps:
- - name: Skip if pull request is in Draft
- # `if: github.event.pull_request.draft == true` should be kept here, at
- # the step level, rather than at the job level. The latter is not
- # recommended because when the PR is moved from "Draft" to "Ready to
- # review" the workflow will immediately be passing (since it was skipped),
- # even though it hasn't actually ran, since it takes a few seconds for
- # the workflow to start. This is also disclosed in:
- # https://github.uint.cloudmunity/t/dont-run-actions-on-draft-pull-requests/16817/17
- # That scenario would open an opportunity for the check to be bypassed:
- # 1. Get your PR approved
- # 2. Move it to Draft
- # 3. Push whatever commits you want
- # 4. Move it to "Ready for review"; now the workflow is passing (it was
- # skipped) and "Check reviews" is also passing (it won't be updated
- # until the workflow is finished)
- if: github.event.pull_request.draft == true
- run: exit 1
- - name: pr-custom-review
- uses: paritytech/pr-custom-review@action-v3
- with:
- checks-reviews-api: http://pcr.parity-prod.parity.io/api/v1/check_reviews
diff --git a/substrate/.github/workflows/release-bot.yml b/substrate/.github/workflows/release-bot.yml
deleted file mode 100644
index 05bea32abc69..000000000000
--- a/substrate/.github/workflows/release-bot.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-name: Pushes release updates to a pre-defined Matrix room
-on:
- release:
- types:
- - edited
- - prereleased
- - published
-jobs:
- ping_matrix:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- channel:
- - name: 'General: Rust, Polkadot, Substrate'
- room: '!aJymqQYtCjjqImFLSb:parity.io'
- pre-release: false
-
- steps:
- - name: send message
- uses: s3krit/matrix-message-action@70ad3fb812ee0e45ff8999d6af11cafad11a6ecf # v0.0.3
- with:
- room_id: ${{ matrix.channel.room }}
- access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }}
- server: "m.parity.io"
- message: |
- ***${{github.event.repository.full_name}}:*** A release has been ${{github.event.action}}
- Release version [${{github.event.release.tag_name}}](${{github.event.release.html_url}})
-
- -----
-
- ${{github.event.release.body}}
diff --git a/substrate/.github/workflows/release-tagging.yml b/substrate/.github/workflows/release-tagging.yml
deleted file mode 100644
index 1862582f40eb..000000000000
--- a/substrate/.github/workflows/release-tagging.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-# Github action to ensure the `release` tag always tracks latest release
-
-name: Retag release
-
-on:
- release:
- types: [ published ]
-
-jobs:
- build:
- runs-on: ubuntu-latest
-
- steps:
- - name: Set Git tag
- uses: s3krit/walking-tag-action@d04f7a53b72ceda4e20283736ce3627011275178 # latest version from master
- with:
- tag-name: release
- tag-message: Latest release
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/substrate/.gitlab-ci.yml b/substrate/.gitlab-ci.yml
deleted file mode 100644
index f00836528973..000000000000
--- a/substrate/.gitlab-ci.yml
+++ /dev/null
@@ -1,412 +0,0 @@
-# .gitlab-ci.yml
-#
-# substrate
-#
-# pipelines can be triggered manually in the web
-#
-# Currently the file is divided into subfiles. Each stage has a different file which
-# can be found here: scripts/ci/gitlab/pipeline/.yml
-#
-# Instead of YAML anchors "extends" is used.
-# Useful links:
-# https://docs.gitlab.com/ee/ci/yaml/index.html#extends
-# https://docs.gitlab.com/ee/ci/yaml/yaml_optimization.html#reference-tags
-#
-# SAMPLE JOB TEMPLATE - This is not a complete example but is enough to build a
-# simple CI job. For full documentation, visit https://docs.gitlab.com/ee/ci/yaml/
-#
-# my-example-job:
-# stage: test # One of the stages listed below this job (required)
-# image: paritytech/tools:latest # Any docker image (required)
-# allow_failure: true # Allow the pipeline to continue if this job fails (default: false)
-# needs:
-# - job: test-linux # Any jobs that are required to run before this job (optional)
-# variables:
-# MY_ENVIRONMENT_VARIABLE: "some useful value" # Environment variables passed to the job (optional)
-# script:
-# - echo "List of shell commands to run in your job"
-# - echo "You can also just specify a script here, like so:"
-# - ./scripts/ci/gitlab/my_amazing_script.sh
-
-stages:
- - check
- - test
- - build
- - publish
- - notify
- - zombienet
- - deploy
-
-workflow:
- rules:
- - if: $CI_COMMIT_TAG
- - if: $CI_COMMIT_BRANCH
-
-variables:
- GIT_STRATEGY: fetch
- GIT_DEPTH: 100
- CARGO_INCREMENTAL: 0
- DOCKER_OS: "debian:bullseye"
- ARCH: "x86_64"
- CI_IMAGE: !reference [.ci-unified, variables, CI_IMAGE]
- BUILDAH_IMAGE: "quay.io/buildah/stable:v1.29"
- BUILDAH_COMMAND: "buildah --storage-driver overlay2"
- RELENG_SCRIPTS_BRANCH: "master"
-
- RUSTY_CACHIER_SINGLE_BRANCH: master
- RUSTY_CACHIER_DONT_OPERATE_ON_MAIN_BRANCH: "true"
- RUSTY_CACHIER_MINIO_ALIAS: rustycachier_gcs
- RUSTY_CACHIER_MINIO_BUCKET: parity-build-rusty-cachier
- RUSTY_CACHIER_COMPRESSION_METHOD: zstd
-
- NEXTEST_FAILURE_OUTPUT: immediate-final
- NEXTEST_SUCCESS_OUTPUT: final
- ZOMBIENET_IMAGE: "docker.io/paritytech/zombienet:v1.3.55"
-
-default:
- retry:
- max: 2
- when:
- - runner_system_failure
- - unknown_failure
- - api_failure
- cache: {}
- interruptible: true
-
-.collect-artifacts:
- artifacts:
- name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
- when: on_success
- expire_in: 7 days
- paths:
- - artifacts/
-
-.collect-artifacts-short:
- artifacts:
- name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
- when: on_success
- expire_in: 3 hours
- paths:
- - artifacts/
-
-.prepare-env:
- before_script:
- # TODO: remove unset invocation when we'll be free from 'ENV RUSTC_WRAPPER=sccache' & sccache
- # itself in all images
- - unset RUSTC_WRAPPER
- # $WASM_BUILD_WORKSPACE_HINT enables wasm-builder to find the Cargo.lock from within generated
- # packages
- - export WASM_BUILD_WORKSPACE_HINT="$PWD"
- # ensure that RUSTFLAGS are set correctly
- - echo $RUSTFLAGS
-
-.job-switcher:
- before_script:
- - if echo "$CI_DISABLED_JOBS" | grep -xF "$CI_JOB_NAME"; then echo "The job has been cancelled in CI settings"; exit 0; fi
-
-.kubernetes-env:
- image: "${CI_IMAGE}"
- before_script:
- - !reference [.timestamp, before_script]
- - !reference [.job-switcher, before_script]
- - !reference [.prepare-env, before_script]
- tags:
- - kubernetes-parity-build
-
-.rust-info-script:
- script:
- - rustup show
- - cargo --version
- - rustup +nightly show
- - cargo +nightly --version
-
-.pipeline-stopper-vars:
- script:
- - !reference [.job-switcher, before_script]
- - echo "Collecting env variables for the cancel-pipeline job"
- - echo "FAILED_JOB_URL=${CI_JOB_URL}" > pipeline-stopper.env
- - echo "FAILED_JOB_NAME=${CI_JOB_NAME}" >> pipeline-stopper.env
- - echo "PR_NUM=${CI_COMMIT_REF_NAME}" >> pipeline-stopper.env
-
-.pipeline-stopper-artifacts:
- artifacts:
- reports:
- dotenv: pipeline-stopper.env
-
-.docker-env:
- image: "${CI_IMAGE}"
- before_script:
- - !reference [.timestamp, before_script]
- - !reference [.job-switcher, before_script]
- - !reference [.prepare-env, before_script]
- - !reference [.rust-info-script, script]
- - !reference [.rusty-cachier, before_script]
- - !reference [.pipeline-stopper-vars, script]
- after_script:
- - !reference [.rusty-cachier, after_script]
- tags:
- - linux-docker-vm-c2
-
-# rusty-cachier's hidden job. Parts of this job are used to instrument the pipeline's other real jobs with rusty-cachier
-# Description of the commands is available here - https://gitlab.parity.io/parity/infrastructure/ci_cd/rusty-cachier/client#description
-.rusty-cachier:
- before_script:
- - curl -s https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.parity.io/parity/infrastructure/ci_cd/rusty-cachier/client/-/raw/release/util/install.sh | bash
- - rusty-cachier environment check --gracefully
- - $(rusty-cachier environment inject)
- - rusty-cachier project mtime
- after_script:
- - env RUSTY_CACHIER_SUPRESS_OUTPUT=true rusty-cachier snapshot destroy
-
-.test-refs:
- rules:
- - if: $CI_PIPELINE_SOURCE == "web"
- - if: $CI_PIPELINE_SOURCE == "schedule"
- - if: $CI_COMMIT_REF_NAME == "master"
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
- - if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
-
-# handle the specific case where benches could store incorrect bench data because of the downstream staging runs
-# exclude cargo-check-benches from such runs
-.test-refs-check-benches:
- rules:
- - if: $CI_COMMIT_REF_NAME == "master" && $CI_PIPELINE_SOURCE == "pipeline" && $CI_IMAGE =~ /staging$/
- when: never
- - if: $CI_PIPELINE_SOURCE == "web"
- - if: $CI_PIPELINE_SOURCE == "schedule"
- - if: $CI_COMMIT_REF_NAME == "master"
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
- - if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
-
-.test-refs-no-trigger:
- rules:
- - if: $CI_PIPELINE_SOURCE == "pipeline"
- when: never
- - if: $CI_PIPELINE_SOURCE == "web"
- - if: $CI_PIPELINE_SOURCE == "schedule"
- - if: $CI_COMMIT_REF_NAME == "master"
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
- - if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
- - if: $CI_COMMIT_REF_NAME =~ /^ci-release-.*$/
-
-.test-refs-no-trigger-prs-only:
- rules:
- - if: $CI_PIPELINE_SOURCE == "pipeline"
- when: never
- - if: $CI_PIPELINE_SOURCE == "web"
- - if: $CI_PIPELINE_SOURCE == "schedule"
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
-
-.publish-refs:
- rules:
- - if: $CI_PIPELINE_SOURCE == "pipeline"
- when: never
- - if: $CI_PIPELINE_SOURCE == "web"
- - if: $CI_PIPELINE_SOURCE == "schedule"
- - if: $CI_COMMIT_REF_NAME == "master"
- - if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
-
-.build-refs:
- # publish-refs + PRs
- rules:
- - if: $CI_PIPELINE_SOURCE == "pipeline"
- when: never
- - if: $CI_PIPELINE_SOURCE == "web"
- - if: $CI_PIPELINE_SOURCE == "schedule"
- - if: $CI_COMMIT_REF_NAME == "master"
- - if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
-
-.zombienet-refs:
- extends: .build-refs
-
-.crates-publishing-variables:
- variables:
- CRATESIO_CRATES_OWNER: parity-crate-owner
- REPO: substrate
- REPO_OWNER: paritytech
-
-.crates-publishing-pipeline:
- extends: .crates-publishing-variables
- rules:
- - if: $CI_PIPELINE_SOURCE == "schedule" && $CI_COMMIT_REF_NAME == "master" && $PIPELINE == "automatic-crate-publishing"
-
-.crates-publishing-template:
- extends:
- - .docker-env
- - .crates-publishing-variables
- # collect artifacts even on failure so that we know how the crates were generated (they'll be
- # generated to the artifacts folder according to SPUB_TMP further down)
- artifacts:
- name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
- when: always
- expire_in: 7 days
- paths:
- - artifacts/
- variables:
- SPUB_TMP: artifacts
- # disable timestamping for the crate publishing jobs, they leave stray child processes behind
- # which don't interact well with the timestamping script
- CI_DISABLE_TIMESTAMP: 1
-
-#### stage: .pre
-
-check-crates-publishing-pipeline:
- stage: .pre
- extends:
- - .kubernetes-env
- - .crates-publishing-pipeline
- script:
- - git clone
- --depth 1
- --branch "$RELENG_SCRIPTS_BRANCH"
- https://github.com/paritytech/releng-scripts.git
- - ONLY_CHECK_PIPELINE=true ./releng-scripts/publish-crates
-
-# By default our pipelines are interruptible, but some special pipelines shouldn't be interrupted:
-# * multi-project pipelines such as the ones triggered by the scripts repo
-# * the scheduled automatic-crate-publishing pipeline
-#
-# In those cases, we add an uninterruptible .pre job; once that one has started,
-# the entire pipeline becomes uninterruptible
-uninterruptible-pipeline:
- extends: .kubernetes-env
- variables:
- CI_IMAGE: "paritytech/tools:latest"
- stage: .pre
- interruptible: false
- rules:
- - if: $CI_PIPELINE_SOURCE == "pipeline"
- - if: $CI_PIPELINE_SOURCE == "schedule" && $PIPELINE == "automatic-crate-publishing"
- script: "true"
-
-include:
- # check jobs
- - scripts/ci/gitlab/pipeline/check.yml
- # tests jobs
- - scripts/ci/gitlab/pipeline/test.yml
- # build jobs
- - scripts/ci/gitlab/pipeline/build.yml
- # publish jobs
- - scripts/ci/gitlab/pipeline/publish.yml
- # zombienet jobs
- - scripts/ci/gitlab/pipeline/zombienet.yml
- # The crate-publishing pipeline requires a customized `interruptible` configuration. Unfortunately
- # `interruptible` can't currently be dynamically set based on variables as per:
- # - https://gitlab.com/gitlab-org/gitlab/-/issues/38349
- # - https://gitlab.com/gitlab-org/gitlab/-/issues/194023
- # Thus we work around that limitation by using conditional includes.
- # For crate-publishing pipelines: run it with defaults + `interruptible: false`. The WHOLE
- # pipeline is made uninterruptible to ensure that test jobs also get a chance to run to
- # completion, because the publishing jobs depends on them AS INTENDED: crates should not be
- # published before their source code is checked.
- - project: parity/infrastructure/ci_cd/shared
- ref: main
- file: /common/timestamp.yml
- - project: parity/infrastructure/ci_cd/shared
- ref: main
- file: /common/ci-unified.yml
-
-
-#### stage: notify
-
-# This job notifies rusty-cachier about the latest commit with the cache.
-# This info is later used for the cache distribution and an overlay creation.
-# Note that we don't use any .rusty-cachier references as we assume that a pipeline has reached this stage with working rusty-cachier.
-rusty-cachier-notify:
- stage: notify
- extends: .kubernetes-env
- variables:
- CI_IMAGE: paritytech/rusty-cachier-env:latest
- GIT_STRATEGY: none
- dependencies: []
- script:
- - curl -s https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.parity.io/parity/infrastructure/ci_cd/rusty-cachier/client/-/raw/release/util/install.sh | bash
- - rusty-cachier cache notify
-
-#### stage: .post
-
-# This job cancels the whole pipeline if any of provided jobs fail.
-# In a DAG, every jobs chain is executed independently of others. The `fail_fast` principle suggests
-# to fail the pipeline as soon as possible to shorten the feedback loop.
-.cancel-pipeline-template:
- stage: .post
- rules:
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
- when: on_failure
- variables:
- PROJECT_ID: "${CI_PROJECT_ID}"
- PROJECT_NAME: "${CI_PROJECT_NAME}"
- PIPELINE_ID: "${CI_PIPELINE_ID}"
- FAILED_JOB_URL: "${FAILED_JOB_URL}"
- FAILED_JOB_NAME: "${FAILED_JOB_NAME}"
- PR_NUM: "${PR_NUM}"
- trigger:
- project: "parity/infrastructure/ci_cd/pipeline-stopper"
-
-remove-cancel-pipeline-message:
- stage: .post
- rules:
- - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
- variables:
- PROJECT_ID: "${CI_PROJECT_ID}"
- PROJECT_NAME: "${CI_PROJECT_NAME}"
- PIPELINE_ID: "${CI_PIPELINE_ID}"
- FAILED_JOB_URL: "https://gitlab.com"
- FAILED_JOB_NAME: "nope"
- PR_NUM: "${CI_COMMIT_REF_NAME}"
- trigger:
- project: "parity/infrastructure/ci_cd/pipeline-stopper"
- branch: "as-improve"
-
-# need to copy jobs this way because otherwise gitlab will wait
-# for all 3 jobs to finish instead of cancelling if one fails
-cancel-pipeline-test-linux-stable1:
- extends: .cancel-pipeline-template
- needs:
- - job: "test-linux-stable 1/3"
-
-cancel-pipeline-test-linux-stable2:
- extends: .cancel-pipeline-template
- needs:
- - job: "test-linux-stable 2/3"
-
-cancel-pipeline-test-linux-stable3:
- extends: .cancel-pipeline-template
- needs:
- - job: "test-linux-stable 3/3"
-
-cancel-pipeline-cargo-check-benches1:
- extends: .cancel-pipeline-template
- needs:
- - job: "cargo-check-benches 1/2"
-
-cancel-pipeline-cargo-check-benches2:
- extends: .cancel-pipeline-template
- needs:
- - job: "cargo-check-benches 2/2"
-
-cancel-pipeline-test-linux-stable-int:
- extends: .cancel-pipeline-template
- needs:
- - job: test-linux-stable-int
-
-cancel-pipeline-cargo-check-each-crate-1:
- extends: .cancel-pipeline-template
- needs:
- - job: "cargo-check-each-crate 1/2"
-
-cancel-pipeline-cargo-check-each-crate-2:
- extends: .cancel-pipeline-template
- needs:
- - job: "cargo-check-each-crate 2/2"
-
-cancel-pipeline-cargo-check-each-crate-macos:
- extends: .cancel-pipeline-template
- needs:
- - job: cargo-check-each-crate-macos
-
-cancel-pipeline-check-tracing:
- extends: .cancel-pipeline-template
- needs:
- - job: check-tracing