fix: preserve positioned source layers and transparent wrappers #181
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release components | |
| on: | |
| push: | |
| branches: | |
| - trunk | |
| workflow_dispatch: | |
| inputs: | |
| dry-run: | |
| description: Preview the release without changing trunk or publishing packages | |
| type: boolean | |
| default: true | |
| permissions: | |
| contents: write | |
| id-token: write | |
| issues: write | |
| pull-requests: write | |
| concurrency: | |
| group: component-release | |
| cancel-in-progress: false | |
| # Keep these jobs serial. Each Homeboy release may commit version/changelog | |
| # changes and push trunk; the next job must resolve the refreshed trunk tip, | |
| # not the event SHA that started this workflow. Each job's `if: !cancelled()` | |
| # means a sibling's failure never blocks or skips the others — every | |
| # component release attempt runs and reports its own outcome independently. | |
| # | |
| # Pins, and what each one is for (every SHA below was verified by fetching | |
| # the tag directly from its source repo and checking `^{commit}` equality — | |
| # not assumed from the tag name): | |
| # | |
| # - `uses: .../release.yml@v2.20.4` selects the released revision of the | |
| # reusable release workflow itself. | |
| # - `action-ref: v2.20.4` is the homeboy-action revision that workflow | |
| # checks out into `.homeboy-action` for the composite action steps. Kept | |
| # in lockstep with the `uses:` pin above. | |
| # - `extension-ref` pins the homeboy-extensions monorepo commit each job's | |
| # declared extension installs from. It is required, not optional: the | |
| # installed homeboy CLI's `install_for_component` path clones the | |
| # extension source with no revision when `extension-ref` is empty, | |
| # landing on whatever the source's default branch currently is rather | |
| # than a released extension version (verified by reading | |
| # crates/homeboy-core/src/extension/lifecycle/{mod,install_sources}.rs at | |
| # Homeboy v0.383.4). Each job is pinned to the release tag for the | |
| # extension IT ACTUALLY DECLARES, not the previous candidate SHA reused | |
| # across all three jobs regardless of which extension a job needs: | |
| # - php/figma declare `wordpress` (see their homeboy.json) → pinned to | |
| # `wordpress-v3.48.6`, whose peeled commit | |
| # (7f28a979517a96e003d0510d64bc5139c259837d) is exactly the earlier | |
| # candidate SHA — same content, now referenced by its released tag. | |
| # - javascript declares `nodejs` (see packages/blocks-engine/homeboy.json) | |
| # → pinned to `nodejs-v3.7.5`, this repo's own extension, not the | |
| # wordpress tag the previous candidate SHA happened to also contain a | |
| # valid (but non-current) snapshot of. | |
| jobs: | |
| javascript: | |
| uses: Extra-Chill/homeboy-action/.github/workflows/release.yml@v2.20.4 | |
| with: | |
| component: packages/blocks-engine | |
| action-ref: v2.20.4 | |
| extension-ref: nodejs-v3.7.5 | |
| prepared-ref: trunk | |
| dry-run: ${{ inputs.dry-run || false }} | |
| release-branch: trunk | |
| secrets: inherit | |
| php: | |
| needs: javascript | |
| if: ${{ !cancelled() }} | |
| uses: Extra-Chill/homeboy-action/.github/workflows/release.yml@v2.20.4 | |
| with: | |
| component: php-transformer | |
| action-ref: v2.20.4 | |
| extension-ref: wordpress-v3.48.6 | |
| prepared-ref: trunk | |
| dry-run: ${{ inputs.dry-run || false }} | |
| release-branch: trunk | |
| publisher-known-hosts: | | |
| github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl | |
| secrets: | |
| HOMEBOY_APP_ID: ${{ secrets.HOMEBOY_APP_ID }} | |
| HOMEBOY_APP_PRIVATE_KEY: ${{ secrets.HOMEBOY_APP_PRIVATE_KEY }} | |
| PUBLISH_SSH_KEY: ${{ secrets.PHP_TRANSFORMER_MIRROR_DEPLOY_KEY }} | |
| figma: | |
| needs: php | |
| if: ${{ !cancelled() }} | |
| uses: Extra-Chill/homeboy-action/.github/workflows/release.yml@v2.20.4 | |
| with: | |
| component: figma-transformer | |
| action-ref: v2.20.4 | |
| extension-ref: wordpress-v3.48.6 | |
| prepared-ref: trunk | |
| dry-run: ${{ inputs.dry-run || false }} | |
| release-branch: trunk | |
| secrets: inherit |