-
Notifications
You must be signed in to change notification settings - Fork 11
Document new pipeline changes #161
Assignees
Description
Description
It would be nice to have a page I can refer to that mentions the new CI/CD pipeline concepts introduced in openremote/openremote#2696
Acceptance criteria
- How to make changes to the pipeline and test them
- "environment" and "job" workflows are documented
- What to include in artifacts and when to use artifacts
- When to configure through Gradle rather than workflows
- Good/bad practices
- Add
timeout-minutes: 20to any step that could fail and hang - Avoid passing
toJSON(secrets)whenever possible (never pass secrets this way to another workflow), either explicitly pass secrets usingsecrets: { MY_SECRET: ${{secret.MY_SECRET}} }(preferred) or usesecrets: inherit.
- Add
- How we optimize jobs and job dependencies
- When to checkout with git lfs
- The detect changes job
- Only installing the bare minimum dependencies in jobs e.g. with
yarn focus @openremote/util @openremote/test - Tricks like updating file modified metadata to make build tooling use artifact outputs (after downloading them)
- How deployments work
- Refer to specific GitHub concepts
- Mention how to write and update composite actions
- How the reusable workflows work
- Like why we need to handle skipping inside the reusable workflows
- Maybe some special conditions e.g. when an
always()is used (often used for test results etc.)
- Caching strategies? e.g. docker images