Skip to content

Commit

Permalink
chore: add GitHub Actions for CI and package publishing (#5)
Browse files Browse the repository at this point in the history
* chore: add GitHub Actions for CI and package publishing

This commit introduces two new GitHub Actions workflows: `rust.yml` for continuous integration, which includes linting and testing for Rust code, and `publish.yml` for publishing the package to crates.io on release. These additions ensure code quality and automate the package release process.

* Add missing `Vec` import for proper allocation
  • Loading branch information
shuhuiluo authored Nov 4, 2024
1 parent e1c5f14 commit 53d2208
Show file tree
Hide file tree
Showing 3 changed files with 83 additions and 0 deletions.
20 changes: 20 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Publish package

on:
release:
types: [ published ]

env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

jobs:
cargo_publish:
name: Publish to crates.io
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Publish to crates.io
run: cargo publish
62 changes: 62 additions & 0 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Rust CI

on:
push:
branches:
- main
pull_request:

env:
CARGO_TERM_COLOR: always

jobs:
lint:
name: Rust Lint Check
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Cache Cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.toml') }}
restore-keys: |
${{ runner.os }}-cargo-registry-
- name: Install Rust toolchain via rustup
run: |
rustup component add clippy
rustup component add rustfmt
- name: Check linting
run: cargo clippy --all-targets --all-features -- -D warnings
- name: Check formatting
run: cargo fmt --all -- --check

test:
needs: lint
name: Rust Tests
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Cache Cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.toml') }}
restore-keys: |
${{ runner.os }}-cargo-registry-
- name: Build
run: cargo build
- name: Run tests
run: cargo test
1 change: 1 addition & 0 deletions src/utils/v4_base_actions_parser.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
use crate::prelude::{Actions, ActionsParams, Error};
use alloc::vec::Vec;
use alloy_primitives::Bytes;
use alloy_sol_types::SolType;
use core::iter::zip;
Expand Down

0 comments on commit 53d2208

Please sign in to comment.