Skip to content

fix: preserve positioned source layers and transparent wrappers #181

fix: preserve positioned source layers and transparent wrappers

fix: preserve positioned source layers and transparent wrappers #181

Workflow file for this run

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