Skip CI until last commit
Open SWE will push a commit after every change to the repository. This will cause your GitHub CI workflows to run for every commit, which is unnecessary. To prevent this, Open SWE supports adding an environment variable which will append[skip ci]
to the commit message. This can be used to make GitHub skip CI for that commit.
Below are instructions showing how to use this to skip creating Vercel CI preview deployments on every commit:
1
Set the environment variable
Set the environment variable
SKIP_CI_UNTIL_LAST_COMMIT
to true
in Open SWE’s environment variables:apps/open-swe/.env
2
Add custom 'Ignored Build Step' in Vercel
Add a custom ‘Ignored Build Step’ in Vercel to skip CI when commit messages contain the string
[skip ci]
.- Navigate to your Vercel project dashboard
- Go to Settings → Git tab
- Scroll to Ignored Build Step section
-
Select Custom and add the following script:
Do not test this command locally as it will close your terminal. Use the testing method below instead.
3
Test the configuration (optional)
To verify your setup works without closing your terminal, use this safe testing command:Test with both types of commits:
- Commits with
[skip ci]
should show “Vercel would skip this build” - Commits without
[skip ci]
should show “Vercel would proceed with build”
How it works
- During task execution: Open SWE includes
[skip ci]
in commit messages - Vercel behavior: Skips creating preview deployments for these commits (script exits with code 1)
- Task completion: Open SWE pushes a final commit without
[skip ci]
to trigger deployment (script exits with code 0) - Result: Only one preview deployment per Open SWE task