Collection of GitHub actions for ecobee. While the current examples are all composite run types, any github action style is welcome here!
| Action |
|---|
ecobee/github-actions/go_build_artifact@v1 |
ecobee/github-actions/go_test_and_lint@v1 |
ecobee/github-actions/push_docker_gcr@v1 |
ecobee/github-actions/publish_dx_dora_metrics@v1 |
See individual action directory for details on usage and examples.
- Go Build artifact - builds golang binary and outputs build tag
- Go Test and Lint - runs golang tests, and lints with golangci-lint
- Push Docker GCR - creates docker file from repo's Dockerfile, pushed using supplied build tag
- Publish DX DORA Metrics - publishes deployment metrics to DX for DORA tracking
This repository follows semantic versioning. When using these actions in workflows:
- Recommended:
@v1- automatically get non-breaking updates (patches and minor versions) - Pinned:
@v1.0.0- pin to a specific release version - Unstable:
@main- use latest code (not recommended for production)
For maintainers releasing new versions:
- Merge changes to main
- Run the release script:
The script will:
./scripts/set-release-tag.sh v1.2.3
- Validate you're on
mainwith a clean working tree - Show the current latest version
- Validate the new version is greater than the current version
- Create and push both the version tag (
v1.2.3) and major tag (v1)
- Validate you're on
⚠️ Important: The release script only validates version format and ordering. You are responsible for:
- Reviewing the changes since the last release
- Determining if the version bump is appropriate (major/minor/patch)
- Ensuring breaking changes are properly documented
- Verifying all actions work as expected
The script is a safeguard against simple mistakes, not a substitute for careful release management.
Manual alternative:
git tag v1.0.0
git push origin v1.0.0
git tag -f v1
git push -f origin v1Versioning Guidelines:
- Major (v2.0.0): Breaking changes to inputs, outputs, or behavior
- Minor (v1.1.0): New features, backward-compatible changes
- Patch (v1.0.1): Bug fixes, documentation updates