-
Notifications
You must be signed in to change notification settings - Fork 63
Conversation
We moved the API repostory in the opposite direction, moving all separate jobs into a comprehensive CI + CD workflow (example run) that builds images, lints, runs tests, publishes images to GHCR and also deploys docs to GH pages. I believe that a comprehensive workflow is better than many separate ones because
|
d1ccfb6
to
2e1fb5f
Compare
@dhruvkb Gotcha. I mostly just wanted to split each of the discrete tasks into their own jobs. I've pushed them into a single workflow now. |
One disadvantage to putting everything into the same workflow is that you can't re-run discrete parts of it, you have to re-run every single check. I guess it doesn't cost anything to us really, it just always bugs me! |
"prettier --write" | ||
], | ||
"*.mdx": [ | ||
"*.{ts,js,vue,json,yml,yaml,mdx}": [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice addition!
33f81a5
to
b4a1b4e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. One non-blocking question, would there be any benefit to checking lint errors prior to types? I think it's probably even better the way it is but i thought of the question and thought I'd pose it.
* Rename AudioDetails (#892) * Rename AudioDetails folder * Fix store access * Revert conversion to Composition API * Revert conversion to defineComponent * Update pot * Use v-show instead of v-if for width-based condition (#884) * Use v-show instead of v-if for width-based condition Use v-show instead of v-if to fix server-client mismatch * Fix waveform not loading on SSR * Split CI into discrete jobs (#981) * Split CI into discrete jobs * Update outdated POT file * Skip writing POT file if the only thing changing is the date * Format yaml * Add yaml to lint staged * Get locales when setting up node env * Cram it all into a single workflow * Add getting translations * Update license explanation tooltip (#850) Co-authored-by: Zack Krida <zackkrida@pm.me> Co-authored-by: sarayourfriend <24264157+sarayourfriend@users.noreply.github.com> * Fix attribution HTML glyph reference and fix historical usages as well (#990) * Fix attribution HTML glyph reference and fix historical usages as well * Add missing license parts * Add note to explain directory structure * Refactor media services (#867) * Create a single media-service data fetching object * Move slug creation from media service to the api service * Use typing data from #868 * Update src/constants/media.js Co-authored-by: sarayourfriend <24264157+sarayourfriend@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: sarayourfriend <24264157+sarayourfriend@users.noreply.github.com> * edit api-service styles; format * fix decode-media-data type import * Return decoded data from the media services Co-authored-by: sarayourfriend <24264157+sarayourfriend@users.noreply.github.com> * Make active media setup store and add unit tests * Commit the lock file * Fix merge problems Co-authored-by: sarayourfriend <24264157+sarayourfriend@users.noreply.github.com> Co-authored-by: Dhruv Bhanushali <dhruv_b@live.com> Co-authored-by: Zack Krida <zackkrida@pm.me>
* Install Pinia * Update the active media store to use Pinia * Delete the Vuex store * Update type definition and use it * Document the store composition variable * Fix a lint error that Prettier did not catch locally * Use `~` instead of `@` in imports * Update the nav store to use Pinia * Rename store * Make mutation payload fields non-nullable * Fix leftover incorrect usage of the active media store * Make active media setup store and add unit tests (#997) * Rename AudioDetails (#892) * Rename AudioDetails folder * Fix store access * Revert conversion to Composition API * Revert conversion to defineComponent * Update pot * Use v-show instead of v-if for width-based condition (#884) * Use v-show instead of v-if for width-based condition Use v-show instead of v-if to fix server-client mismatch * Fix waveform not loading on SSR * Split CI into discrete jobs (#981) * Split CI into discrete jobs * Update outdated POT file * Skip writing POT file if the only thing changing is the date * Format yaml * Add yaml to lint staged * Get locales when setting up node env * Cram it all into a single workflow * Add getting translations * Update license explanation tooltip (#850) Co-authored-by: Zack Krida <zackkrida@pm.me> Co-authored-by: sarayourfriend <24264157+sarayourfriend@users.noreply.github.com> * Fix attribution HTML glyph reference and fix historical usages as well (#990) * Fix attribution HTML glyph reference and fix historical usages as well * Add missing license parts * Add note to explain directory structure * Refactor media services (#867) * Create a single media-service data fetching object * Move slug creation from media service to the api service * Use typing data from #868 * Update src/constants/media.js Co-authored-by: sarayourfriend <24264157+sarayourfriend@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: sarayourfriend <24264157+sarayourfriend@users.noreply.github.com> * edit api-service styles; format * fix decode-media-data type import * Return decoded data from the media services Co-authored-by: sarayourfriend <24264157+sarayourfriend@users.noreply.github.com> * Make active media setup store and add unit tests * Commit the lock file * Fix merge problems Co-authored-by: sarayourfriend <24264157+sarayourfriend@users.noreply.github.com> Co-authored-by: Dhruv Bhanushali <dhruv_b@live.com> Co-authored-by: Zack Krida <zackkrida@pm.me> * fix possibly undefined * Add tests and other small fixes * Update nuxt.config.ts Co-authored-by: Zack Krida <zackkrida@pm.me> * Move converted modules to /stores/ and add unit tests * Fix linting error * Update nuxt.config.ts Co-authored-by: sarayourfriend <24264157+sarayourfriend@users.noreply.github.com> * Add changes from review * Register component * Make properties readonly * Remove dublicates Co-authored-by: Olga Bulat <obulat@gmail.com> Co-authored-by: sarayourfriend <24264157+sarayourfriend@users.noreply.github.com> Co-authored-by: Zack Krida <zackkrida@pm.me>
Fixes
Fixes #890 by @sarayourfriend
Description
Adds a new
setup-node-env
composite action to make node and pnpm installation more DRY.Splits unit tests, e2e test, storybook build, nuxt build, linting, i18n verification, and type checking into discrete jobs in the CI so that they all run at the same time.
Testing Instructions
Check that the CI is running as expected compared to the behavior described in the yaml files.
Checklist
Update index.md
).main
) or a parent feature branch.Developer Certificate of Origin
Developer Certificate of Origin