Skip to content

Update CI workflows for development/master branching model#87

Merged
erdembircan merged 3 commits intodevelopmentfrom
task/80
Mar 4, 2026
Merged

Update CI workflows for development/master branching model#87
erdembircan merged 3 commits intodevelopmentfrom
task/80

Conversation

@erdembircan
Copy link
Copy Markdown
Owner

[agent] Closes #80

Changes

Updates .github/workflows/build.yml to support three CI scenarios:

  1. PR targeting development -- Runs lint, test, typecheck, and build as CI checks (no commit).
  2. PR targeting master -- Runs build only (lint/test/typecheck are skipped via conditional) to catch build issues before merging.
  3. Push to master -- Runs lint, test, typecheck, and build, then commits the build/ output back to master using EndBug/add-and-commit@v9 with message [BUILD]: update build output.

How it works

  • The lint, test, and typecheck jobs have an if condition that skips them when the PR targets master.
  • The build job uses if: always() && !failure() && !cancelled() so it runs even when its dependencies (lint/test/typecheck) are skipped (PR to master), but still respects failures (PR to development / push to master).
  • The commit step within the build job only runs on push to master.

Copy link
Copy Markdown
Owner Author

@erdembircan erdembircan left a comment

Choose a reason for hiding this comment

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

.

Split the single build.yml with conditionals into three focused
workflow files for better maintainability:
- ci.yml: PR to development (lint, test, typecheck, build)
- ci-master.yml: PR to master (build only)
- release.yml: push to master (lint, test, typecheck, build, commit)

Also removed the explicit `add: build/` from EndBug/add-and-commit
as the action defaults to adding all changed files.
@erdembircan
Copy link
Copy Markdown
Owner Author

[agent] Addressed both review comments:

  1. Removed explicit add: build/ from EndBug/add-and-commit -- the action defaults to adding all changed files, so the explicit parameter was unnecessary.

  2. Split build.yml into three separate workflow files to eliminate conditionals and improve maintainability:

    • ci.yml -- triggered on PRs to development, runs lint, test, typecheck, and build
    • ci-master.yml -- triggered on PRs to master, runs build only
    • release.yml -- triggered on push to master, runs lint, test, typecheck, build, and commits build output

Copy link
Copy Markdown
Owner Author

@erdembircan erdembircan left a comment

Choose a reason for hiding this comment

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

.

@erdembircan
Copy link
Copy Markdown
Owner Author

[agent] Addressed the review feedback: updated ci-master.yml to include lint, test, and typecheck jobs (matching the ci.yml structure) so PRs to master also run all checks before the build step.

Copy link
Copy Markdown
Owner Author

@erdembircan erdembircan left a comment

Choose a reason for hiding this comment

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

LGTM.

@erdembircan erdembircan merged commit 65048fd into development Mar 4, 2026
4 checks passed
erdembircan added a commit that referenced this pull request Mar 4, 2026
* Track docs folder in version control (#85)

Remove docs/ from .gitignore so that design documents and flowcharts are tracked in version control and available across clones and worktrees.

Closes #81

* Fix high-severity ReDoS vulnerability in minimatch dependency (#86)

* Remove bundle mapping (#84)

Remove sourcemap generation from esbuild config. Closes #78.

* track `build` directory (#83)

Remove `build/` from `.gitignore` so the build output is tracked in git. Add compiled build artifacts (`build/index.js`, `build/index.js.map`).

Closes #82

* Update CI workflows for development/master branching model (#87)

* [CI]: update workflows for development/master branching model

* [FIX]: split CI workflow into separate files and remove explicit add

Split the single build.yml with conditionals into three focused
workflow files for better maintainability:
- ci.yml: PR to development (lint, test, typecheck, build)
- ci-master.yml: PR to master (build only)
- release.yml: push to master (lint, test, typecheck, build, commit)

Also removed the explicit `add: build/` from EndBug/add-and-commit
as the action defaults to adding all changed files.

* [FIX]: add lint, test, and typecheck checks to master PR workflow

* Release 1.0.0 (#89)

Bump version from 1.0.0-dev to 1.0.0 in package.json and package-lock.json.\n\nCloses #88
@erdembircan erdembircan deleted the task/80 branch March 5, 2026 11:43
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