Skip to content

Commit

Permalink
Add CI for releases (#138)
Browse files Browse the repository at this point in the history
* Add CI for releases

* Release '2.0.1'

* Add missing environment variable to GitHub CLI call

* Don't install parse-changelog if no release is being made
  • Loading branch information
hwittenborn committed Jul 3, 2023
1 parent f32b457 commit 1921f20
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 1 deletion.
41 changes: 41 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Publish
on:
push:
branches: [master]
permissions:
contents: write

jobs:
publish:
name: Publish
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Get local crate version
id: local-version
run: cargo metadata --no-deps --format-version=1 | jq -r '.packages[0].version' | echo "VERSION=$(cat)" >> "${GITHUB_OUTPUT}"
- name: Get crates.io crate version
id: remote-version
run: curl 'https://index.crates.io/co/lo/colored' | jq -r '.vers' | tail -n 1 | echo "VERSION=$(cat)" >> "${GITHUB_OUTPUT}"
- name: Check if crates.io version is older than local version
id: needs-update
run: |
if ! printf '%s\n' "${{ steps.local-version.outputs.VERSION }}" "${{ steps.remote-version.outputs.VERSION }}" | sort -V | tail -n 1 | grep -Fw "${{ steps.remote-version.outputs.VERSION }}"; then
echo "UPDATE=true" >> "${GITHUB_OUTPUT}"
else
echo "UPDATE=false" >> "${GITHUB_OUTPUT}"
fi
- name: Install parse-changelog
if: steps.needs-update.outputs.UPDATE == 'true'
uses: taiki-e/install-action@parse-changelog
- name: Create GitHub release
if: steps.needs-update.outputs.UPDATE == 'true'
run: gh release create "v${{ steps.local-version.outputs.VERSION }}" -n "$(parse-changelog CHANGELOG.md "${{ steps.local-version.outputs.VERSION }}")"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: Publish to crates.io
if: steps.needs-update.outputs.UPDATE == 'true'
run: cargo publish
env:
CARGO_REGISTRY_TOKEN: "${{ secrets.CARGO_REGISTRY_TOKEN }}"
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# 2.0.1 (July 3, 2023)
- Add edition for future compatibility.
- Implement custom colors that can be stored in a variable.

# 2.0.0 (July 14, 2020)
- Add support for true colours.
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "colored"
description = "The most simple way to add colors in your terminal"
version = "2.0.0"
version = "2.0.1"
edition = "2021"
authors = ["Thomas Wickham <mackwic@gmail.com>"]
license = "MPL-2.0"
Expand Down

0 comments on commit 1921f20

Please sign in to comment.