Skip to content

Commit

Permalink
Merge pull request #374 from hbraswelrh/317-add-a-section-in-the-cont…
Browse files Browse the repository at this point in the history
…ributingmd-to-document-requirements-on-authoring-ci-workflows-in-trestle-bot

docs: authoring CI workflows for trestle-bot section in contributing guide
  • Loading branch information
hbraswelrh authored Nov 7, 2024
2 parents 740d4fa + 95125e4 commit 3ff220b
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Before you start contributing, please take a moment to read through the guide be
- [Documentation](#documentation)
- [Architecture Decisions](#architecture-decisions)
- [Update the `actions` files](#update-the-actions-files)
- [Authoring CI Workflows](#authoring-ci-workflows)
- [License Text in Files](#license-text-in-files)
- [Tools](#tools)
- [Format and Styling](#format-and-styling)
Expand Down Expand Up @@ -97,7 +98,18 @@ Each `README.md` under the `actions` directory have an Actions Inputs and Action
make update-action-readmes
```

### License Text in Files
#### Authoring CI Workflows

The CI workflows for trestle-bot leverage third party actions pinned to a hash value which is updated by `dependabot.yml`. The purpose of pinning actions to a full length commit SHA is to ensure that the action's code and behavior remain consistent. Actions that are pinned to full length commit SHAs act as immutable releases which allow for distinction between versions and an accurate history log. When selecting a commit SHA to include, the SHA value that is associated with the version of the action should be chosen from the associated action's repository. Dependabot checks for the action's reference against the latest version ensuring a secure and consistent approach to managing dependencies and version updating.

To generate a pin for a third party action, there should be a full length commit SHA associated with the version of the action being referenced. The reference used is the full length SHA, tag, or branch that dependabot will use when updating dependencies and bumping versions.

- The syntax for a specified action is: `OWNER/REPOSITORY@TAG-OR-SHA`.
- The syntax for a specified reusable workflow is: `OWNER/REPOSITORY/PATH/FILENAME@TAG-OR-SHA`.

This approach is used for authoring CI workflows that utilize versioned actions to produce frequent updates from dependabot for python and GitHub Actions.

### License Text in Files

Please use the SPDX license identifier in all source files.

Expand Down

0 comments on commit 3ff220b

Please sign in to comment.