Files
api/.github/workflows/release-production.yml
Eli Bosley 6adb4484c3 chore: update release-please config, allow releases from main.yml (#1177)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced the automated release process with integrated changelog
updates for better tracking of product changes.
- Expanded deployment support by distributing release assets through
additional cloud providers, ensuring more robust delivery.

- **Chores**
- Refined release configurations and streamlined component management
for a smoother rollout.
- Introduced file verification checks to prevent release interruptions
and maintain reliable updates.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-21 10:17:23 -05:00

71 lines
2.1 KiB
YAML

name: Update Release Changelog
on:
release:
types: [edited]
jobs:
update-release-changelog:
runs-on: ubuntu-latest
steps:
- name: Download Release Artifacts (Plugins)
uses: dsaltares/fetch-gh-release-asset@master
with:
file: ".*"
regex: true
token: ${{ secrets.GITHUB_TOKEN }}
target: "./"
version: "latest"
- name: Verify Required Files Exist
run: |
if [ ! -f "dynamix.unraid.net.plg" ]; then
echo "Error: dynamix.unraid.net.plg not found"
exit 1
fi
# Check for at least one .txz file
if [ -z "$(find . -name '*.txz')" ]; then
echo "Error: No .txz files found"
exit 1
fi
- uses: cardinalby/git-get-release-action@v1
id: release-info
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
latest: true
prerelease: false
- name: Get Release Changelog
run: |
notes=$(cat << EOF
${{ steps.release-info.outputs.body }}
EOF
)
escapedNotes=$(sed -e 's/[&\\/]/\\&/g; s/$/\\/' -e '$s/\\$//' <<<"$notes")
sed -i -z -E "s/<CHANGES>(.*)<\/CHANGES>/<CHANGES>\n${escapedNotes}\n<\/CHANGES>/g" "dynamix.unraid.net.plg"
- name: Upload All Release Files to DO Spaces
uses: BetaHuhn/do-spaces-action@v2
with:
access_key: ${{ secrets.DO_ACCESS_KEY }}
secret_key: ${{ secrets.DO_SECRET_KEY }}
space_name: ${{ secrets.DO_SPACE_NAME }}
space_region: ${{ secrets.DO_SPACE_REGION }}
source: "."
out_dir: unraid-api
- name: Upload Staging Plugin to Cloudflare Bucket
uses: jakejarvis/s3-sync-action@v0.5.1
env:
AWS_S3_ENDPOINT: ${{ secrets.CF_ENDPOINT }}
AWS_S3_BUCKET: ${{ secrets.CF_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.CF_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_SECRET_ACCESS_KEY }}
AWS_REGION: 'auto'
SOURCE_DIR: "."
DEST_DIR: unraid-api