From 78102210a5d03f963e92c8f507be12737bb2dd4f Mon Sep 17 00:00:00 2001 From: Yamila Moreno Date: Wed, 30 Jul 2025 10:45:01 +0200 Subject: [PATCH] :sparkles: Simplify gh-actions workflows --- .github/workflows/build-bundles.yml | 80 ++++------------------------- 1 file changed, 10 insertions(+), 70 deletions(-) diff --git a/.github/workflows/build-bundles.yml b/.github/workflows/build-bundles.yml index 7c51601455..d2ae7ec2b1 100644 --- a/.github/workflows/build-bundles.yml +++ b/.github/workflows/build-bundles.yml @@ -3,19 +3,6 @@ name: Build and Upload Penpot Bundles on: # Create bundler from manual action workflow_dispatch: - inputs: - zip_mode: - # zip_mode defines how the build artifacts are packaged: - # - 'individual': creates one ZIP file per component (frontend, backend, exporter) - # - 'all': creates a single ZIP containing all components - # - null: for the rest of cases (non-manual events) - description: 'Bundle packaging mode' - required: false - default: 'individual' - type: choice - options: - - individual - - all workflow_call: inputs: gh_ref: @@ -39,7 +26,7 @@ jobs: fetch-depth: 0 ref: ${{ inputs.gh_ref }} - - name: Extract somer useful variables + - name: Extract some useful variables id: vars run: | echo "commit_hash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT @@ -57,70 +44,23 @@ jobs: mkdir zips mv bundles penpot - - name: Create zip bundles for zip_mode == 'all' - if: ${{ github.event.inputs.zip_mode == 'all' }} + - name: Create zip bundles run: | - echo "📦 Packaging Penpot 'all' bundles..." - zip -r zips/penpot-all-bundles.zip penpot + echo "📦 Packaging Penpot bundles..." + zip -r zips/penpot.zip penpot - - name: Create zip bundles for zip_mode != 'all' - if: ${{ github.event.inputs.zip_mode != 'all' }} + - name: Upload Penpot bundle to S3 run: | - echo "📦 Packaging Penpot 'individual' bundles..." - zip -r zips/penpot-frontend.zip penpot/frontend - zip -r zips/penpot-backend.zip penpot/backend - zip -r zips/penpot-exporter.zip penpot/exporter + aws s3 cp zips/penpot.zip s3://${{ secrets.S3_BUCKET }}/penpot-${{ steps.vars.outputs.gh_branch}}-latest.zip + aws s3 cp zips/penpot.zip s3://${{ secrets.S3_BUCKET }}/penpot-${{ steps.vars.outputs.commit_hash }}.zip - - name: Upload unified 'all' bundle - if: ${{ github.event.inputs.zip_mode == 'all' }} - uses: actions/upload-artifact@v4 - with: - name: penpot-all-bundles - path: zips/penpot-all-bundles.zip - - - name: Upload individual bundles - if: ${{ github.event.inputs.zip_mode != 'all' }} - uses: actions/upload-artifact@v4 - with: - name: penpot-individual-bundles - path: | - zips/penpot-frontend.zip - zips/penpot-backend.zip - zips/penpot-exporter.zip - - - name: Upload unified 'all' bundle to S3 - if: ${{ github.event.inputs.zip_mode == 'all' }} - run: | - aws s3 cp zips/penpot-all-bundles.zip s3://${{ secrets.S3_BUCKET }}/penpot-all-bundles-${{ steps.vars.outputs.gh_branch}}.zip - aws s3 cp zips/penpot-all-bundles.zip s3://${{ secrets.S3_BUCKET }}/penpot-all-bundles-${{ steps.vars.outputs.commit_hash }}.zip - - - name: Upload 'individual' bundles to S3 - if: ${{ github.event.inputs.zip_mode != 'all' }} - run: | - for name in penpot-frontend penpot-backend penpot-exporter; do - aws s3 cp zips/${name}.zip s3://${{ secrets.S3_BUCKET }}/${name}-${{ steps.vars.outputs.gh_branch }}-latest.zip - aws s3 cp zips/${name}.zip s3://${{ secrets.S3_BUCKET }}/${name}-${{ steps.vars.outputs.commit_hash }}.zip - done - - - name: Notify Mattermost about automatic bundles - if: github.event_name == 'pull_request' + - name: Notify Mattermost uses: mattermost/action-mattermost-notify@master with: MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK }} TEXT: | - 📦 *Penpot bundle automatically generated* - 📄 PR: ${{ github.event.pull_request.title }} - 🔁 From: \`${{ github.head_ref }}\` to \`{{ github.base_ref }}\` - 🔗 Run: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} - - - name: Notify Mattermost about manual bundles - if: github.event_name == 'workflow_dispatch' - uses: mattermost/action-mattermost-notify@master - with: - MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK }} - TEXT: | - 📦 *Penpot bundle manually generated* - 📄 Triggered from branch: `${{ github.ref_name}}` + 📦 *New Penpot bundle generated* + 📄 Triggered from ref: `${{ steps.vars.outputs.gh_branch}}` 🔗 Run: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} - name: Print artifact summary URL