diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml new file mode 100644 index 0000000..d6f1ee1 --- /dev/null +++ b/.github/workflows/autofix.yml @@ -0,0 +1,53 @@ +# ------------------------------------------------------------------- +# ------------------------------- WARNING --------------------------- +# ------------------------------------------------------------------- +# +# This file was automatically generated by gh-workflows using the +# gh-workflow-gen bin. You should add and commit this file to your +# git repository. **DO NOT EDIT THIS FILE BY HAND!** Any manual changes +# will be lost if the file is regenerated. +# +# To make modifications, update your `build.rs` configuration to adjust +# the workflow description as needed, then regenerate this file to apply +# those changes. +# +# ------------------------------------------------------------------- +# ----------------------------- END WARNING ------------------------- +# ------------------------------------------------------------------- + +name: autofix.ci +env: + RUSTFLAGS: -Dwarnings +on: + pull_request: + types: + - opened + - synchronize + - reopened + branches: + - main + push: + branches: + - main +jobs: + lint: + name: Lint Fix + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Checkout Code + uses: actions/checkout@v4 + - name: Setup Rust Toolchain + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: nightly + components: clippy, rustfmt + - name: Cargo Fmt + run: cargo +nightly fmt --all + - name: Cargo Clippy + run: cargo +nightly clippy --fix --allow-dirty --all-features --workspace -- -D warnings + - uses: autofix-ci/action@ff86a557419858bb967097bfc916833f5647fa8c + concurrency: + group: autofix-${{github.ref}} + cancel-in-progress: false diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3464d56..fd5d472 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ # ----------------------------- END WARNING ------------------------- # ------------------------------------------------------------------- -name: Build and Test +name: ci env: RUSTFLAGS: -Dwarnings on: @@ -41,17 +41,32 @@ jobs: - name: Setup Rust Toolchain uses: actions-rust-lang/setup-rust-toolchain@v1 with: - toolchain: stable, nightly - components: clippy, rustfmt + toolchain: stable - name: Cargo Test run: cargo test --all-features --workspace + - name: Cargo Bench + run: cargo bench --workspace + lint: + name: Lint + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Checkout Code + uses: actions/checkout@v4 + - name: Setup Rust Toolchain + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: nightly + components: clippy, rustfmt - name: Cargo Fmt - run: cargo +nightly fmt --check + run: cargo +nightly fmt --all --check - name: Cargo Clippy run: cargo +nightly clippy --all-features --workspace -- -D warnings release: needs: - build + - lint if: ${{ github.ref == 'refs/heads/main' && github.event_name == 'push' }} name: Release runs-on: ubuntu-latest @@ -69,11 +84,15 @@ jobs: uses: release-plz/action@v0.5 with: command: release + concurrency: + group: release-${{github.ref}} + cancel-in-progress: false release-pr: needs: - build + - lint if: ${{ github.ref == 'refs/heads/main' && github.event_name == 'push' }} - name: Release PR + name: Release Pr runs-on: ubuntu-latest permissions: contents: write diff --git a/Cargo.lock b/Cargo.lock index 2b40070..1b4e4ce 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -580,9 +580,9 @@ dependencies = [ [[package]] name = "gh-workflow" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65c9f1a4f712e5dadf26e2ad8d186e365d32f8c49db502bc11d7fed25205a722" +checksum = "6ea61127f989ca4a152b22b48bb712e012a332f5720ebffb79d36b5f17d21db4" dependencies = [ "async-trait", "derive_more", @@ -598,9 +598,9 @@ dependencies = [ [[package]] name = "gh-workflow-macros" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a11ebc296ed5b20738f66eb9b64dc2d1f4906517b1662c7b416612c66a1cbc" +checksum = "3415ff89464a801cd240df6035bbd203960cdb6618f7de68c9e38eeadd8a0cf6" dependencies = [ "heck", "quote", @@ -609,12 +609,13 @@ dependencies = [ [[package]] name = "gh-workflow-tailcall" -version = "0.1.4" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d23e573ef49cbda082c7f0440cefe569a054b2f447529168668f9da6c52edc43" +checksum = "42f01a60e065d545d613b0ac1a22f8310308d608354bcafa81cb53a2f5746869" dependencies = [ "derive_setters", "gh-workflow", + "heck", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 7874087..70df3ef 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ jaq-std = { workspace = true } jaq-json = { workspace = true } [dev-dependencies] -gh-workflow-tailcall = "0.1.3" +gh-workflow-tailcall = "0.2.0" pest = "2.7.14" pest_derive = {version = "2.7.14"} criterion = "0.5.1" diff --git a/tests/ci.rs b/tests/ci.rs index 1141095..e37e297 100644 --- a/tests/ci.rs +++ b/tests/ci.rs @@ -4,7 +4,7 @@ use gh_workflow_tailcall::*; fn generate_ci_workflow() { let workflow = Workflow::default() .auto_release(true) - .name("Build and Test".into()); + .benchmarks(true); workflow.generate().unwrap(); }