From 1a5569529ae2cad870cbbad5c7d17a866ce677e8 Mon Sep 17 00:00:00 2001 From: Jason Ozias Date: Fri, 10 Oct 2025 10:43:10 -0400 Subject: [PATCH 1/3] github actions setup --- .github/FUNDING.yml | 1 + .github/codecov.yml | 8 ++ .github/dependabot.yml | 6 ++ .github/workflows/audit.yml | 37 +++++++++ .github/workflows/barto.yml | 159 ++++++++++++++++++++++++++++++++++++ 5 files changed, 211 insertions(+) create mode 100644 .github/FUNDING.yml create mode 100644 .github/codecov.yml create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/audit.yml create mode 100644 .github/workflows/barto.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..dab1437 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +github: crazysacx \ No newline at end of file diff --git a/.github/codecov.yml b/.github/codecov.yml new file mode 100644 index 0000000..134e96b --- /dev/null +++ b/.github/codecov.yml @@ -0,0 +1,8 @@ +coverage: + status: + project: + default: + # basic + target: 10% + threshold: 10% + if_ci_failed: error \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..e509831 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "cargo" + directory: "/" + schedule: + interval: "daily" \ No newline at end of file diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml new file mode 100644 index 0000000..909b240 --- /dev/null +++ b/.github/workflows/audit.yml @@ -0,0 +1,37 @@ +on: + workflow_dispatch: + # Trigger the workflow on push to master or any pull request + # Ignore all tags + push: + branches: + - master + tags-ignore: + - "*" + pull_request: + schedule: + # * is a special character in YAML so you have to quote this string + - cron: "22 3 * * *" + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + +name: 💣 Audit 💣 + +jobs: + audit-check: + runs-on: ubuntu-latest + name: 💣 Audit 💣 + steps: + - name: ✅ Checkout ✅ + uses: actions/checkout@v3 + - name: 💣 Audit 💣 + id: audit + uses: rustyhorde/audit-check@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + deny: 'warnings' + create_issue: 'true' \ No newline at end of file diff --git a/.github/workflows/barto.yml b/.github/workflows/barto.yml new file mode 100644 index 0000000..3c03e33 --- /dev/null +++ b/.github/workflows/barto.yml @@ -0,0 +1,159 @@ +on: + workflow_dispatch: + push: + branches: + - master + tags-ignore: + - "*" + pull_request: + schedule: + - cron: "16 4 * * *" + +env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + +name: 🦀 barto 🦀 + +jobs: + rustfmt: + name: 📌 Formatting 📌 + uses: rustyhorde/workflows/.github/workflows/rustfmt.yml@main + + lints-linux: + name: 🕳️ Clippy (Linux) 🕳️ + needs: rustfmt + uses: rustyhorde/workflows/.github/workflows/clippy-all-features.yml@main + with: + os: ubuntu-latest + channel: nightly + target: x86_64-unknown-linux-gnu + update: true + project: barto + + lints-macos: + name: 🕳️ Clippy (MacOS) 🕳️ + needs: rustfmt + uses: rustyhorde/workflows/.github/workflows/clippy-all-features.yml@main + with: + os: macos-latest + channel: nightly + target: apple-darwin + update: true + project: barto + + lints-windows: + name: 🕳️ Clippy (Windows) 🕳️ + needs: rustfmt + uses: rustyhorde/workflows/.github/workflows/clippy-all-features.yml@main + with: + os: windows-latest + channel: nightly + target: x86_64-pc-windows-gnu + update: true + project: barto + + test-linux: + name: 🧪 Test (Linux) 🧪 + needs: lints-linux + strategy: + matrix: + os: [ubuntu-latest] + channel: ["1.89.0", "stable", "beta", "nightly"] + target: [x86_64-unknown-linux-gnu] + uses: rustyhorde/workflows/.github/workflows/test-all-features.yml@main + with: + os: ${{ matrix.os }} + channel: ${{ matrix.channel }} + target: ${{ matrix.target }} + update: true + project: barto + + test-macos: + name: 🧪 Test (MacOS) 🧪 + needs: lints-macos + strategy: + matrix: + os: [macos-latest] + channel: ["1.89.0", "stable", "beta", "nightly"] + target: [apple-darwin] + uses: rustyhorde/workflows/.github/workflows/test-all-features.yml@main + with: + os: ${{ matrix.os }} + channel: ${{ matrix.channel }} + target: ${{ matrix.target }} + update: true + project: barto + + test-windows-gnu: + name: 🧪 Test (Windows - GNU) 🧪 + needs: lints-windows + strategy: + matrix: + os: [windows-latest] + channel: ["1.89.0", "stable", "beta", "nightly"] + target: [x86_64-pc-windows-gnu] + uses: rustyhorde/workflows/.github/workflows/test-all-features.yml@main + with: + os: ${{ matrix.os }} + channel: ${{ matrix.channel }} + target: ${{ matrix.target }} + update: true + project: barto + + test-windows-msvc: + name: 🧪 Test (Windows - MSVC) 🧪 + needs: lints-windows + strategy: + matrix: + os: [windows-latest] + channel: ["1.89.0", "stable", "beta", "nightly"] + target: [x86_64-pc-windows-msvc] + uses: rustyhorde/workflows/.github/workflows/test-all-features.yml@main + with: + os: ${{ matrix.os }} + channel: ${{ matrix.channel }} + target: ${{ matrix.target }} + update: true + project: barto + + coverage-linux: + name: 🧱 Coverage (Linux) 🧱 + needs: test-linux + uses: rustyhorde/workflows/.github/workflows/coverage.yml@main + with: + os: ubuntu-latest + channel: nightly + target: x86_64-unknown-linux-gnu + lcov: true + html: true + run_cmd: ${{ vars.COVERAGE_RUN_CMD }} + secrets: inherit + + coverage-macos: + name: 🧱 Coverage (MacOS) 🧱 + needs: test-macos + uses: rustyhorde/workflows/.github/workflows/coverage.yml@main + with: + os: macos-latest + channel: nightly + target: apple-darwin + lcov: true + html: true + run_cmd: ${{ vars.COVERAGE_RUN_CMD }} + secrets: inherit + + coverage-windows: + name: 🧱 Coverage (Wndows) 🧱 + needs: [test-windows-gnu, test-windows-msvc] + strategy: + matrix: + target: [x86_64-pc-windows-gnu, x86_64-pc-windows-msvc] + uses: rustyhorde/workflows/.github/workflows/coverage.yml@main + with: + os: windows-latest + channel: nightly + target: ${{ matrix.target }} + lcov: true + html: true + run_cmd: ${{ vars.COVERAGE_RUN_CMD }} + secrets: inherit From 99517f5292f372a8959bd02007ad09e787cb655c Mon Sep 17 00:00:00 2001 From: Jason Ozias Date: Fri, 10 Oct 2025 10:56:21 -0400 Subject: [PATCH 2/3] configure ignored audits, workflow update --- .cargo/audit.toml | 2 ++ .github/workflows/barto.yml | 47 ++++++++++--------------------------- 2 files changed, 14 insertions(+), 35 deletions(-) create mode 100644 .cargo/audit.toml diff --git a/.cargo/audit.toml b/.cargo/audit.toml new file mode 100644 index 0000000..c4b7e69 --- /dev/null +++ b/.cargo/audit.toml @@ -0,0 +1,2 @@ +[advisories] +ignore = ["RUSTSEC-2023-0071", "RUSTSEC-2025-0055"] \ No newline at end of file diff --git a/.github/workflows/barto.yml b/.github/workflows/barto.yml index 3c03e33..977a203 100644 --- a/.github/workflows/barto.yml +++ b/.github/workflows/barto.yml @@ -1,13 +1,18 @@ on: - workflow_dispatch: push: branches: - master tags-ignore: - "*" pull_request: + branches: + - "*" schedule: - - cron: "16 4 * * *" + - cron: "27 4 * * *" + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} @@ -27,8 +32,6 @@ jobs: os: ubuntu-latest channel: nightly target: x86_64-unknown-linux-gnu - update: true - project: barto lints-macos: name: 🕳️ Clippy (MacOS) 🕳️ @@ -38,8 +41,6 @@ jobs: os: macos-latest channel: nightly target: apple-darwin - update: true - project: barto lints-windows: name: 🕳️ Clippy (Windows) 🕳️ @@ -49,8 +50,6 @@ jobs: os: windows-latest channel: nightly target: x86_64-pc-windows-gnu - update: true - project: barto test-linux: name: 🧪 Test (Linux) 🧪 @@ -65,8 +64,6 @@ jobs: os: ${{ matrix.os }} channel: ${{ matrix.channel }} target: ${{ matrix.target }} - update: true - project: barto test-macos: name: 🧪 Test (MacOS) 🧪 @@ -81,40 +78,20 @@ jobs: os: ${{ matrix.os }} channel: ${{ matrix.channel }} target: ${{ matrix.target }} - update: true - project: barto - - test-windows-gnu: - name: 🧪 Test (Windows - GNU) 🧪 - needs: lints-windows - strategy: - matrix: - os: [windows-latest] - channel: ["1.89.0", "stable", "beta", "nightly"] - target: [x86_64-pc-windows-gnu] - uses: rustyhorde/workflows/.github/workflows/test-all-features.yml@main - with: - os: ${{ matrix.os }} - channel: ${{ matrix.channel }} - target: ${{ matrix.target }} - update: true - project: barto - test-windows-msvc: - name: 🧪 Test (Windows - MSVC) 🧪 + test-windows: + name: 🧪 Test (Windows) 🧪 needs: lints-windows strategy: matrix: os: [windows-latest] channel: ["1.89.0", "stable", "beta", "nightly"] - target: [x86_64-pc-windows-msvc] + target: [x86_64-pc-windows-gnu, x86_64-pc-windows-msvc] uses: rustyhorde/workflows/.github/workflows/test-all-features.yml@main with: os: ${{ matrix.os }} channel: ${{ matrix.channel }} target: ${{ matrix.target }} - update: true - project: barto coverage-linux: name: 🧱 Coverage (Linux) 🧱 @@ -144,7 +121,7 @@ jobs: coverage-windows: name: 🧱 Coverage (Wndows) 🧱 - needs: [test-windows-gnu, test-windows-msvc] + needs: test-windows strategy: matrix: target: [x86_64-pc-windows-gnu, x86_64-pc-windows-msvc] @@ -156,4 +133,4 @@ jobs: lcov: true html: true run_cmd: ${{ vars.COVERAGE_RUN_CMD }} - secrets: inherit + secrets: inherit \ No newline at end of file From d883450185f441ca851b67ac6681cf30b686be52 Mon Sep 17 00:00:00 2001 From: Jason Ozias Date: Fri, 10 Oct 2025 11:09:04 -0400 Subject: [PATCH 3/3] enable unstable on libbarto when unstable on bartoc --- bartoc/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bartoc/Cargo.toml b/bartoc/Cargo.toml index c9bbcc0..b05d5ec 100644 --- a/bartoc/Cargo.toml +++ b/bartoc/Cargo.toml @@ -14,7 +14,7 @@ version = "0.1.0" rust-version = "1.89.0" [features] -unstable = [] +unstable = ["libbarto/unstable"] [dependencies] anyhow = { workspace = true }