Skip to content

Commit

Permalink
turn submodules into folders
Browse files Browse the repository at this point in the history
  • Loading branch information
shawntabrizi committed Sep 1, 2024
1 parent cb60261 commit 397bf1a
Show file tree
Hide file tree
Showing 39 changed files with 16,304 additions and 2 deletions.
1 change: 0 additions & 1 deletion polkadot-sdk-minimal-template
Submodule polkadot-sdk-minimal-template deleted from f0106a
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Free disk space
description: We've run into out-of-disk error when compiling Rust projects, so we free up some space this way.

runs:
using: "composite"
steps:
- name: Free Disk Space
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Install macOS dependencies
description: Installs dependencies required to compile the template on macOS

runs:
using: "composite"
steps:
- run: |
curl https://sh.rustup.rs -sSf -y | sh
brew install protobuf
rustup target add wasm32-unknown-unknown --toolchain stable-aarch64-apple-darwin
rustup component add rust-src --toolchain stable-aarch64-apple-darwin
shell: sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Install Ubuntu dependencies
description: Installs dependencies required to compile the template in Ubuntu

runs:
using: "composite"
steps:
- name: Rust compilation prerequisites (Ubuntu)
if: contains(matrix.os, 'ubuntu')
run: |
sudo apt update
sudo apt install -y \
protobuf-compiler
rustup target add wasm32-unknown-unknown
rustup component add rustfmt clippy rust-src
shell: bash
84 changes: 84 additions & 0 deletions polkadot-sdk-minimal-template/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: CI

on:
pull_request:
push:
branches:
- main
- master

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v4

- if: contains(matrix.os, 'ubuntu')
uses: ./.github/actions/free-disk-space
- if: contains(matrix.os, 'ubuntu')
uses: ./.github/actions/ubuntu-dependencies
- if: contains(matrix.os, 'macos')
uses: ./.github/actions/macos-dependencies

- name: Build the template
run: cargo build
timeout-minutes: 90

- name: Run clippy
run: |
SKIP_WASM_BUILD=1 cargo clippy --all-targets --locked --workspace --quiet
SKIP_WASM_BUILD=1 cargo clippy --all-targets --all-features --locked --workspace --quiet
timeout-minutes: 30

- name: Run the tests
run: SKIP_WASM_BUILD=1 cargo test
timeout-minutes: 15

- name: Build the docs
run: SKIP_WASM_BUILD=1 cargo doc --workspace --no-deps
timeout-minutes: 15

run-node:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v4

- if: contains(matrix.os, 'ubuntu')
uses: ./.github/actions/free-disk-space
- if: contains(matrix.os, 'ubuntu')
uses: ./.github/actions/ubuntu-dependencies
- if: contains(matrix.os, 'macos')
uses: ./.github/actions/macos-dependencies

- name: Build the node individually in release mode
run: cargo build --package minimal-template-node --release
timeout-minutes: 90

- name: Make sure the node is producing blocks
run: |
./target/release/minimal-template-node --dev 2>&1 | tee out.txt &
until curl -s '127.0.0.1:9944'; do sleep 5; done
until cat out.txt | grep -s "Imported #2"; do sleep 5; done
shell: bash
timeout-minutes: 5

build-docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: ./.github/actions/free-disk-space

- name: Build the Dockerfile
run: docker build . -t polkadot-sdk-minimal-template
timeout-minutes: 90
24 changes: 24 additions & 0 deletions polkadot-sdk-minimal-template/.github/workflows/pr-reminder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: PR Reminder

permissions:
pull-requests: write

on:
pull_request:
types:
- opened

jobs:
pr-reminder:
runs-on: ubuntu-latest
steps:
- name: Comment a reminder on a new PR
uses: actions/github-script@v6
with:
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: 'Hello, this is an automatic reminder that any code changes should be made to [the source](https://github.com/paritytech/polkadot-sdk/tree/master/templates/minimal).'
})
65 changes: 65 additions & 0 deletions polkadot-sdk-minimal-template/.github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Release

permissions:
contents: write
packages: write

on:
release:
types: [released]

jobs:
release-docker:
runs-on: ubuntu-latest
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# We've run into out-of-disk error when compiling Polkadot 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: Build and push
uses: docker/build-push-action@v6
with:
push: true
tags: ghcr.io/${{ github.repository }}:${{ github.ref_name }}

release-binaries:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Rust compilation prerequisites
run: |
sudo apt update
sudo apt install -y \
protobuf-compiler
rustup target add wasm32-unknown-unknown
rustup component add rust-src
- name: Build the template
run: cargo build --locked --release
timeout-minutes: 90

- name: Upload the binaries
uses: softprops/action-gh-release@v2
with:
files: |
target/release/minimal-template-node
target/release/wbuild/minimal-template-runtime/minimal_template_runtime.compact.compressed.wasm
1 change: 1 addition & 0 deletions polkadot-sdk-minimal-template/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
target/
Loading

0 comments on commit 397bf1a

Please sign in to comment.