rules_perl icon indicating copy to clipboard operation
rules_perl copied to clipboard

Add release artifact automation for stable checksums

Open Copilot opened this issue 1 month ago • 0 comments

GitHub's auto-generated source tarballs lack stable digests, and git_repository requires git in the exec environment with no repository cache support.

Changes

  • .github/workflows/release.yml: Workflow to generate release tarballs on tag creation with stable SHA256 checksums
  • README.md: Document http_archive as the recommended integration method with release artifact URLs
  • RELEASING.md: Maintainer guide for creating releases and automated artifact generation

Usage

Replace placeholders with actual values from release notes:

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_perl",
    sha256 = "INSERT_SHA256_HERE",
    strip_prefix = "rules_perl-VERSION",
    urls = ["https://github.com/bazel-contrib/rules_perl/releases/download/VERSION/rules_perl-VERSION.tar.gz"],
)

load("@rules_perl//perl:deps.bzl", "perl_register_toolchains", "perl_rules_dependencies")

perl_rules_dependencies()
perl_register_toolchains()

Release artifacts enable reproducible builds, Bazel caching/mirroring, and eliminate git dependency.

Original prompt

This section details on the original issue you should resolve

<issue_title>Use release artifacts instead of github source tarballs</issue_title> <issue_description>rules_perl can be included with either git_repository or http_repository. The former requires git in the exec env, and the latter uses github source tarball.

Git one cannot be cached to repository cache, and the github source tarball doesn't guarantee the digest to be the same overtime.

Please create release artifacts when cutting new releases. </issue_description>

Comments on the Issue (you are @copilot in this section)

  • Fixes bazel-contrib/rules_perl#64

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot avatar Dec 31 '25 13:12 Copilot