mirror of
https://github.com/pyrohost/pyrodactyl.git
synced 2026-04-05 19:51:59 +02:00
75 lines
2.0 KiB
YAML
75 lines
2.0 KiB
YAML
name: Create release (automated)
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
version:
|
|
required: true
|
|
type: string
|
|
release_type:
|
|
required: true
|
|
type: string
|
|
|
|
permissions:
|
|
contents: write
|
|
actions: read
|
|
|
|
jobs:
|
|
create-release:
|
|
runs-on: blacksmith-2vcpu-ubuntu-2404
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: main
|
|
|
|
- name: Update version in config/app.php
|
|
run: |
|
|
sed -i "s/'version' => '[^']*'/'version' => 'v${{ inputs.version }}'/" config/app.php
|
|
|
|
- name: Commit version bump
|
|
run: |
|
|
git add config/app.php
|
|
git commit -m "ci: bump v${{ inputs.version }}" || echo "No changes to commit"
|
|
|
|
|
|
# ---- Build tarball -------------------------------------------------
|
|
- name: Create release archive
|
|
run: |
|
|
rm -rf node_modules tests CODE_OF_CONDUCT.md CONTRIBUTING.md
|
|
|
|
tar -czf panel.tar.gz \
|
|
--exclude='.*' \
|
|
* .env.example
|
|
|
|
- name: Generate checksum
|
|
id: checksum
|
|
run: |
|
|
SUM=$(sha256sum panel.tar.gz)
|
|
echo "$SUM" > checksum.txt
|
|
echo "checksum=$(echo $SUM | cut -d' ' -f1)" >> $GITHUB_OUTPUT
|
|
|
|
# ---- GitHub Release ------------------------------------------------
|
|
- name: Validate release type
|
|
run: |
|
|
case "${{ inputs.release_type }}" in
|
|
release|prerelease) ;;
|
|
*) echo "Invalid release_type"; exit 1 ;;
|
|
esac
|
|
|
|
- name: Create GitHub Release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
tag_name: v${{ inputs.version }}
|
|
target_commitish: main
|
|
name: Release v${{ inputs.version }}
|
|
generate_release_notes: true
|
|
draft: true
|
|
prerelease: ${{ inputs.release_type == 'prerelease' }}
|
|
files: |
|
|
panel.tar.gz
|
|
checksum.txt
|
|
body: |
|
|
**SHA256 checksum:**
|
|
`${{ steps.checksum.outputs.checksum }}`
|