🚀 misc: add continuous deployment workflow
This commit is contained in:
parent
7cc74d1fd9
commit
9b8b1396cf
35
.github/workflows/cd.yml
vendored
Normal file
35
.github/workflows/cd.yml
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
name: Continuous Deployment
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v*.*.*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
name: Deploy and release
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Generate the changelog
|
||||||
|
uses: orhun/git-cliff-action@main
|
||||||
|
id: git-cliff
|
||||||
|
with:
|
||||||
|
config: cliff.toml
|
||||||
|
args: --latest --strip all
|
||||||
|
env:
|
||||||
|
OUTPUT: CHANGES.md
|
||||||
|
|
||||||
|
- name: Create GitHub release
|
||||||
|
run: |
|
||||||
|
gh release create ${{ github.ref_name }} \
|
||||||
|
--title "Release ${{ github.ref_name }}" \
|
||||||
|
--notes "${{ steps.git-cliff.outputs.content }}"
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
12
release
12
release
@ -3,6 +3,12 @@
|
|||||||
# Inspired by https://github.com/orhun/git-cliff/blob/main/release.sh
|
# Inspired by https://github.com/orhun/git-cliff/blob/main/release.sh
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
|
# Check for a clean working directory.
|
||||||
|
if [ -n "$(git status --porcelain)" ]; then
|
||||||
|
echo "Your working directory is dirty. Commit or stash your changes before running this script."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# Check if a version tag is provided.
|
# Check if a version tag is provided.
|
||||||
if [ "$#" -eq 1 ]; then
|
if [ "$#" -eq 1 ]; then
|
||||||
VERSION_TAG=$1
|
VERSION_TAG=$1
|
||||||
@ -109,12 +115,8 @@ git show $VERSION_TAG
|
|||||||
echo
|
echo
|
||||||
|
|
||||||
echo "Release $VERSION_TAG is ready. Don't forget to push the changes and the tag:"
|
echo "Release $VERSION_TAG is ready. Don't forget to push the changes and the tag:"
|
||||||
echo "git push && git push --tags"
|
|
||||||
echo
|
|
||||||
echo "Once that's done, you should see your tag on GitHub:"
|
|
||||||
|
|
||||||
remote_url=$(git remote get-url origin)
|
remote_url=$(git remote get-url origin)
|
||||||
|
|
||||||
# Check if the URL is in SSH format (git@).
|
# Check if the URL is in SSH format (git@).
|
||||||
if [[ "$remote_url" == git@github.com:* ]]; then
|
if [[ "$remote_url" == git@github.com:* ]]; then
|
||||||
https_url="https://github.com/${remote_url#git@github.com:}"
|
https_url="https://github.com/${remote_url#git@github.com:}"
|
||||||
@ -123,4 +125,4 @@ else
|
|||||||
https_url="${remote_url%.git}"
|
https_url="${remote_url%.git}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "${https_url}/tags"
|
echo "git push && git push --tags && open ${https_url}/tags"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user