ci: fix GitHub release creation on publish#22
Conversation
Runs on every push and PR across all branches. Checks: - TypeScript (server + admin) - Build - Strapi plugin verify - Version not already published on npm - Dry run publish publish.yml now requires CI to pass before publishing to npm.
- Fix test:ts:front and test:ts:back scripts to use npx tsc (was yarn-only syntax) - Add explicit types for implicit any parameters caught by the type check: MouseEvent on DropZone drag handle click boolean on Modal.Root onOpenChange in EmbedModal and FormPreview string | number on SingleSelect onChange in FieldSettingsPanel and SubmissionsPage
…gnore Rollup was resolving register.js (and other compiled .js files) instead of the .ts sources, causing 'default is not exported' build failures in CI. Deleted all .js artifacts from server/src and admin/src and added them to .gitignore so they are never committed again.
…tion Without --noEmit, tsc outputs .js files next to the .ts sources. Rollup then resolves the CJS .js files instead of the .ts sources and fails with 'default is not exported' on the CommonJS interop boundary.
Push trigger now only fires on main, development and production. Feature branches are covered by the pull_request trigger alone, so CI no longer runs twice when pushing to an open PR.
- Version 1.0.0 (initial public release) - Add description, keywords, repository, bugs and homepage fields - Set strapi.displayName to 'Form Builder CMS'
Calling ci.yml as a reusable workflow while it also triggers independently on push to production caused a workflow file error (0s failure). Inlined all CI steps directly into publish.yml to avoid the conflict.
… release creation Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Caution Review failedPull request was closed or merged during review No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughModified GitHub Actions workflow configuration by removing a redundant Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
* ci: add CI workflow with type check, build, verify and dry-run publish Runs on every push and PR across all branches. Checks: - TypeScript (server + admin) - Build - Strapi plugin verify - Version not already published on npm - Dry run publish publish.yml now requires CI to pass before publishing to npm. * fix: replace yarn run -T with npx tsc and fix implicit any type errors - Fix test:ts:front and test:ts:back scripts to use npx tsc (was yarn-only syntax) - Add explicit types for implicit any parameters caught by the type check: MouseEvent on DropZone drag handle click boolean on Modal.Root onOpenChange in EmbedModal and FormPreview string | number on SingleSelect onChange in FieldSettingsPanel and SubmissionsPage * ci: add Dependabot for npm and GitHub Actions weekly updates * fix: remove stale compiled JS files from src and ignore them in .gitignore Rollup was resolving register.js (and other compiled .js files) instead of the .ts sources, causing 'default is not exported' build failures in CI. Deleted all .js artifacts from server/src and admin/src and added them to .gitignore so they are never committed again. * fix: add --noEmit to tsc type-check scripts to prevent JS file generation Without --noEmit, tsc outputs .js files next to the .ts sources. Rollup then resolves the CJS .js files instead of the .ts sources and fails with 'default is not exported' on the CommonJS interop boundary. * ci: prevent double CI run on PR branches Push trigger now only fires on main, development and production. Feature branches are covered by the pull_request trigger alone, so CI no longer runs twice when pushing to an open PR. * chore: bump version to 1.0.0 and complete package.json metadata - Version 1.0.0 (initial public release) - Add description, keywords, repository, bugs and homepage fields - Set strapi.displayName to 'Form Builder CMS' * chore: set version to 1.0.0-alpha.1 and auto-tag alpha/beta/rc on publish * ci: trigger publish on any push to production, not only PR merges * ci: inline CI steps in publish workflow, remove reusable workflow call Calling ci.yml as a reusable workflow while it also triggers independently on push to production caused a workflow file error (0s failure). Inlined all CI steps directly into publish.yml to avoid the conflict. * fix: restore clean publish.yml — remove duplicate ci job from bad merge * ci: add contents:write permission and explicit token to enable GitHub release creation * chore: bump version to 1.0.0-alpha.2 * chore: bump version to 1.0.0-alpha.3 ---------
Summary
permissions: contents: writeto thepublishjob so the workflow can create GitHub releases and tagstoken: ${{ secrets.GITHUB_TOKEN }}explicitly tosoftprops/action-gh-release@v2Why
Without
contents: writepermission, the release step was silently failing — the npm publish succeeded but no GitHub release/tag was created.🤖 Generated with Claude Code
Summary by CodeRabbit