Verifying that all Thea's Pantry projects have the correct extensions, linters, and pipeline stages - GuestInfoAPI
Once all Thea's Pantry projects have Gitpod, pipelines, and linters set up, we need to verify that they are correctly set up. Some of the ones that were built in Sprint 1 were "quick-and-dirty" just to get them set up, but are not completely correct.
Here is how to determine that all the correct parts are in a project:
- Make a list of all file types that are in the project (e.g. markdown, javascript, json, shell script, openapi, etc.)
- Look at the list of linters: https://gitlab.com/LibreFoodPantry/common-services/tools/linters that we support in LibreFoodPantry. Find the ones that cover all the files in the list you made.
- Each linter has information on:
- How to add it to the pipeline
- How to add it to a shell script (like lint.sh)
- What VSCode extension is available for it
- How to configure it
- Add and remove the appropriate parts in
- the .gitlab-ci.yaml file
- the lint.sh file
- the .gitpod.yaml file
- configuration files (you may need to create the configuration files)
Here is how to determine which pipeline stages the project needs:
- Build
- Does it build something - docker image, openapi file, etc.?
- Is there a build script?
- Test
- Does it have any tests to run?
- Is there a test script?
- Release
- Does it release anything that gets a version number?
- Is there a prepare-release script?
The stages build, test, and release are enabled by default in the pipeline. If any of them are not needed, then they need to be disabled in the .gitlab-ci.yaml file.
See the pipeline documentation: https://gitlab.com/LibreFoodPantry/common-services/tools/documentation
Edited by Eli Hughes