How to do proper CI/CD with artifact promotion with GitHub Actions.

This page summarizes the projects mentioned and recommended in the original post on /r/devops

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. semantic-release

    :package::rocket: Fully automated version management and package publishing

    Then, I have a separate "Release" workflow, which is triggered manually using "workflow_dispatch" on the main branch. This workflow fetches the previously built Docker image. (using the branch name as the tag) and runs Semantic Release which creates a GitHub release, based on the commit messages and pushes a new image with the final tag to GCR.

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. release-drafter

    Drafts your next release notes as pull requests are merged into master.

    I am thinking I would have to create a GitHub release manually and then have a workflow listening on the "Release created" event, which would pull the image with the correct commit sha, tag it with the proper version and push it. Or using something like Release Drafter with a PR-based Git flow.

  4. docs

    Packagr is a series of small, language-agnostic, dependency-free, composable tools that let you package and release artifacts and libraries written in any language. (by PackagrIO)

    Curious if something like https://github.com/PackagrIO/docs would work for your flow.

  5. CapsuleCD

    Discontinued Continuous Delivery for automating package releases (npm, cookbooks, gems, pip, jars, etc)

    Packagr is based off of one of my earlier tools https://github.com/AnalogJ/capsulecd which did this whole flow end to end automatically, but was pretty opinionated, and inflexible. Packagr is setup as a series of small composable tools, which you can integrate with your existing build/test tools & scrips

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Generate semantic-release with GitHub Actions

    4 projects | dev.to | 4 Feb 2021
  • Git hooks for 100x devs.(not for faint heart)

    1 project | dev.to | 29 Nov 2024
  • Create and publish an npm library, with TypeScript and Semantic Versioning

    3 projects | dev.to | 12 Sep 2024
  • Pipelight: Tiny Automation Pipelines

    1 project | news.ycombinator.com | 26 Jan 2024
  • Pipelight – An uncomplicated automation tool made with Rust for 2024

    1 project | news.ycombinator.com | 24 Jan 2024

Did you know that JavaScript is
the 3rd most popular programming language
based on number of references?