Skip to content

Commit ca9a4ae

Browse files
ci: use reusable workflows (#6)
1 parent 2496deb commit ca9a4ae

3 files changed

Lines changed: 11 additions & 138 deletions

File tree

.github/workflows/ci.yml

Lines changed: 3 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -10,52 +10,6 @@ permissions:
1010
contents: read
1111

1212
jobs:
13-
lint:
14-
name: Lint
15-
runs-on: ubuntu-latest
16-
17-
steps:
18-
- name: Checkout
19-
uses: actions/checkout@v6
20-
21-
- name: Set up Rust toolchain
22-
uses: actions-rust-lang/setup-rust-toolchain@v1
23-
with:
24-
components: clippy, rustfmt
25-
26-
- name: Install Cargo Binary Install
27-
uses: cargo-bins/cargo-binstall@main
28-
29-
- name: Install crates
30-
run: cargo binstall -y --force cargo-deny cargo-machete cargo-sort
31-
32-
- name: Lint
33-
run: cargo clippy --all-features --all-targets --locked
34-
35-
- name: Check dependencies
36-
run: cargo deny check
37-
38-
- name: Check unused dependencies
39-
run: cargo machete --with-metadata
40-
41-
- name: Check manifest formatting
42-
run: cargo sort --workspace --check
43-
44-
- name: Check formatting
45-
run: cargo fmt --all --check
46-
47-
test:
48-
name: Test
49-
runs-on: ubuntu-latest
50-
51-
steps:
52-
- name: Checkout
53-
uses: actions/checkout@v6
54-
55-
- name: Set up Rust toolchain
56-
uses: actions-rust-lang/setup-rust-toolchain@v1
57-
with:
58-
components: clippy, rustfmt
59-
60-
- name: Test
61-
run: cargo test --all-features --all-targets --locked --release
13+
rust:
14+
name: Rust
15+
uses: RustForWeb/.github/.github/workflows/rust.yml@c18f3b7315df398b6af8d03f823e31daeda63114

.github/workflows/publish.yml

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,11 @@ on:
44
release:
55
types: [published]
66

7+
permissions:
8+
contents: read
9+
id-token: write
10+
711
jobs:
812
publish:
913
name: Publish
10-
runs-on: ubuntu-latest
11-
12-
permissions:
13-
contents: read
14-
id-token: write
15-
16-
steps:
17-
- name: Checkout
18-
uses: actions/checkout@v6
19-
20-
- name: Set up Rust toolchain
21-
uses: actions-rust-lang/setup-rust-toolchain@v1
22-
23-
- name: Install Cargo Binary Install
24-
uses: cargo-bins/cargo-binstall@main
25-
26-
- name: Install crates
27-
run: cargo binstall --force -y cargo-workspaces
28-
29-
- uses: rust-lang/crates-io-auth-action@v1
30-
id: auth
31-
32-
- name: Publish
33-
run: cargo workspaces publish --publish-as-is
34-
env:
35-
CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}
14+
uses: RustForWeb/.github/.github/workflows/publish.yml@c18f3b7315df398b6af8d03f823e31daeda63114

.github/workflows/release.yml

Lines changed: 3 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -18,66 +18,6 @@ permissions:
1818
jobs:
1919
release:
2020
name: Release
21-
runs-on: ubuntu-latest
22-
23-
steps:
24-
- name: Generate GitHub App token
25-
id: app-token
26-
uses: getsentry/action-github-app-token@v3
27-
with:
28-
app_id: ${{ secrets.APP_ID }}
29-
private_key: ${{ secrets.APP_PRIVATE_KEY }}
30-
31-
- name: Checkout
32-
uses: actions/checkout@v6
33-
34-
- name: Set up Rust toolchain
35-
uses: actions-rust-lang/setup-rust-toolchain@v1
36-
37-
- name: Install Cargo Binary Install
38-
uses: cargo-bins/cargo-binstall@main
39-
40-
- name: Install crates
41-
run: cargo binstall --force -y cargo-workspaces toml-cli
42-
43-
- name: Bump version
44-
run: cargo workspaces version --all --no-git-commit --yes ${{ inputs.bump }}
45-
46-
- name: Extract version
47-
id: extract-version
48-
run: echo "VERSION=v$(toml get Cargo.toml package.version --raw)" >> "$GITHUB_OUTPUT"
49-
50-
- name: Add changes
51-
run: git add .
52-
53-
- name: Commit
54-
id: commit
55-
uses: dsanders11/github-app-commit-action@v1
56-
with:
57-
message: ${{ steps.extract-version.outputs.VERSION }}
58-
token: ${{ steps.app-token.outputs.token }}
59-
60-
- name: Reset and pull
61-
run: git reset --hard && git pull
62-
63-
- name: Tag
64-
uses: actions/github-script@v8
65-
env:
66-
GIT_TAG: ${{ steps.extract-version.outputs.VERSION }}
67-
GIT_SHA: ${{ steps.commit.outputs.sha }}
68-
with:
69-
script: |
70-
github.rest.git.createRef({
71-
owner: context.repo.owner,
72-
repo: context.repo.repo,
73-
ref: `refs/tags/${process.env.GIT_TAG}`,
74-
sha: process.env.GIT_SHA
75-
})
76-
77-
- name: Release
78-
uses: softprops/action-gh-release@v2
79-
with:
80-
generate_release_notes: true
81-
make_latest: true
82-
tag_name: ${{ steps.extract-version.outputs.VERSION }}
83-
token: ${{ steps.app-token.outputs.token }}
21+
uses: RustForWeb/.github/.github/workflows/release.yml@c18f3b7315df398b6af8d03f823e31daeda63114
22+
with:
23+
bump: ${{ inputs.bump }}

0 commit comments

Comments
 (0)