-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci: add rust_ci.yaml github workflow (#15)
* ci: add rust_ci.yaml github workflow * ci: remove benchmark from rust_ci since we don't have any * test: add dummy test in eigenda_data just to make `just test` not complain * style: fix lint issues * style: beautify justfile layout to make it easier to read * ci: add unused deps job to rust_ci workflow * ci: remove build job from rust_ci workflow * chore: fix justfile (lint was being redefined twice) * ci: fix unused-deps job, need to install machete, not unused-deps * ci: properly install cargo-machete in rust_ci * ci: wrong name for cargo-udeps * ci: increase unused-deps job timeout to 5 mins * style: stringify EigenDACommitment hint as "eigenda-commitment" instead of "altda-commitment"
- Loading branch information
Showing
11 changed files
with
250 additions
and
95 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
name: Rust CI | ||
|
||
on: | ||
push: | ||
branches: [master] | ||
merge_group: | ||
pull_request: | ||
|
||
env: | ||
CARGO_TERM_COLOR: always | ||
|
||
jobs: | ||
cargo-tests: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 20 | ||
name: test | ||
steps: | ||
- name: Checkout sources | ||
uses: actions/checkout@v4 | ||
- uses: taiki-e/install-action@just | ||
- name: Install Rust stable toolchain | ||
uses: dtolnay/rust-toolchain@stable | ||
- uses: Swatinem/rust-cache@v2 | ||
with: | ||
cache-on-failure: true | ||
- uses: taiki-e/install-action@nextest | ||
- name: cargo test | ||
run: just test | ||
cargo-lint: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 20 | ||
strategy: | ||
matrix: | ||
# TODO: add back cannon and asterisc once we are using them | ||
# See https://github.com/Layr-Labs/kona/blob/main/.github/workflows/rust_ci.yaml | ||
target: ["native"] | ||
name: lint-${{ matrix.target }} | ||
steps: | ||
- name: Checkout sources | ||
uses: actions/checkout@v4 | ||
- uses: taiki-e/install-action@just | ||
- name: Install Rust nightly toolchain | ||
uses: dtolnay/rust-toolchain@nightly | ||
with: | ||
components: rustfmt, clippy | ||
- uses: Swatinem/rust-cache@v2 | ||
with: | ||
cache-on-failure: true | ||
prefix-key: ${{ matrix.target }} | ||
- name: Log into ghcr | ||
uses: docker/login-action@v3 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
- name: fmt + lint | ||
run: just lint-${{ matrix.target }} | ||
- name: chown target | ||
run: | | ||
sudo chown -R $(id -u):$(id -g) ./target | ||
cargo-doc: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 20 | ||
steps: | ||
- name: Checkout sources | ||
uses: actions/checkout@v4 | ||
- uses: taiki-e/install-action@just | ||
- name: Install Rust stable toolchain | ||
uses: dtolnay/rust-toolchain@stable | ||
- uses: Swatinem/rust-cache@v2 | ||
with: | ||
cache-on-failure: true | ||
- name: doclint | ||
run: just lint-docs | ||
- name: doctest | ||
run: just test-docs | ||
cargo-hack: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 20 | ||
steps: | ||
- name: Checkout sources | ||
uses: actions/checkout@v4 | ||
- uses: taiki-e/install-action@just | ||
- name: Install Rust stable toolchain | ||
uses: dtolnay/rust-toolchain@stable | ||
- uses: taiki-e/install-action@cargo-hack | ||
- uses: Swatinem/rust-cache@v2 | ||
with: | ||
cache-on-failure: true | ||
- name: cargo hack | ||
run: just hack | ||
unused-deps: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 5 # machete runs very quickly but need longer timeout to install the tools | ||
steps: | ||
- name: Checkout sources | ||
uses: actions/checkout@v4 | ||
- uses: taiki-e/install-action@v2 | ||
with: | ||
tool: just, cargo-udeps | ||
- name: Install cargo-machete | ||
run: cargo install cargo-machete | ||
- name: Install Rust stable toolchain | ||
uses: dtolnay/rust-toolchain@stable | ||
- uses: Swatinem/rust-cache@v2 | ||
with: | ||
cache-on-failure: true | ||
- run: just unused-deps |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.