* refactor(release): switch release integrity to be dynamic
This matches rules_py as documented by
https://blog.aspect.build/releasing-bazel-rulesets-rust
It has the benefit that developers no longer get yelled at to vendor some updated integrity hashes into bazel-lib every time they touch the Go sources.
* refactor: echo should produce trailing newline
* chore: bump action-gh-release to avoid Node 16 warning
* chore: update test that is sensitive to compilation mode
We now only use --compilation_mode=opt when cutting a release
* Add platform_transition_test
Signed-off-by: Thomas Lam <thomaslam@canva.com>
* Set target platform constraints for tests
Signed-off-by: Thomas Lam <thomaslam@canva.com>
* Update docs
Signed-off-by: Thomas Lam <thomaslam@canva.com>
---------
Signed-off-by: Thomas Lam <thomaslam@canva.com>
This teaches the jq rule about a `data` attribute and adds conditional
support to do bazel location expansion. The expansion is disabled by
default because it likely would cause compat concerns (since jq can take
arbitrary text as input args).
In practice we've disabled this setting at some clients, because there's not a surrounding workflow to find these targets are being silently dropped from CI, nor run them on another schedule.
We can re-introduce something better when we add Test Selection to Aspect Workflows.
* Reproduction for mtree_spec behaving different in other repo
* Fix the bug (but not the test)
* Fix the test
* Rename mtree_spec e2e dir to tar
* Fix bzlmod tests
* Remove unnecessary skylib dependency from e2e repos
* Add e2e tests to matrix
* Replace e2e test with a normal test
To do this, we somewhat abuse the skylib dependency, but that's
probalby OK.
* chore: add windows binaries
* chore: fix/exclude windows brokenness
* chore: try to see why diff tests fail on windows
* fix: rm bazelisk rc again for windows
* fix: try our own diff_test
* chore: use only our own diff_test
* feat: tar includes runfiles
* chore: try to fix red circleci
* fix: tracked down problem
* chore: document tar#srcs supports runfiles
* chore: add comment about logic for trimming manifest suffix
* chore: missed a replacement spot
* chore: give up on the listing test for now
* feat: add a BSD tar toolchain
@thesayyn discovered that it has a feature which should make it a drop-in replacement for pkg_tar
including fine-grained file permissions and symlinks:
https://man.freebsd.org/cgi/man.cgi?mtree(8)
* show example of mtree usage
* feat: introduce tar rule
* cleanup and get test passing
* more cleanup
* chore: add support for compress flags
* chore: add docs
* chore: add docs
* feat: implement linux bsdtar toolchain (#566)
* chore: improve target naming
* WIP: args
* feat: generate mtree spec
Also allow arbitrary args
* refactor: mtree is required
* refactor: style nits
* fix: support mix of source and generated artifacts
* feat: demonstrate strip_prefix
* chore: regen docs
* fix: make host toolchain a fallback toolchain
* fix: include libarchive13.so when installing BSD tar
* chore: buildifier
* fix: aarch64 cpu constraint
* fix(ci): include libarchive13.so when running tar
* chore: add libnettle
* refactor: inputs mutated less
* refactor: remove unneeded substitution arg
* refactor: don't advertise unsupported modes
* fix: hack enough to make it run on my machine
* chore: dynamic libraries included in sh_binary under toolchain
* make sh_binary work
* refactor: drop arm64 for now
* fix toolchain
* fix test
* chore: improve test naming scheme
---------
Co-authored-by: Sahin Yort <thesayyn@gmail.com>
* feat: add `propagate_common_{,test_,binary_}rule_attributes` to lib/utils.
* lib/private/utils: PR feedback: extract COMMON_BINARY_RULE_ATTRIBUTES and COMMON_TEST_RULE_ATTRIBUTES to global constants.
* lib/private/utils: PR feedback: remove default value for attrs param to propagate_common_*rule_attributes
* fix: lib/private/utils: buildifier.
* yq: allow any filename in srcs
* yq: add test cases for free-form file extensions in input
* run buildifier
---------
Co-authored-by: Alex Eagle <alex@aspect.dev>