diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cb1f71d8..e97243fb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,4 +1,4 @@ -name: build-on-hosted-runner +name: build-on-self-hosted-runner on: workflow_dispatch: push: @@ -11,36 +11,32 @@ on: - main paths-ignore: - "**.md" - env: CARGO_TERM_COLOR: always - jobs: - build-imbue-collator: - runs-on: self-hosted + create-runner: + runs-on: ubuntu-latest + outputs: + label: ${{ steps.create-runner.outputs.label }} steps: - - name: Checkout sources - uses: actions/checkout@v4 + - id: create-runner + uses: related-sciences/gce-github-runner@v0.10 with: - submodules: recursive + 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 + ephemeral: true -# - 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: Run tests with benchmarks - run: cargo test --features runtime-benchmarks - clippy: - runs-on: self-hosted - 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: @@ -48,19 +44,20 @@ jobs: 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: self-hosted - 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 + 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