diff --git a/.github/workflows/build-publish-to-r2.yml b/.github/workflows/build-and-publish.yml similarity index 69% rename from .github/workflows/build-publish-to-r2.yml rename to .github/workflows/build-and-publish.yml index 0f624c552..bf262401e 100644 --- a/.github/workflows/build-publish-to-r2.yml +++ b/.github/workflows/build-and-publish.yml @@ -1,33 +1,40 @@ -name: Create Release And Upload Cloudflare R2 +name: Build And Publish (OSS + R2) + on: push: tags: - 'v*' + jobs: create-release: runs-on: ubuntu-latest steps: - name: Checkout Code uses: actions/checkout@v4 + - name: Setup Node uses: actions/setup-node@v4 with: node-version: '22.19.0' + - name: Build Web run: | cd frontend && npm install && npm run build:pro env: NODE_OPTIONS: --max-old-space-size=8192 + - name: Setup Go uses: actions/setup-go@v5 with: go-version: '1.24' + - name: Build Release uses: goreleaser/goreleaser-action@v6 with: distribution: goreleaser version: '~> v2' args: release --skip=publish --clean + - name: Upload Assets uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') @@ -36,10 +43,24 @@ jobs: files: | dist/*.tar.gz dist/checksums.txt + + - name: Setup OSSUTIL + uses: yizhoumo/setup-ossutil@v2 + with: + endpoint: ${{ secrets.OSS_ENDPOINT }} + access-key-id: ${{ secrets.OSS_ACCESS_KEY_ID }} + access-key-secret: ${{ secrets.OSS_ACCESS_KEY_SECRET }} + ossutil-version: '1.7.18' + + - name: Upload Assets to OSS + run: | + ossutil cp -r dist/ oss://resource-fit2cloud-com/1panel/package/v2/stable/${{ github.ref_name }}/release/ --include "*.tar.gz" --include "checksums.txt" --only-current-dir --force + - name: Setup Rclone uses: AnimMouse/setup-rclone@v1 with: rclone_config: ${{ secrets.RCLONE_CONFIG }} + - name: Upload to Cloudflare R2 run: | rclone copy dist/ cloudflare_r2:package/v2/stable/${{ github.ref_name }}/release/ --include "*.tar.gz" --include "checksums.txt" --progress diff --git a/.github/workflows/build-publish-to-oss.yml b/.github/workflows/build-publish-to-oss.yml deleted file mode 100644 index 5cba5113b..000000000 --- a/.github/workflows/build-publish-to-oss.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: Create Release And Upload assets -on: - push: - tags: - - 'v*' -jobs: - create-release: - runs-on: ubuntu-latest - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: '22.19.0' - - name: Build Web - run: | - cd frontend && npm install && npm run build:pro - env: - NODE_OPTIONS: --max-old-space-size=8192 - - name: Setup Go - uses: actions/setup-go@v5 - with: - go-version: '1.24' - - name: Build Release - uses: goreleaser/goreleaser-action@v6 - with: - distribution: goreleaser - version: '~> v2' - args: release --skip=publish --clean - - name: Upload Assets - uses: softprops/action-gh-release@v1 - if: startsWith(github.ref, 'refs/tags/') - with: - draft: true - files: | - dist/*.tar.gz - dist/checksums.txt - - name: Setup OSSUTIL - uses: yizhoumo/setup-ossutil@v2 - with: - endpoint: ${{ secrets.OSS_ENDPOINT }} - access-key-id: ${{ secrets.OSS_ACCESS_KEY_ID }} - access-key-secret: ${{ secrets.OSS_ACCESS_KEY_SECRET }} - ossutil-version: '1.7.18' - - name: Upload Assets to OSS - run: ossutil cp -r dist/ oss://resource-fit2cloud-com/1panel/package/v2/stable/${{ github.ref_name }}/release/ --include "*.tar.gz" --include "checksums.txt" --only-current-dir --force