Open rhughes42 opened 1 week ago
@rhughes42 many thanks for the well structured outline. I very much agree with the objectives and goals. To refine the initial tasks I'll add a bit of color to the current setup and context so we can focus on the gaps:
Potential areas to investigate
Let me know what you think and if the below is useful or needs clarification/follow-up. That being said, the GitHub repo itself currently is very basic in setup and we should certainly leverage more of the platform features (e.g. codeowners etc.) to make assigning reviewers etc. easier.
next app
npm run lint
: currently runs eslint, no github action and/or pre-push hook setupnpm run test
: currently runs vitest --run
, no github action and/or pre-push hook setup, test are located in /components/__tests__
npm run build
: partially covered and automatically reported by Vercel build process running on every commit (see below)components storybook
.github/workflows/chromatic.yaml
: builds and uploads storybook to chromaticCurrent list of checks
summary: Vercel integration/hosting + basic main
branch protection on GitHub
next app
main
components storybook
.github/workflows/deploy-storybook-gh-pages.yaml
: deploy storybook on any push to main
via GitHub pages to https://design.opensource.construction -> creates a check shown in PR and allows workflow to review and approve changesGood point. I started looking into Discord bots, mainly for form submissions etc. Would be cool to have a custom os.c bot delivering notifications over there but also having a couple of commands for ChatOps. Regarding deployments I think the combination of review requirements, CI results and Vercel comments on PRs are good enough for now.
@n0rdlicht thanks for all the feedback. Do you mind adding me to the Vercel team? I just requested it this morning.
Description:
We need to set up Continuous Integration (CI) and Continuous Deployment (CD) for our project to automate the build, test, and deployment processes. This will ensure our codebase remains stable and that new changes are deployed seamlessly. The CI/CD pipeline should be implemented using GitHub Actions.
Objectives:
Set up Continuous Integration (CI) Pipeline
Set up Continuous Deployment (CD) Pipeline
Add Notifications
Acceptance Criteria:
Tasks:
CI Pipeline Configuration
npm install
).npm run lint
).npm test
).npm run build
).CD Pipeline Configuration
Notifications Configuration
Additional Context: