Simplify gh-actions workflows

This commit is contained in:
Yamila Moreno 2025-07-30 10:45:01 +02:00
parent 7553d68100
commit 78102210a5

View File

@ -3,19 +3,6 @@ name: Build and Upload Penpot Bundles
on: on:
# Create bundler from manual action # Create bundler from manual action
workflow_dispatch: 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: workflow_call:
inputs: inputs:
gh_ref: gh_ref:
@ -39,7 +26,7 @@ jobs:
fetch-depth: 0 fetch-depth: 0
ref: ${{ inputs.gh_ref }} ref: ${{ inputs.gh_ref }}
- name: Extract somer useful variables - name: Extract some useful variables
id: vars id: vars
run: | run: |
echo "commit_hash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT echo "commit_hash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
@ -57,70 +44,23 @@ jobs:
mkdir zips mkdir zips
mv bundles penpot mv bundles penpot
- name: Create zip bundles for zip_mode == 'all' - name: Create zip bundles
if: ${{ github.event.inputs.zip_mode == 'all' }}
run: | run: |
echo "📦 Packaging Penpot 'all' bundles..." echo "📦 Packaging Penpot bundles..."
zip -r zips/penpot-all-bundles.zip penpot zip -r zips/penpot.zip penpot
- name: Create zip bundles for zip_mode != 'all' - name: Upload Penpot bundle to S3
if: ${{ github.event.inputs.zip_mode != 'all' }}
run: | run: |
echo "📦 Packaging Penpot 'individual' bundles..." aws s3 cp zips/penpot.zip s3://${{ secrets.S3_BUCKET }}/penpot-${{ steps.vars.outputs.gh_branch}}-latest.zip
zip -r zips/penpot-frontend.zip penpot/frontend aws s3 cp zips/penpot.zip s3://${{ secrets.S3_BUCKET }}/penpot-${{ steps.vars.outputs.commit_hash }}.zip
zip -r zips/penpot-backend.zip penpot/backend
zip -r zips/penpot-exporter.zip penpot/exporter
- name: Upload unified 'all' bundle - name: Notify Mattermost
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'
uses: mattermost/action-mattermost-notify@master uses: mattermost/action-mattermost-notify@master
with: with:
MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK }} MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK }}
TEXT: | TEXT: |
📦 *Penpot bundle automatically generated* 📦 *New Penpot bundle generated*
📄 PR: ${{ github.event.pull_request.title }} 📄 Triggered from ref: `${{ steps.vars.outputs.gh_branch}}`
🔁 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}}`
🔗 Run: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} 🔗 Run: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
- name: Print artifact summary URL - name: Print artifact summary URL