diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..f80fe52 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,53 @@ +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" \ No newline at end of file diff --git a/manifest.json b/manifest.json index 82b3c35..70a8ad7 100644 --- a/manifest.json +++ b/manifest.json @@ -28,7 +28,7 @@ "branch": "main", "release": { "tag": "0.1.0", - "file": "release.zip" + "file": "LiteLoaderQQNT-Native-Menu-release.zip" } } } \ No newline at end of file