ci: setup releasing using actions (#1)
This commit is contained in:
48
.gitea/workflows/release.yml
Normal file
48
.gitea/workflows/release.yml
Normal file
@@ -0,0 +1,48 @@
|
||||
name: Release
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: Release
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write # to be able to publish a GitHub release
|
||||
issues: write # to be able to comment on released issues
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Prepare git
|
||||
run: |
|
||||
git config --global user.email "gitea@bjornp.com"
|
||||
git config --global user.name "gitea-actions"
|
||||
|
||||
- name: Determine release version and changelog
|
||||
run: npx commit-and-tag-version
|
||||
|
||||
- name: Build release
|
||||
working-directory: src
|
||||
run: |
|
||||
VERSION=$(jq '.version' info.json | xargs echo -n)
|
||||
zip -r ../prometheus-exporter_$VERSION.zip .
|
||||
|
||||
- name: Push changelog and tag
|
||||
run: git push --follow-tags
|
||||
|
||||
- name: Get latest tag and changelog fragment
|
||||
id: tag
|
||||
run: |
|
||||
echo tag="$(git describe --tags --abbrev=0)" >> $GITHUB_OUTPUT
|
||||
echo "changelog<<EOF" >> $GITHUB_OUTPUT
|
||||
awk '/^## / { if (version_found) exit; version_found=1 } version_found { print }' CHANGELOG.md | sed '1d' >> $GITHUB_OUTPUT
|
||||
echo "EOF" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Create release
|
||||
uses: akkuman/gitea-release-action@v1
|
||||
with:
|
||||
files: prometheus-exporter_*.zip
|
||||
body: ${{ steps.tag.outputs.changelog }}
|
||||
name: ${{ steps.tag.outputs.tag }}
|
||||
tag_name: ${{ steps.tag.outputs.tag }}
|
||||
md5sum: true
|
||||
Reference in New Issue
Block a user