diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000000000000000000000000000000000000..77c7659cea842aabd71f7f6521766e479ca7d2e5 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,44 @@ + +on: + push: + tags: + - 'v*' +name: Release + +jobs: + build: + name: Release + runs-on: ubuntu-latest + permissions: + packages: write + contents: write + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Build project + id: build_project + run: | + VERSION=${GITHUB_REF_NAME#v} + echo "path=Luna3-${VERSION}.plasmoid" >> "$GITHUB_OUTPUT" + sed -Eie 's#"Version": "[0-9.]+",#"Version": "${{ github.ref }}",#' package/metadata.json + sed -Eie 's#refs/tags/v##' package/metadata.json + make plasmoid + + - name: Create Release + id: create_release + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + title: Release ${{ github.ref_name }} + tag: ${{ github.ref_name }} + run: gh release create ${tag} -t "${title}" + + - name: Upload Release Asset + id: upload-release-asset + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ github.ref_name }} + asset_path: ${{ steps.build_project.outputs.path }} + run: gh release upload ${tag} "${asset_path}" + + diff --git a/release.sh b/release.sh new file mode 100755 index 0000000000000000000000000000000000000000..fb2d8fdb791ad1d74a5f128e572cbb4ba362eca3 --- /dev/null +++ b/release.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +if [[ "$#" -eq 0 ]]; then + echo "Usage: release.sh VERSION [OPTION]..." + exit 0 +fi + +VERSION=${1#v} +VERSION=${VERSION:?Must provide version number.} +shift + +git tag v${VERSION} $@ +sed -Eie 's#"Version": "[0-9.]+",#"Version": "'"${VERSION}"'",#' package/metadata.json