Skip to content

fix(release): fix lint and prepare v0.5.0 release notes (#91) #22

fix(release): fix lint and prepare v0.5.0 release notes (#91)

fix(release): fix lint and prepare v0.5.0 release notes (#91) #22

Workflow file for this run

name: "📦 Release"
on:
push:
tags: ["v*"]
permissions:
contents: write
jobs:
tag_check:
name: "🔎 Tag Check"
runs-on: ubuntu-latest
outputs:
semver_match: ${{ steps.regex-match.outputs.match }}
steps:
- name: "🔎 Match SemVer Tag"
uses: actions-ecosystem/action-regex-match@v2
id: regex-match
with:
text: ${{ github.ref_name }}
regex: '^v[0-9]+\.[0-9]+\.[0-9]+$'
package:
name: "📦 Package"
runs-on: ubuntu-latest
needs: [tag_check]
if: ${{ needs.tag_check.outputs.semver_match != '' }}
steps:
- name: "📥 Checkout"
uses: actions/checkout@v4
- name: "📦 Package"
run: |
mkdir -p dist
VERSION="${GITHUB_REF_NAME}"
git archive --format=tar.gz --output="dist/lode-${VERSION}.tar.gz" HEAD
sha256sum "dist/lode-${VERSION}.tar.gz" > "dist/lode-${VERSION}.tar.gz.sha256"
- name: "⬆️ Upload Artifacts"
uses: actions/upload-artifact@v4
with:
name: release-dist
path: dist/
hold:
name: "⏸️ Release Approval"
runs-on: ubuntu-latest
needs: [package]
environment:
name: release
steps:
- name: "✅ Await Approval"
run: echo "Release approved; continuing."
release:
name: "🚀 GitHub Release"
runs-on: ubuntu-latest
needs: [hold]
steps:
- name: "⬇️ Download Artifacts"
uses: actions/download-artifact@v4
with:
name: release-dist
path: dist
- name: "🚀 Create Release"
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.ref_name }}
generate_release_notes: true
files: dist/*