Skip to content

Commit d574b43

Browse files
committed
Update GitHub Actions, add publish job
1 parent 97e87ef commit d574b43

File tree

1 file changed

+33
-9
lines changed

1 file changed

+33
-9
lines changed

.github/workflows/build.yaml

+33-9
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,53 @@
11
name: build
22

3-
on: [push]
3+
on: [push, pull_request]
44

55
jobs:
66
test:
7+
runs-on: ubuntu-latest
8+
9+
env:
10+
RUSTFLAGS: --deny warnings
11+
712
strategy:
813
matrix:
914
toolchain: [stable, beta, nightly]
1015

11-
runs-on: ubuntu-latest
12-
1316
steps:
14-
- uses: actions/checkout@v2
17+
- uses: actions/checkout@v3
1518

16-
- uses: actions-rs/toolchain@v1
19+
- uses: dtolnay/rust-toolchain@master
1720
with:
1821
toolchain: ${{ matrix.toolchain }}
19-
components: rustfmt, clippy
20-
override: true
22+
components: clippy, rustfmt
2123

2224
- name: Rustfmt
2325
run: cargo fmt -- --check
2426

2527
- name: Clippy
26-
run: cargo clippy -- -D warnings -D clippy::use-self -D clippy::items-after-statements -D clippy::if-not-else
28+
run: cargo clippy --workspace --all-targets -- -D warnings -D clippy::use-self -D clippy::items-after-statements -D clippy::if-not-else
2729

2830
- name: Test
29-
run: cargo test --workspace --locked
31+
run: cargo test --workspace
32+
33+
publish:
34+
needs: [test]
35+
if: startsWith(github.ref, 'refs/tags/')
36+
37+
runs-on: ubuntu-latest
38+
39+
steps:
40+
- uses: actions/checkout@v3
41+
- uses: dtolnay/rust-toolchain@stable
42+
43+
- name: Calculate version from tag
44+
id: version
45+
run: echo "value=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
46+
47+
- name: Check tag against package version
48+
run: grep '^version = "${{ steps.version.outputs.value }}"$' Cargo.toml
49+
50+
- name: Publish
51+
env:
52+
CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
53+
run: cargo publish

0 commit comments

Comments
 (0)