-
Notifications
You must be signed in to change notification settings - Fork 224
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci: Automate release process (#1268)
* Update release script to optionally accept CRATES_TOKEN Signed-off-by: Thane Thomson <connect@thanethomson.com> * ci: Add release workflow using release script Signed-off-by: Thane Thomson <connect@thanethomson.com> * ci: Fix release tag matching Signed-off-by: Thane Thomson <connect@thanethomson.com> --------- Signed-off-by: Thane Thomson <connect@thanethomson.com>
- Loading branch information
1 parent
89c8add
commit 8ba8550
Showing
2 changed files
with
43 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# Attempts to perform a release when a particular tag is pushed. This uses the | ||
# release.sh script in the root of the repository, and assumes that the | ||
# CRATES_TOKEN secret has been set and contains an API token with which we can | ||
# publish our crates to crates.io. | ||
# | ||
# If release operation fails partway through due to a temporary error (e.g. the | ||
# crate being published depends on the crate published just prior, but the | ||
# prior crate isn't yet available via crates.io), one can simply rerun this | ||
# workflow. The release.sh script aims to be an idempotent operation, skipping | ||
# the publishing of crates that have already been published. | ||
name: Release | ||
|
||
on: | ||
push: | ||
tags: | ||
- "v[0-9]+.[0-9]+.[0-9]+" # Push events to matching v*, i.e. v0.26.0, v1.0.0 | ||
- "v[0-9]+.[0-9]+.[0-9]+-pre.[0-9]+" # e.g. v0.26.0-pre.1 | ||
|
||
jobs: | ||
release: | ||
runs-on: ubuntu | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions-rs/toolchain@v1 | ||
with: | ||
toolchain: stable | ||
override: true | ||
- name: Publish crates | ||
run: ./release.sh | ||
env: | ||
CRATES_TOKEN: ${{ secrets.CRATES_TOKEN }} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters