From 7ba1ec5a4884f76e9c12e0bc4c894ec877c47b5a Mon Sep 17 00:00:00 2001 From: samelamin Date: Tue, 3 Oct 2023 13:35:48 +0100 Subject: [PATCH] run on gcp --- .github/workflows/build.yml | 61 ++++++++++ .github/workflows/collator_actions.yml | 148 ++++++++++++------------- Cargo.toml | 12 ++ 3 files changed, 147 insertions(+), 74 deletions(-) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..f9af6512 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,61 @@ +name: build-on-self-hosted-runner +on: + workflow_dispatch: + push: + branches: + - main + paths-ignore: + - "**.md" + pull_request: + branches: + - main + paths-ignore: + - "**.md" + +jobs: + create-runner: + runs-on: ubuntu-latest + outputs: + label: ${{ steps.create-runner.outputs.label }} + steps: + - id: create-runner + uses: related-sciences/gce-github-runner@v0.10 + with: + token: ${{ secrets.GH_SA_TOKEN }} + project_id: ${{ secrets.GCP_PROJECT_ID }} + service_account_key: ${{ secrets.GCP_SA_KEY }} + image_project: ubuntu-os-cloud + image_family: ubuntu-2004-lts + machine_type: e2-highcpu-32 + disk_size: 200 + machine_zone: us-central1-b + + - uses: actions/checkout@v4 + + - name: Install Protobuf + run: sudo apt install protobuf-compiler + + - name: Install minimal nightly Rust + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: nightly-2023-05-22 + target: wasm32-unknown-unknown + override: true + components: rustfmt, clippy + + - name: 🫠 rustfmt 🫠 + uses: actions-rs/cargo@v1 + with: + command: fmt + args: --check + + - name: Run tests with benchmarks + run: cargo test --features runtime-benchmarks + + - name: Delete runner VM + if: always() + run: > + gcloud compute instances delete + gce-gh-runner-${{ github.run_id }}-${{ github.run_attempt }} + --quiet --zone us-central1-b \ No newline at end of file diff --git a/.github/workflows/collator_actions.yml b/.github/workflows/collator_actions.yml index 89415aed..360c9879 100644 --- a/.github/workflows/collator_actions.yml +++ b/.github/workflows/collator_actions.yml @@ -1,74 +1,74 @@ -name: rust -on: - workflow_dispatch: - push: - branches: - - main - paths-ignore: - - "**.md" - pull_request: - branches: - - main - paths-ignore: - - "**.md" - - env: - CARGO_TERM_COLOR: always - -jobs: - build-imbue-collator: - runs-on: ubuntu-latest - steps: - - name: Checkout sources - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: Install minimal nightly Rust - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: nightly-2023-05-22 - target: wasm32-unknown-unknown - override: true - - - name: Update submodules - run: git submodule update --recursive --remote - - - name: Clean unused directories - run: sudo rm -rf /usr/share/dotnet;sudo rm -rf /opt/ghc;sudo rm -rf "/usr/local/share/boost";sudo rm -rf "$AGENT_TOOLSDIRECTORY" - - - name: Install Protobuf - run: sudo apt install protobuf-compiler - - - name: Run tests with benchmarks - run: cargo test --features runtime-benchmarks - clippy: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Install Protobuf - run: sudo apt install protobuf-compiler - - name: Install minimal nightly Rust - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: nightly-2023-05-22 - target: wasm32-unknown-unknown - override: true - - name: Install clippy - run: rustup component add clippy - - name: Ensure executable - run: chmod +x ./ci/jobs/clippy.sh - - name: Run clippy - run: ./ci/jobs/clippy.sh - rustfmt: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Install rustfmt - run: rustup component add rustfmt - - name: Ensure executable - run: chmod +x ./ci/jobs/rustfmt.sh - - name: Run rustfmt - run: ./ci/jobs/rustfmt.sh \ No newline at end of file +#name: rust +#on: +# workflow_dispatch: +# push: +# branches: +# - main +# paths-ignore: +# - "**.md" +# pull_request: +# branches: +# - main +# paths-ignore: +# - "**.md" +# +# env: +# CARGO_TERM_COLOR: always +# +#jobs: +# build-imbue-collator: +# runs-on: ubuntu-latest +# steps: +# - name: Checkout sources +# uses: actions/checkout@v4 +# with: +# submodules: recursive +# +# - name: Install minimal nightly Rust +# uses: actions-rs/toolchain@v1 +# with: +# profile: minimal +# toolchain: nightly-2023-05-22 +# target: wasm32-unknown-unknown +# override: true +# +# - name: Update submodules +# run: git submodule update --recursive --remote +# +# - name: Clean unused directories +# run: sudo rm -rf /usr/share/dotnet;sudo rm -rf /opt/ghc;sudo rm -rf "/usr/local/share/boost";sudo rm -rf "$AGENT_TOOLSDIRECTORY" +# +# - name: Install Protobuf +# run: sudo apt install protobuf-compiler +# +# - name: Run tests with benchmarks +# run: cargo test --features runtime-benchmarks +# clippy: +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v4 +# - name: Install Protobuf +# run: sudo apt install protobuf-compiler +# - name: Install minimal nightly Rust +# uses: actions-rs/toolchain@v1 +# with: +# profile: minimal +# toolchain: nightly-2023-05-22 +# target: wasm32-unknown-unknown +# override: true +# - name: Install clippy +# run: rustup component add clippy +# - name: Ensure executable +# run: chmod +x ./ci/jobs/clippy.sh +# - name: Run clippy +# run: ./ci/jobs/clippy.sh +# rustfmt: +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v4 +# - name: Install rustfmt +# run: rustup component add rustfmt +# - name: Ensure executable +# run: chmod +x ./ci/jobs/rustfmt.sh +# - name: Run rustfmt +# run: ./ci/jobs/rustfmt.sh \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml index 90acacc3..d0d38382 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,7 @@ [profile.release] panic = 'unwind' split-debuginfo = "unpacked" +opt-level = 3 [workspace.package] authors = ["imbue "] @@ -23,3 +24,14 @@ members = [ "runtime/imbue-kusama", "runtime/common", ] + +# make sure dev builds with backtrace do +# not slow us down +[profile.dev.package.backtrace] +inherits = "release" + +[profile.production] +inherits = "release" +lto = true +codegen-units = 1 +