actions-clever-cloud icon indicating copy to clipboard operation
actions-clever-cloud copied to clipboard

Improve continuous deployment

Open franky47 opened this issue 2 years ago • 1 comments

  • 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)

franky47 avatar Jul 13 '22 09:07 franky47

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/

franky47 avatar Mar 15 '23 13:03 franky47