You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Setup a CI/CD pipeline with GitHub Actions. Every pull request should build, test and preview on Netlify, and every merge to main should deploy automatically to Cloudapps Openshift through the existing Apache (httpd) S2I build.
How it works
On pull requests (into any branch)
Install dependencies (npm ci, including @tis-lab packages from GitHub Packages), lint, test and build
Smoke test: build the output with the same httpd S2I image OpenShift uses (httpd:2.4-el7) and check that Apache serves it.
Deploy a Netlify preview and post the link as a PR comment (pr-<number>--<site>.netlify.app). New pushes update the same comment.
On merge to main
Same build, test and smoke test.
Commit the new build output to framework/build (only if it changed).
Call the OpenShift BuildConfig's generic webhook. OpenShift builds that exact commit and the Deployment rolls out automatically.
No OpenShift login token is stored in GitHub. The webhook URL can only trigger a build.
Team convention: only the pipeline commits framework/build. Discard local build changes before committing (git restore framework/build) to avoid merge conflicts.
Summary
Setup a CI/CD pipeline with GitHub Actions. Every pull request should build, test and preview on Netlify, and every merge to
mainshould deploy automatically to Cloudapps Openshift through the existing Apache (httpd) S2I build.How it works
On pull requests (into any branch)
npm ci, including@tis-labpackages from GitHub Packages), lint, test and buildhttpd:2.4-el7) and check that Apache serves it.pr-<number>--<site>.netlify.app). New pushes update the same comment.On merge to
mainframework/build(only if it changed).No OpenShift login token is stored in GitHub. The webhook URL can only trigger a build.
Workflow file:
.github/workflows/deploy-openshift.ymlBlockers / open questions
@tis-lab/study-palette-ui. Becauseframeworkcurrently returns 403 error runningnpm cilocally due to no availability. (not found in tis-lab packages)framework/build. Discard local build changes before committing (git restore framework/build) to avoid merge conflicts.