actions-clever-cloud
actions-clever-cloud copied to clipboard
Improve continuous deployment
- Use conventional commits to drive versioning
- Use semantic-release to automate releases to:
- Docker hub (prebuilt image with appropriate tags)
- GitHub Actions marketplace (publish)
- GitHub releases (release notes)
This issue serves as a documentation of the existing process, and as notes for a fully automated process.
The action can be consumed in several ways:
- Via a GitHub owner/repo slug + version specifier, which uses the action manifest. The action manifest is always pinned to the latest stable version on Docker (though not by SHA-256), to prevent rebuilding the image for each workflow run, saving time.
- Via a Docker reference directly (bypassing the manifest)
While pinning to the latest stable version on Docker in the manifest is great for performance, it's a pain to maintain and should be automated away.
Other places where versioning should be kept in sync are:
- The
version
field in package.json - Documentation (always indicate the latest stable version in docs)
Note: with Docker's decision to royally screw open-source maintainers, we're going to have to either:
- move away from using a Docker delivery system, and go back to a Node.js runtime
- publish the images to GHCR instead of Docker Hub.
The second option makes more sense as the container registry will be closer to where it's being used, so it should theoretically be more performant to pull the image from a cold cache, without requiring (hopefully) too much code change.
Source: https://blog.alexellis.io/docker-is-deleting-open-source-images/