From 9883f0f82f6f45115727c6bbd0df9dbf9a8da39c Mon Sep 17 00:00:00 2001 From: Eli Bosley Date: Fri, 2 Feb 2024 10:53:24 -0500 Subject: [PATCH] feat: also ship to cloudflare (#844) --- .github/workflows/main.yml | 12 +++++ .github/workflows/release-production.yml | 57 ++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 .github/workflows/release-production.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 805f48a41..754e0ee85 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -298,6 +298,18 @@ jobs: source: staging-release 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: staging-release + DEST_DIR: unraid-api + + create-draft-release: # Only create new draft if this is a version tag if: | diff --git a/.github/workflows/release-production.yml b/.github/workflows/release-production.yml new file mode 100644 index 000000000..7a343710e --- /dev/null +++ b/.github/workflows/release-production.yml @@ -0,0 +1,57 @@ +name: Publish Release to Digital Ocean + +on: + release: + types: [published] + +jobs: + publish-to-digital-ocean: + 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" + + - 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>/\n${escapedNotes}\n<\/CHANGES>/g" "dynamix.unraid.net.plg" + sed -i -z -E "s/(.*)<\/CHANGES>/\n${escapedNotes}\n<\/CHANGES>/g" "dynamix.unraid.net.staging.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 \ No newline at end of file