diff --git a/.gitea/workflows/audit.yaml b/.gitea/workflows/audit.yaml new file mode 100644 index 0000000..1fb7bea --- /dev/null +++ b/.gitea/workflows/audit.yaml @@ -0,0 +1,23 @@ +name: Audit + +on: + push: + paths: + - "**/Cargo.toml" + - "**/Cargo.lock" + schedule: + - cron: "0 0 * * *" + +jobs: + audit: + name: cargo audit + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - uses: actions/checkout@v6 + - uses: dtolnay/rust-toolchain@nightly + - uses: Swatinem/rust-cache@v2 + - uses: rustsec/audit-check@v2.0.0 + with: + token: ${{ secrets.GITEA_TOKEN }} diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml new file mode 100644 index 0000000..c10a4a2 --- /dev/null +++ b/.gitea/workflows/ci.yaml @@ -0,0 +1,32 @@ +name: CI +on: + push: + branches: + - "main" + tags: + - "*" + pull_request: + +jobs: + prek: + name: prek + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: dtolnay/rust-toolchain@nightly + with: + components: rustfmt, clippy + - uses: Swatinem/rust-cache@v2 + - uses: j178/prek-action@v2 + + cargo-shear: + name: cargo shear + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: dtolnay/rust-toolchain@nightly + - uses: Swatinem/rust-cache@v2 + - uses: taiki-e/install-action@v2 + with: + tool: cargo-shear + - run: cargo shear --deny-warnings diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml new file mode 100644 index 0000000..95e75cf --- /dev/null +++ b/.gitea/workflows/release.yaml @@ -0,0 +1,49 @@ +name: Release-plz + +on: + push: + branches: + - main + +jobs: + release-plz: + name: Release-plz Release + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: read + steps: + - uses: actions/checkout@v6 + - uses: dtolnay/rust-toolchain@nightly + - uses: Swatinem/rust-cache@v2 + - uses: taiki-e/install-action@v2 + with: + tool: release-plz + - &git-setup + name: Configure git + run: | + git config user.name "Release-plz" + git config user.email "release-plz@noreply.huizinga.dev" + git config url.https://${{ gitea.actor }}:${{ secrets.GITEA_TOKEN }}@git.huizinga.dev/.insteadOf https://git.huizinga.dev/ + - env: + CARGO_REGISTRIES_HUIZINGA_TOKEN: ${{ secrets.REGISTRY_TOKEN }} + run: release-plz release --git-token "${{ secrets.GITEA_TOKEN }}" --forge gitea + + release-plz-pr: + name: Release-plz PR + runs-on: ubuntu-latest + concurrency: + group: release-plz-${{ github.ref }} + cancel-in-progress: false + permissions: + contents: write + pull-requests: write + steps: + - uses: actions/checkout@v6 + - uses: dtolnay/rust-toolchain@nightly + - uses: Swatinem/rust-cache@v2 + - uses: taiki-e/install-action@v2 + with: + tool: release-plz + - <<: *git-setup + - run: release-plz release-pr --git-token "${{ secrets.GITEA_TOKEN }}" --forge gitea diff --git a/.release-plz.toml b/.release-plz.toml new file mode 100644 index 0000000..c2874c0 --- /dev/null +++ b/.release-plz.toml @@ -0,0 +1,3 @@ +[[package]] +name = "xtask" +release = false