Skip to content

Immutable Releases #521

Closed

Description

@CalvinRodo

Enabling this will make it easier to use this action in a secure way, with mutable tags I need to either fork this action or pin to a Git SHA to ensure that I am using a known version of this action, with an immutable release I can pin to the tag and be confident the code won't be maliciously modified due to a compromise of this repo.

https://docs.github.com/en/actions/how-tos/create-and-publish-actions/using-immutable-releases-and-tags-to-manage-your-actions-releases

It also makes it easier to understand what version we are using in workflows as we can view the version number instead of a sha

Activity

  1. added
    enhancementNew feature or request
    github_actionsPull requests that update GitHub Actions code
    releaseTags for an updated version
    on Jan 9, 2026
  2. added theissue type on Jan 9, 2026
  3. zimeg commented on Jan 9, 2026

    @zimeg
    Member

    Hey @CalvinRodo! 👋 Thanks for sharing this update with us - it looks quite promising 🐙

    At the moment our release process creates then moves the release tag on "publish" to a packaged commit to avoid clutter on the main branch. More details might exist in #444.

    I agree we should revisit this for immutable tagging! Perhaps the release branch is created and tagged before publishing a release?

    Let's keep this issue open towards an updated publish workflow. In the meantime I might suggest using hashes with a version comment:

    - uses: slackapi/slack-github-action@91efab103c0de0a537f72a35f6b8cda0ee76bf0a # v2.1.1

    The kind @dependabot does well with updating that comment, but I agree that this might not be a great workaround 🤖

  4. AskeFC commented on Apr 14, 2026

    @AskeFC

    Would you kindly consider using Immutable Releases ?

  5. zimeg commented on Apr 22, 2026

    @zimeg
    Member

    @AskeFC Thanks for the bump! I'm understanding now that immutable releases are not the same as immutable tags so we can perhaps make this change as we revisit or publishing process 📚

    6. After merging these changes into `main` create a new [release](https://github.com/slackapi/slack-github-action/releases/new) with a new tag - `v1.2.3` - on publish. Include relevant changes in the release notes!

    The current approach prefers an automated release that creates tags that are moved. Let's explore other options now 🤓

  6. zimeg commented on Apr 23, 2026

    @zimeg
    Member

    🚀 The most recent v3.0.2 release is immutable! Thanks again for sharing this with us 📰 ✨

    Image
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestgithub_actionsPull requests that update GitHub Actions codereleaseTags for an updated version

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions