setup workfolw #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "tagged-release" | |
on: | |
push: | |
paths: | |
- 'manifest.json' | |
jobs: | |
tagged-release: | |
name: "Tagged Release" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Checkout Repository" | |
uses: "actions/checkout@v4" | |
with: | |
fetch-depth: 2 # Ensure we can get the previous version | |
- name: "Read versions from manifest" | |
id: read-versions | |
run: | | |
version=$(cat manifest.json | jq -r .version) | |
echo "version=$version" >> "$GITHUB_OUTPUT" | |
echo "Version: $version" | |
previous_version=$(git show HEAD^:manifest.json | jq -r .version) | |
echo "previous-version=previous_version$" >> "$GITHUB_OUTPUT" | |
echo "Previous version: $previous_version" | |
- name: "pnpm build" | |
if: ${{ steps.read-versions.outputs.version != steps.read-versions.outputs.previous-version }} | |
run: | | |
echo "Building the project..." | |
pnpm install | |
pnpm run build | |
echo "Done!" | |
- name: "Zip release files" # Only if the version has been updated | |
if: ${{ steps.read-versions.outputs.version != steps.read-versions.outputs.previous-version }} | |
run: | | |
echo "Creating a release zip file..." | |
zip -r "${{github.event.repository.name}}-release.zip" dist/ LICENSE README.md manifest.json | |
echo "Done!" | |
- name: "Create Release" | |
if: ${{ steps.read-versions.outputs.version != steps.read-versions.outputs.previous-version }} | |
uses: "marvinpinto/action-automatic-releases@latest" | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
prerelease: false | |
automatic_release_tag: "${{ steps.read-versions.outputs.version }}" | |
title: "${{ steps.read-versions.outputs.version }}" | |
files: | | |
"${{github.event.repository.name}}-release.zip" |