62 lines
2.2 KiB
YAML
62 lines
2.2 KiB
YAML
name: Create Draft Release
|
|
on: [workflow_dispatch]
|
|
jobs:
|
|
everything:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Checkout the repository
|
|
- uses: actions/checkout@v4
|
|
|
|
# Install node and NPM
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: "19"
|
|
|
|
# Install required packages
|
|
- run: npm install
|
|
- run: npm run build
|
|
|
|
- name: Reading the system.json for the version
|
|
id: "version"
|
|
run: cat prod.dist/module.json | echo version=`jq -r ".version"` >> "$GITHUB_OUTPUT"
|
|
|
|
# Check that tag doesn't exist
|
|
- uses: mukunku/tag-exists-action@v1.5.0
|
|
id: check-tag
|
|
with:
|
|
tag: "v${{ steps.version.outputs.version }}"
|
|
|
|
- name: "Ensure that the tag doesn't exist"
|
|
if: ${{ steps.check-tag.outputs.exists == 'true' }}
|
|
run: exit 1
|
|
|
|
- name: Move the manifest to a temp file
|
|
id: manifest-move
|
|
run: mv prod.dist/module.json prod.dist/module.temp.json
|
|
|
|
- name: Update the download property in the manifest
|
|
id: manifest-update
|
|
run: cat prod.dist/module.temp.json | jq -r --tab '.download = "https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.version }}/release.zip"' > prod.dist/module.json
|
|
|
|
- name: Delete temp files from build
|
|
run: rm prod.dist/*.temp.*
|
|
|
|
- name: Create the zip
|
|
run: cd prod.dist; zip -r release.zip *
|
|
|
|
- name: Create the draft release
|
|
uses: ncipollo/release-action@v1
|
|
with:
|
|
tag: "v${{ steps.version.outputs.version }}"
|
|
commit: ${{ github.ref }}
|
|
draft: true
|
|
body: >
|
|
| <img aria-hidden="true" src="https://img.shields.io/github/downloads/Oliver-Akins/Foundry-Stat-Tracker/v${{ steps.version.outputs.version }}/release.zip?style=flat-square&color=%2300aa00">
|
|
|
|
|
| ### Changes:
|
|
| -
|
|
|
|
|
| This version can be installed using this manifest URL: https://github.com/Oliver-Akins/Foundry-Stat-Tracker/releases/download/v${{ steps.version.outputs.version }}/module.json
|
|
generateReleaseNotes: true
|
|
artifacts: "prod.dist/release.zip,prod.dist/module.json"
|
|
artifactsErrorsFailBuild: true
|