Files
pyrodactyl/.github/workflows/release-action.yaml
2026-02-11 07:34:57 +00:00

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 }}`