diff --git a/.github/workflows/auto-add-parachain-issues.yml b/.github/workflows/auto-add-parachain-issues.yml deleted file mode 100644 index 6b5222b6ff741..0000000000000 --- a/.github/workflows/auto-add-parachain-issues.yml +++ /dev/null @@ -1,30 +0,0 @@ -# If there are new issues related to the async backing feature, -# add it to the parachain team's board and set a custom "meta" field. - -name: Add selected issues to Parachain team board -on: - issues: - types: - - labeled - -jobs: - add-parachain-issues: - if: github.event.label.name == 'T16-async_backing' - runs-on: ubuntu-latest - steps: - - name: Generate token - id: generate_token - uses: tibdex/github-app-token@v2.1.0 - with: - app_id: ${{ secrets.PROJECT_APP_ID }} - private_key: ${{ secrets.PROJECT_APP_KEY }} - - name: Sync issues - uses: paritytech/github-issue-sync@v0.3.2 - with: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PROJECT_TOKEN: ${{ steps.generate_token.outputs.token }} - project: 119 # Parachain team board - project_field: 'meta' - project_value: 'async backing' - labels: | - T16-async_backing diff --git a/.github/workflows/check-runtimes.yml b/.github/workflows/check-runtimes.yml deleted file mode 100644 index 0e5ad104766a8..0000000000000 --- a/.github/workflows/check-runtimes.yml +++ /dev/null @@ -1,94 +0,0 @@ -name: Check Runtimes Specs -# This GH Workflow fetches the runtimes available in a release. -# It then compares their metadata with reference specs located under -# .github/runtime_specs. - -on: - workflow_dispatch: - inputs: - release_id: - description: | - Release ID. - You can find it using the command: - curl -s \ - -H "Authorization: Bearer ${GITHUB_TOKEN}" https://api.github.com/repos/paritytech/polkadot-sdk/releases | \ - jq '.[] | { name: .name, id: .id }' - required: true - type: string - - # This trigger unfortunately does not work as expected. - # https://github.com/orgs/community/discussions/47794 - # release: - # types: [edited] - -env: - RUNTIME_SPECS_DIR: .github/runtime_specs - DATA_DIR: runtimes - RELEASE_ID: ${{ inputs.release_id }} - REPO: ${{ github.repository }} - -jobs: - find-specs: - name: Fetch runtime specs - outputs: - specs: ${{ steps.get-list.outputs.specs }} - runs-on: ubuntu-latest - steps: - - name: Checkout the repo - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - - name: Get list - id: get-list - run: | - lst=$(ls $RUNTIME_SPECS_DIR/*.json | xargs -I{} basename "{}" .json | jq -R .| jq -sc .) - echo "Found: $lst" - echo "specs=$lst" >> $GITHUB_OUTPUT - - check-runtimes: - name: Check runtime specs - runs-on: ubuntu-latest - needs: - - find-specs - - strategy: - matrix: - specs: ${{ fromJSON(needs.find-specs.outputs.specs) }} - - steps: - - name: Checkout the repo - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - - name: Fetch release artifacts based on release id - env: - OUTPUT_DIR: ${{ env.DATA_DIR }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - . ./.github/scripts/common/lib.sh - fetch_release_artifacts - - - name: Install tooling - env: - SUBWASM_VERSION: v0.20.0 - DL_BASE_URL: https://github.com/chevdor/subwasm/releases/download - run: | - wget $DL_BASE_URL/$SUBWASM_VERSION/subwasm_linux_amd64_$SUBWASM_VERSION.deb \ - -O subwasm.deb - sudo dpkg -i subwasm.deb - subwasm --version - - - name: Extract metadata JSON for ${{ matrix.specs }} - env: - RUNTIME: ${{ matrix.specs }} - run: | - WASM=$(ls ${DATA_DIR}/${RUNTIME}*.wasm) - echo "WASM=$WASM" - subwasm show --json "$WASM" > "${DATA_DIR}/${RUNTIME}.json" - - - name: Check specs for ${{ matrix.specs }} - id: build - env: - RUNTIME: ${{ matrix.specs }} - LOGLEVEL: info - run: | - python --version - .github/scripts/check-runtime.py "${DATA_DIR}/${RUNTIME}.json" "${RUNTIME_SPECS_DIR}/${RUNTIME}.json" diff --git a/.github/workflows/check-workspace.yml b/.github/workflows/check-workspace.yml deleted file mode 100644 index 81ec311ccce81..0000000000000 --- a/.github/workflows/check-workspace.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Check workspace - -on: - pull_request: - merge_group: - -jobs: - check-workspace: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.0 (22. Sep 2023) - - - name: install python deps - run: pip3 install toml - - - name: check integrity - run: > - python3 .github/scripts/check-workspace.py . - --exclude - "substrate/frame/contracts/fixtures/build" - "substrate/frame/contracts/fixtures/contracts/common" diff --git a/.github/workflows/subsystem-benchmarks.yml b/.github/workflows/subsystem-benchmarks.yml deleted file mode 100644 index 1a726b669e909..0000000000000 --- a/.github/workflows/subsystem-benchmarks.yml +++ /dev/null @@ -1,55 +0,0 @@ -# The actions takes json file as input and runs github-action-benchmark for it. - -on: - workflow_dispatch: - inputs: - benchmark-data-dir-path: - description: "Path to the benchmark data directory" - required: true - type: string - output-file-path: - description: "Path to the benchmark data file" - required: true - type: string - -jobs: - subsystem-benchmarks: - runs-on: ubuntu-latest - environment: subsystem-benchmarks - steps: - - name: Validate inputs - run: | - echo "${{ github.event.inputs.benchmark-data-dir-path }}" | grep -P '^[a-z\-]' - echo "${{ github.event.inputs.output-file-path }}" | grep -P '^[a-z\-]+\.json' - - - name: Checkout Sources - uses: actions/checkout@v4.1.2 - with: - fetch-depth: 0 - ref: "gh-pages" - - - name: Copy bench results - id: step_one - run: | - cp bench/gitlab/${{ github.event.inputs.output-file-path }} ${{ github.event.inputs.output-file-path }} - - - name: Switch branch - id: step_two - run: | - git checkout master -- - - - uses: actions/create-github-app-token@v1 - id: app-token - with: - app-id: ${{ secrets.POLKADOTSDK_GHPAGES_APP_ID }} - private-key: ${{ secrets.POLKADOTSDK_GHPAGES_APP_KEY }} - - - name: Store benchmark result - uses: benchmark-action/github-action-benchmark@v1 - with: - tool: "customSmallerIsBetter" - name: ${{ github.event.inputs.benchmark-data-dir-path }} - output-file-path: ${{ github.event.inputs.output-file-path }} - benchmark-data-dir-path: "bench/${{ github.event.inputs.benchmark-data-dir-path }}" - github-token: ${{ steps.app-token.outputs.token }} - auto-push: true diff --git a/.github/workflows/sync-templates.yml b/.github/workflows/sync-templates.yml deleted file mode 100644 index 511c9d0e8cd06..0000000000000 --- a/.github/workflows/sync-templates.yml +++ /dev/null @@ -1,159 +0,0 @@ -name: Synchronize templates - - -# This job is used to keep the repository templates up-to-date. -# The code of the templates exist inside the monorepo, and upon releases we synchronize the repositories: -# - https://github.com/paritytech/polkadot-sdk-minimal-template -# - https://github.com/paritytech/polkadot-sdk-parachain-template -# - https://github.com/paritytech/polkadot-sdk-solochain-template -# -# The job moves the template code out of the monorepo, -# replaces any references to the monorepo workspace using psvm and toml-cli, -# checks that it builds successfully, -# and commits and pushes the result to each respective repository. -# If the build fails, a PR is created instead for manual inspection. - - -on: - # A manual dispatch for now - automatic on releases later. - workflow_dispatch: - inputs: - crate_release_version: - description: 'A release version to use, e.g. 1.9.0' - required: true - - -jobs: - sync-templates: - runs-on: ubuntu-latest - environment: master - strategy: - fail-fast: false - matrix: - template: ["minimal", "solochain", "parachain"] - env: - template-path: "polkadot-sdk-${{ matrix.template }}-template" - steps: - - # 1. Prerequisites. - - - name: Configure git identity - run: | - git config --global user.name "Template Bot" - git config --global user.email "163342540+paritytech-polkadotsdk-templatebot[bot]@users.noreply.github.com" - - uses: actions/checkout@v3 - with: - path: polkadot-sdk - ref: "release-crates-io-v${{ github.event.inputs.crate_release_version }}" - - name: Generate a token for the template repository - id: app_token - uses: actions/create-github-app-token@v1.9.3 - with: - owner: "paritytech" - repositories: "polkadot-sdk-${{ matrix.template }}-template" - app-id: ${{ secrets.TEMPLATE_APP_ID }} - private-key: ${{ secrets.TEMPLATE_APP_KEY }} - - uses: actions/checkout@v3 - with: - repository: "paritytech/polkadot-sdk-${{ matrix.template }}-template" - path: "${{ env.template-path }}" - token: ${{ steps.app_token.outputs.token }} - - name: Install toml-cli - run: cargo install --git https://github.com/gnprice/toml-cli --rev ea69e9d2ca4f0f858110dc7a5ae28bcb918c07fb # v0.2.3 - - name: Install Polkadot SDK Version Manager - run: cargo install --git https://github.com/paritytech/psvm --rev c41261ffb52ab0c115adbbdb17e2cb7900d2bdfd psvm # master - - name: Rust compilation prerequisites - run: | - sudo apt update - sudo apt install -y \ - protobuf-compiler - rustup target add wasm32-unknown-unknown - rustup component add rustfmt clippy rust-src - - # 2. Yanking the template out of the monorepo workspace. - - - name: Use psvm to replace git references with released creates. - run: find . -type f -name 'Cargo.toml' -exec psvm -o -v ${{ github.event.inputs.crate_release_version }} -p {} \; - working-directory: polkadot-sdk/templates/${{ matrix.template }}/ - - name: Create a new workspace Cargo.toml - run: | - cat << EOF > Cargo.toml - [workspace.package] - license = "MIT-0" - authors = ["Parity Technologies "] - homepage = "https://substrate.io" - - [workspace] - members = [ - "node", - "pallets/template", - "runtime", - ] - resolver = "2" - EOF - shell: bash - working-directory: polkadot-sdk/templates/${{ matrix.template }}/ - - name: Update workspace configuration - run: | - set -euo pipefail - # toml-cli has no overwrite functionality yet, so we use temporary files. - # We cannot pipe the output straight to the same file while the CLI still reads and processes it. - - toml set templates/${{ matrix.template }}/Cargo.toml 'workspace.package.repository' "https://github.com/paritytech/polkadot-sdk-${{ matrix.template }}-template.git" > Cargo.temp - mv Cargo.temp ./templates/${{ matrix.template }}/Cargo.toml - - toml set templates/${{ matrix.template }}/Cargo.toml 'workspace.package.edition' "$(toml get --raw Cargo.toml 'workspace.package.edition')" > Cargo.temp - mv Cargo.temp ./templates/${{ matrix.template }}/Cargo.toml - - toml get Cargo.toml 'workspace.lints' --output-toml >> ./templates/${{ matrix.template }}/Cargo.toml - - toml get Cargo.toml 'workspace.dependencies' --output-toml >> ./templates/${{ matrix.template }}/Cargo.toml - working-directory: polkadot-sdk - - name: Print the result Cargo.tomls for debugging - if: runner.debug == '1' - run: find . -type f -name 'Cargo.toml' -exec cat {} \; - working-directory: polkadot-sdk/templates/${{ matrix.template }}/ - - - name: Clean the destination repository - run: rm -rf ./* - working-directory: "${{ env.template-path }}" - - name: Copy over the new changes - run: | - cp -r polkadot-sdk/templates/${{ matrix.template }}/* "${{ env.template-path }}/" - - # 3. Verify the build. Push the changes or create a PR. - - # We've run into out-of-disk error when compiling in the next step, so we free up some space this way. - - name: Free Disk Space (Ubuntu) - uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # 1.3.1 - with: - android: true # This alone is a 12 GB save. - # We disable the rest because it caused some problems. (they're enabled by default) - # The Android removal is enough. - dotnet: false - haskell: false - large-packages: false - swap-storage: false - - - name: Check if it compiles - id: check-compilation - run: cargo check && cargo test - working-directory: "${{ env.template-path }}" - timeout-minutes: 90 - - name: Create PR on failure - if: failure() && steps.check-compilation.outcome == 'failure' - uses: peter-evans/create-pull-request@5b4a9f6a9e2af26e5f02351490b90d01eb8ec1e5 # v5 - with: - path: "${{ env.template-path }}" - token: ${{ steps.app_token.outputs.token }} - add-paths: | - ./* - title: "[Don't merge] Update the ${{ matrix.template }} template" - body: "The template has NOT been successfully built and needs to be inspected." - branch: "update-template/${{ github.event_name }}" - - name: Push changes - run: | - git add -A . - git commit --allow-empty -m "Update template triggered by ${{ github.event_name }}" - git push - working-directory: "${{ env.template-path }}"