@@ -14,11 +14,58 @@ permissions:
1414 pages : write # To deploy to GitHub Pages
1515
1616jobs :
17+ build :
18+ runs-on : ${{ matrix.config.os }}
19+ strategy :
20+ fail-fast : true
21+ matrix :
22+ config :
23+ # See details fore GitHub Actions runners
24+ # https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners
25+ - os : ubuntu-20.04
26+ rust_target : x86_64-unknown-linux-gnu
27+ ext : " "
28+ args : " "
29+ - os : macos-latest
30+ rust_target : x86_64-apple-darwin
31+ ext : " "
32+ args : " "
33+ - os : macos-14 # beta (Apple Silicon)
34+ rust_target : aarch64-apple-darwin
35+ ext : " "
36+ args : " "
37+ - os : windows-latest
38+ rust_target : x86_64-pc-windows-msvc
39+ ext : " .exe"
40+ args : " "
41+ - os : windows-latest
42+ rust_target : aarch64-pc-windows-msvc
43+ ext : " .exe"
44+ args : " --no-default-features --features native-tls-vendored"
45+ steps :
46+ - uses : actions/checkout@v4
47+
48+ - uses : actions-rs/toolchain@v1
49+ with :
50+ profile : minimal
51+ toolchain : stable
52+ override : true
53+
54+ - run : cargo build --release
55+
56+ - run : tar czvf commitlint-${{ github.ref_name }}-${{ matrix.config.rust_target }}.tar.gz -C target/release commitlint${{ matrix.config.ext }}
57+
58+ - uses : actions/upload-artifact@v4
59+ with :
60+ name : commitlint-${{ matrix.config.rust_target }}
61+ path : commitlint-${{ github.ref_name }}-${{ matrix.config.rust_target }}.tar.gz
62+ if-no-files-found : error
63+
1764 crate :
1865 runs-on : ubuntu-latest
1966 environment : crate
2067 steps :
21- - uses : actions/checkout@v3
68+ - uses : actions/checkout@v4
2269 - uses : actions-rs/toolchain@v1
2370 with :
2471 toolchain : stable
@@ -44,12 +91,12 @@ jobs:
4491 - info
4592 steps :
4693 - uses : docker/setup-qemu-action@v3
47- - uses : docker/setup-buildx-action@v2
48- - uses : docker/login-action@v2
94+ - uses : docker/setup-buildx-action@v3
95+ - uses : docker/login-action@v3
4996 with :
5097 username : ${{ secrets.DOCKERHUB_USERNAME }}
5198 password : ${{ secrets.DOCKERHUB_TOKEN }}
52- - uses : docker/build-push-action@v4
99+ - uses : docker/build-push-action@v6
53100 with :
54101 platforms : linux/amd64,linux/arm64
55102 push : true
@@ -68,12 +115,19 @@ jobs:
68115 publish :
69116 runs-on : ubuntu-latest
70117 needs :
118+ - build
71119 - crate
72120 - docker
73121 - web
74122 steps :
123+ - uses : actions/download-artifact@v4
124+ with :
125+ path : commitlint
126+ pattern : commitlint-*
127+ merge-multiple : true
75128 - uses : ncipollo/release-action@v1
76129 with :
130+ artifacts : commitlint/commitlint-*.tar.gz
77131 generateReleaseNotes : true
78132
79133 web :
82136 name : web
83137 url : ${{ steps.deployment.outputs.page_url }}
84138 steps :
85- - uses : actions/checkout@v3
86- - uses : withastro/action@v0
139+ - uses : actions/checkout@v4
140+ - uses : withastro/action@v2
87141 with :
88142 path : ./web
89143 - id : deployment
90- uses : actions/deploy-pages@v2
144+ uses : actions/deploy-pages@v4
0 commit comments