diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e5acec6af..412d7c317 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,7 +23,6 @@ jobs: uses: googleapis/release-please-action@v4 outputs: releases_created: ${{ steps.release.outputs.releases_created }} - pr: ${{ steps.release.outputs.pr }} tag_name: ${{ steps.release.outputs.tag_name }} test-api: defaults: @@ -434,7 +433,7 @@ jobs: SOURCE_DIR: staging-release DEST_DIR: unraid-api - publish-production-release: + create-draft-release: # Only run if release-please created a release if: needs.release-please.outputs.releases_created == 'true' runs-on: ubuntu-latest @@ -454,43 +453,13 @@ jobs: mv plugins/production/dynamix.unraid.net.plg release/ mv archive/*.txz release/ - - name: Update Plugin with Changelog - run: | - # Parse PR JSON to get body - pr_json='${{ needs.release-please.outputs.pr }}' - changelog=$(echo "$pr_json" | jq -r '.body') - echo "Changelog: $changelog" - escapedChangelog=$(sed -e 's/[&\\/]/\\&/g; s/$/\\/' -e '$s/\\$//' <<<"$changelog") - sed -i -z -E "s/(.*)<\/CHANGES>/\n${escapedChangelog}\n<\/CHANGES>/g" "release/dynamix.unraid.net.plg" - echo "CHANGELOG=${escapedChangelog}" >> $GITHUB_ENV - - - name: Upload to Digital Ocean 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: "release" - out_dir: unraid-api - - - name: Upload to Cloudflare - 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: "release" - DEST_DIR: unraid-api - - - name: Upload Release Assets to Github + - name: Upload Release Assets env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | + release_name=$(gh release list --repo ${{ github.repository }} --json name,isDraft --jq '.[] | select(.isDraft == true) | .name' | head -n 1) + # For each file in release directory for file in release/*; do - gh release upload "${{ needs.release-please.outputs.tag_name }}" "$file" --clobber + echo "Uploading $file to release..." + gh release upload "${release_name}" "$file" --clobber done - - gh release edit "${{ needs.release-please.outputs.tag_name }}" --body "$CHANGELOG" diff --git a/.github/workflows/release-production.yml b/.github/workflows/release-production.yml index aa59caee2..bac9121fc 100644 --- a/.github/workflows/release-production.yml +++ b/.github/workflows/release-production.yml @@ -1,11 +1,11 @@ -name: Update Release Changelog +name: Publish Release to Digital Ocean on: release: - types: [edited] + types: [published] jobs: - update-release-changelog: + publish-to-digital-ocean: runs-on: ubuntu-latest steps: @@ -18,19 +18,6 @@ jobs: 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: @@ -38,7 +25,6 @@ jobs: with: latest: true prerelease: false - - name: Get Release Changelog run: | notes=$(cat << EOF diff --git a/.release-please-manifest.json b/.release-please-manifest.json index cf09006c1..c76f50184 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1 +1 @@ -{".":"4.1.3"} \ No newline at end of file +{".":"4.1.3"} diff --git a/package.json b/package.json index 245ead92b..16af69a10 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "unraid-api-monorepo", + "name": "unraid-monorepo", "private": true, "version": "4.1.3", "scripts": { diff --git a/release-please-config.json b/release-please-config.json index c768d218d..2465973a4 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -1,17 +1,27 @@ { - "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", - "packages": { - ".": { - "release-type": "node", - "extra-files": [ - "api/package.json", - "plugin/package.json", - "unraid-ui/package.json", - "web/package.json" - ] - } - }, - "always-update": true, - "include-component-in-tag": false, - "draft": false -} + "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", + "packages": { + "api": { + "package-name": "@unraid/api", + "release-type": "node" + }, + "web": { + "package-name": "@unraid/web", + "release-type": "node", + "skip-github-release": true + }, + "unraid-ui": { + "package-name": "@unraid/ui", + "release-type": "node", + "skip-github-release": true + }, + "plugin": { + "package-name": "@unraid/connect-plugin", + "release-type": "node", + "skip-github-release": true + } + }, + "separate-pull-requests": false, + "include-component-in-tag": false, + "draft": true +} \ No newline at end of file