Add a Github Action for building a release
This commit is contained in:
parent
a4bb96513d
commit
a2da4d9443
1 changed files with 57 additions and 0 deletions
57
.github/workflows/draft-release.yml
vendored
Normal file
57
.github/workflows/draft-release.yml
vendored
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
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
|
||||
|
||||
- name: Reading the system.json for the version
|
||||
id: "version"
|
||||
run: cat system.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: Ensure there are specific files to release
|
||||
if: ${{ vars.files_to_release == '' }}
|
||||
run: exit 1
|
||||
|
||||
# Compile the stuff that needs to be compiled
|
||||
- run: npm run build
|
||||
|
||||
- name: Create the zip
|
||||
run: zip -r ${{ vars.zip_name || 'release' }}.zip ${{ vars.files_to_release }}
|
||||
|
||||
- name: Move system.json to a temp file
|
||||
id: manifest-move
|
||||
run: mv system.json system.temp.json
|
||||
|
||||
- name: Update the download property in the manifest
|
||||
id: manifest-update
|
||||
run: cat system.temp.json | jq -r --tab '.download = "https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.version }}/${{ vars.zip_name }}.zip"' > system.json
|
||||
|
||||
- name: Create the draft release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
tag: "v${{ steps.version.outputs.version }}"
|
||||
commit: ${{ github.ref }}
|
||||
draft: true
|
||||
generateReleaseNotes: true
|
||||
artifacts: "${{vars.zip_name || 'release'}}.zip,system.json"
|
||||
Loading…
Add table
Add a link
Reference in a new issue