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: > | | | ### 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