Skip to content

fix(ci): preserve skipBotEvents during publish#45

Merged
gentlementlegen merged 6 commits into
mainfrom
fix/propagate-skip-bot-events
Mar 11, 2026
Merged

fix(ci): preserve skipBotEvents during publish#45
gentlementlegen merged 6 commits into
mainfrom
fix/propagate-skip-bot-events

Conversation

@gentlementlegen
Copy link
Copy Markdown
Member

@gentlementlegen gentlementlegen commented Mar 11, 2026

Summary

Preserves skipBotEvents through publish-time manifest generation so CI does not drift due to lifecycle script side effects.

Context

This draft is part of the canary-first rollout for artifact-branch migration.

Relates to ubiquity-os/ubiquity-os-kernel#320

@gentlementlegen gentlementlegen marked this pull request as ready for review March 11, 2026 16:00
@gentlementlegen gentlementlegen merged commit f9906e5 into main Mar 11, 2026
2 checks passed
@gentlementlegen gentlementlegen deleted the fix/propagate-skip-bot-events branch March 11, 2026 16:00
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 11, 2026

📝 Walkthrough

Walkthrough

This change modifies action.yml to enhance the publish workflow. It introduces a new step to finalize manifest configuration JSON using update-manifest.js after the build process. The task for injecting reassembly code is renamed to "Inject reassembly entrypoints" and now creates dist/index.cjs in both ESM and CJS build branches. In the ESM branch, dist/index.cjs dynamically imports index.js with error handling; in the CJS branch, it duplicates the reassembly script. The manifest update and push sequence repeats after the build to ensure manifest is finalized before publish.

Possibly related PRs

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning Description is incomplete. It lacks the required issue link using the 'Resolves' keyword as specified in the template. Add 'Resolves #320' (or appropriate issue number) at the top of the description following repository template conventions.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed Title is concise and specific; it matches a core change (preserving skipBotEvents during publish) reflected in commit messages and summary.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/propagate-skip-bot-events

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 54f43ee5-d5e7-4570-869a-e9a527056306

📥 Commits

Reviewing files that changed from the base of the PR and between 4154630 and 5073aaf.

📒 Files selected for processing (1)
  • action.yml

Comment thread action.yml
Comment on lines +195 to +206
- name: Finalize manifest configuration JSON
if: ${{ inputs.action == 'publish' && steps.resolve_refs.outputs.should_skip != 'true' }}
shell: bash
env:
MANIFEST_PATH: ${{ inputs.manifestPath }}
SKIP_BOT_EVENTS: ${{ inputs.skipBotEvents }}
EXCLUDE_SUPPORTED_EVENTS: ${{ inputs.excludeSupportedEvents }}
GITHUB_WORKSPACE: ${{ github.workspace }}
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_REF_NAME: ${{ steps.resolve_refs.outputs.source_ref }}
run: |
node ${{ github.action_path }}/.github/scripts/update-manifest.js
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -eu

echo "Checking where manifest env is wired today..."
rg -n -C2 'SKIP_BOT_EVENTS|EXCLUDE_SUPPORTED_EVENTS|GITHUB_ENV|name: Install dependencies|name: Build project|name: Finalize manifest configuration JSON' action.yml

Repository: ubiquity-os/action-deploy-plugin

Length of output: 2331


🏁 Script executed:

#!/bin/bash
# Get a cleaner view of the step structure around lines 140-210
cat -n action.yml | sed -n '140,210p'

Repository: ubiquity-os/action-deploy-plugin

Length of output: 4038


Export manifest flags early so install/build can access them.

These env vars are only passed to the manifest steps via step-level env: sections (lines 158–164 and 198–204), not exported to $GITHUB_ENV. Install dependencies and Build project cannot access SKIP_BOT_EVENTS or EXCLUDE_SUPPORTED_EVENTS, so any lifecycle scripts that depend on them will run with defaults. The Finalize step only patches the manifest after build completes.

Suggested approach
+    - name: Export manifest env
+      if: ${{ inputs.action == 'publish' && steps.resolve_refs.outputs.should_skip != 'true' }}
+      shell: bash
+      run: |
+        echo "SKIP_BOT_EVENTS=${{ inputs.skipBotEvents }}" >> "$GITHUB_ENV"
+        echo "EXCLUDE_SUPPORTED_EVENTS=${{ inputs.excludeSupportedEvents }}" >> "$GITHUB_ENV"
+
     - name: Install dependencies

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant