Releases: aherrmann/rules_zig
Releases · aherrmann/rules_zig
v0.4.0
Using Bzlmod with Bazel >=6
- Enable with
common --enable_bzlmod
in.bazelrc
. - Add to your
MODULE.bazel
file:
bazel_dep(name = "rules_zig", version = "0.4.0")
Using WORKSPACE
Paste this snippet into your WORKSPACE.bazel
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_zig",
sha256 = "b4e95afef292b8fe00cd2a4272176e1cb466138dc7ab370a4ed752c653420b25",
strip_prefix = "rules_zig-0.4.0",
url = "https://github.com/aherrmann/rules_zig/releases/download/v0.4.0/rules_zig-0.4.0.tar.gz",
)
###################
# rules_zig setup #
###################
# Fetches the rules_zig dependencies.
# If you want to have a different version of some dependency,
# you should fetch it *before* calling this.
# Alternatively, you can skip calling this function, so long as you've
# already fetched all the dependencies.
load("@rules_zig//zig:repositories.bzl", "rules_zig_dependencies", "zig_register_toolchains")
rules_zig_dependencies()
zig_register_toolchains(
name = "zig",
zig_versions = [
"0.12.0",
"0.11.0",
],
)
Highlights
- Support for Zig SDK versions 0.12.0 and 0.11.0.
- Support for builds involving multiple Zig SDK versions via transition on the
--@zig_toolchains//:version
flag.
Breaking Changes
- The zig module extension no longer accepts a name attr.
What's Changed
- chore: refactor ZigModuleInfo by @aherrmann in #233
- chore(deps): update dependency rules_multirun to v0.7.0 by @renovate in #235
- [chore] track Zig SDK version by @aherrmann in #236
- chore(deps): update dependency aspect_bazel_lib to v2.4.2 by @renovate in #234
- chore(deps): update dependency aspect_bazel_lib to v2.5.0 by @renovate in #237
- chore(deps): update dependency rules_multirun to v0.8.1 by @renovate in #238
- chore(deps): update dependency aspect_bazel_lib to v2.5.1 by @renovate in #239
- chore(deps): update softprops/action-gh-release action to v2 by @renovate in #241
- chore(deps): update dependency bazel to v7.1.0 by @renovate in #242
- chore(deps): update dependency aspect_bazel_lib to v2.5.3 by @renovate in #240
- chore(deps): update dependency platforms to v0.0.9 by @renovate in #244
- chore(deps): update dependency bazel to v7.1.1 by @renovate in #243
- chore(deps): update dependency rules_multirun to v0.9.0 by @renovate in #245
- chore: use
json.encode
instead of struct method. by @aherrmann in #246 - chore(deps): update dependency cgrindel_bazel_starlib to v0.20.2 by @renovate in #247
- chore(deps): update dependency aspect_bazel_lib to v2.6.0 by @renovate in #248
- chore(deps): update dependency aspect_bazel_lib to v2.6.1 by @renovate in #249
- chore(deps): update dependency gazelle to v0.36.0 by @renovate in #251
- chore(deps): update dependency bazel_gazelle to v0.36.0 by @renovate in #250
- chore(deps): update dependency aspect_bazel_lib to v2.7.0 by @renovate in #252
- feat: external and persisted Zig cache by @aherrmann in #253
- docs: generate stardocs for module extensions by @aherrmann in #256
- feat!: support multiple Zig SDK versions by @aherrmann in #258
- feat: support Zig version transion by @aherrmann in #260
- feat: sort specified Zig SDK versions by semantic version by @aherrmann in #261
- feat: implicit default Zig SDK version by @aherrmann in #262
- feat: root module can specify default Zig version by @aherrmann in #263
- docs: update zig module extension documentation by @aherrmann in #264
- chore: trigger CI on base branch change by @aherrmann in #265
- test: Zig version tests use version build flag by @aherrmann in #266
- feat: generate config settings for version ranges by @aherrmann in #268
- chore(deps): update dependency aspect_bazel_lib to v2.7.1 by @renovate in #269
- test: add unit tests for zig module extension by @aherrmann in #270
- chore(deps): update dependency io_bazel_rules_go to v0.47.0 by @renovate in #272
- feat: support Zig versions 0.11.0 and 0.12.0 by @github-actions in #271
- fix: dynamic linking on MacOS with Zig 0.12.0 by @aherrmann in #275
- test: re-enable Zig docs generation for Zig 0.12.0 on MaCOS by @aherrmann in #276
Full Changelog: v0.3.0...v0.4.0
v0.3.0
Using Bzlmod with Bazel >=6
- Enable with
common --enable_bzlmod
in.bazelrc
. - Add to your
MODULE.bazel
file:
bazel_dep(name = "rules_zig", version = "0.3.0")
Using WORKSPACE
Paste this snippet into your WORKSPACE.bazel
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_zig",
sha256 = "74edce4778a885eeea159c11c335ed412a913c24b9d701e590a42c34aa48b3c8",
strip_prefix = "rules_zig-0.3.0",
url = "https://github.com/aherrmann/rules_zig/releases/download/v0.3.0/rules_zig-0.3.0.tar.gz",
)
###################
# rules_zig setup #
###################
# Fetches the rules_zig dependencies.
# If you want to have a different version of some dependency,
# you should fetch it *before* calling this.
# Alternatively, you can skip calling this function, so long as you've
# already fetched all the dependencies.
load("@rules_zig//zig:repositories.bzl", "rules_zig_dependencies", "zig_register_toolchains")
rules_zig_dependencies()
zig_register_toolchains(
name = "zig",
zig_version = "0.11.0",
)
What's Changed
- chore(deps): update dependency io_bazel_rules_go to v0.44.2 by @renovate in #186
- chore(deps): update dependency rules_bazel_integration_test to v0.21.0 by @renovate in #188
- chore(deps): update dependency rules_bazel_integration_test to v0.21.0 by @renovate in #189
- chore(deps): update dependency rules_python to v0.28.0 by @renovate in #190
- chore(deps): update dependency rules_python to v0.28.0 by @renovate in #191
- chore(deps): update dependency aspect_bazel_lib to v2.2.0 by @renovate in #187
- chore(deps): update dependency aspect_bazel_lib to v2.3.0 by @renovate in #192
- chore(deps): update dependency io_bazel_rules_go to v0.45.0 by @renovate in #193
- chore(deps): update dependency rules_bazel_integration_test to v0.22.0 by @renovate in #194
- chore(deps): update actions/cache action to v4 by @renovate in #195
- chore(deps): update dependency bazel to v7.0.1 by @renovate in #196
- chore(deps): update dependency io_bazel_rules_go to v0.45.1 by @renovate in #197
- chore(deps): update dependency rules_bazel_integration_test to v0.23.0 by @renovate in #198
- chore(deps): update dependency rules_bazel_integration_test to v0.23.0 by @renovate in #199
- chore(deps): update dependency rules_python to v0.29.0 by @renovate in #200
- chore(deps): update dependency rules_python to v0.29.0 by @renovate in #201
- chore(deps): update dependency bazel to v7.0.2 by @renovate in #202
- chore(deps): update andstor/file-existence-action action to v3 by @renovate in #203
- feat: add
env
andenv_inherit
attributes by @aherrmann in #204 - chore: reproducible update_deleted_packages by @aherrmann in #205
- feat: minimal runfiles library (no manifest, no repo-mapping) by @aherrmann in #206
- feat: implement runfiles repo-mapping (only from main repo so far) by @aherrmann in #208
- chore(deps): update dependency rules_zig to v0.2.0 by @renovate in #209
- feat: support source relative repo mapping by @aherrmann in #210
- feat: implicit bazel_builtin package dependency by @aherrmann in #211
- feat: remove zig_runfiles in favor of bazel_builtin by @aherrmann in #212
- chore(deps): update dependency aspect_bazel_lib to v2.4.1 by @renovate in #213
- feat: support manifest based runfiles lookup by @aherrmann in #214
- feat: non-allocating variant of rlocation by @aherrmann in #215
- chore(deps): update dependency io_bazel_rules_go to v0.46.0 by @renovate in #216
- feat: expose runfiles environment variables by @aherrmann in #217
- feat: validate rlocation path by @aherrmann in #218
- chore: explicit error unions by @aherrmann in #219
- chore(deps): update dependency rules_python by @renovate in #220
- chore(deps): update dependency rules_python to v0.31.0 by @renovate in #222
- feat: support zig documentation generation by @aherrmann in #223
- fix: resolve zig-autodoc-guide correctly by @aherrmann in #224
- docs: runfiles library user guide by @aherrmann in #225
- feat: use libc without cc-toolchain by @aherrmann in #226
- feat: introduce Runfiles.withSourceRepo by @aherrmann in #227
- chore: rename zig_package to zig_module by @aherrmann in #228
- chore: BCR presubmit - set Bazel versions by @aherrmann in #229
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Using Bzlmod with Bazel >=6
- Enable with
common --enable_bzlmod
in.bazelrc
. - Add to your
MODULE.bazel
file:
bazel_dep(name = "rules_zig", version = "0.2.0")
Using WORKSPACE
Paste this snippet into your WORKSPACE.bazel
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_zig",
sha256 = "df01689593b39960cf67a9ca964e986b76e5d16b7548c45f84f0b5ad221050a7",
strip_prefix = "rules_zig-0.2.0",
url = "https://github.com/aherrmann/rules_zig/releases/download/v0.2.0/rules_zig-0.2.0.tar.gz",
)
###################
# rules_zig setup #
###################
# Fetches the rules_zig dependencies.
# If you want to have a different version of some dependency,
# you should fetch it *before* calling this.
# Alternatively, you can skip calling this function, so long as you've
# already fetched all the dependencies.
load("@rules_zig//zig:repositories.bzl", "rules_zig_dependencies", "zig_register_toolchains")
rules_zig_dependencies()
zig_register_toolchains(
name = "zig",
zig_version = "0.11.0",
)
What's Changed
- chore(deps): update dependency rules_python to v0.27.1 by @renovate in #145
- chore(deps): update dependency rules_python to v0.27.1 by @renovate in #147
- chore(deps): update dependency aspect_bazel_lib to v2.0.2 by @renovate in #149
- chore(deps): update dependency aspect_bazel_lib to v2.0.3 by @renovate in #150
- chore(deps): update dependency aspect_bazel_lib to v2.0.3 by @renovate in #151
- fix: Zig update - don't require requests by @aherrmann in #152
- chore(deps): update dependency buildifier_prebuilt to v6.4.0 by @renovate in #153
- chore(deps): update dependency buildifier_prebuilt to v6.4.0 by @renovate in #154
- chore(deps): update dependency cgrindel_bazel_starlib to v0.19.0 by @renovate in #155
- chore(deps): update dependency io_bazel_rules_go to v0.44.0 by @renovate in #156
- chore(deps): update dependency bazel_gazelle to v0.35.0 by @renovate in #157
- chore(deps): update dependency gazelle to v0.35.0 by @renovate in #158
- chore(deps): update dependency aspect_bazel_lib to v2.1.0 by @renovate in #159
- chore(deps): update dependency aspect_bazel_lib to v2.1.0 by @renovate in #160
- feat: Support linking against static libraries by @aherrmann in #163
- test: static library linking behavior by @aherrmann in #166
- feat: Support C header imports by @aherrmann in #167
- feat: Enable libc/libc++ linking to expose system headers by @aherrmann in #168
- feat: Support ABI selection and transition by @aherrmann in #169
- chore(deps): update dependency io_bazel_rules_go to v0.44.1 by @renovate in #170
- fix: correctly forward defines on cc_library cdeps by @aherrmann in #171
- fix: construct isystem arguments correctly by @aherrmann in #175
- chore: Update to Bazel version 7.0.0 by @aherrmann in #177
- feat: Support custom dynamic linker by @aherrmann in #176
- feat: Support linking against shared libraries by @aherrmann in #165
- fix: collect cdeps data dependencies by @aherrmann in #183
- feat: support location and make variable expansion by @aherrmann in #184
- chore(deps): update dependency aspect_bazel_lib to v2.1.0 by @renovate in #185
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Using Bzlmod with Bazel >=6
- Enable with
common --enable_bzlmod
in.bazelrc
. - Add to your
MODULE.bazel
file:
bazel_dep(name = "rules_zig", version = "0.1.0")
Using WORKSPACE
Paste this snippet into your WORKSPACE.bazel
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_zig",
sha256 = "6ccc0cf61ae1a1f3e61aa2c2721309692f6b8cd8e18206e8c0dcd6423dfd101d",
strip_prefix = "rules_zig-0.1.0",
url = "https://github.com/aherrmann/rules_zig/releases/download/v0.1.0/rules_zig-0.1.0.tar.gz",
)
###################
# rules_zig setup #
###################
# Fetches the rules_zig dependencies.
# If you want to have a different version of some dependency,
# you should fetch it *before* calling this.
# Alternatively, you can skip calling this function, so long as you've
# already fetched all the dependencies.
load("@rules_zig//zig:repositories.bzl", "rules_zig_dependencies", "zig_register_toolchains")
rules_zig_dependencies()
zig_register_toolchains(
name = "zig",
zig_version = "0.11.0",
)
What's Changed
- feat: download and register Zig release 0.10.1 for Linux by @aherrmann in #3
- feat: zig_binary rule for single Zig source file binary by @aherrmann in #5
- feat: support multiple Zig sources in zig_binary rule by @aherrmann in #7
- feat: add zig_package rule and support Zig packages deps in zig_binary rule by @aherrmann in #10
- feat: add deps attribute to zig_package rule by @aherrmann in #12
- feat: add zig_library rule by @aherrmann in #17
- feat: add zig_test rule by @aherrmann in #20
- chore: apply updates from bazel-contrib/rules-template by @aherrmann in #22
- chore: apply pre-commit fixes to all files by @aherrmann in #24
- test: define bazel-in-bazel integration tests by @aherrmann in #25
- refactor: deduplicate the list of supported Bazel versions for integration tests by @aherrmann in #28
- ci: test that generated files are up-to-date by @aherrmann in #29
- test: add integration tests for the zig_test rule by @aherrmann in #30
- feat: download and register Zig release 0.10.1 for MacOS (amd64) by @aherrmann in #31
- feat: support Zig build modes by @aherrmann in #35
- ci: optimize the CI configuration by @aherrmann in #36
- feat: add the zig_configure* rule family to support transitioning on the Zig build mode by @aherrmann in #41
- ci: disable MacOS CI (temporarily) by @aherrmann in #42
- feat: add a build setting to control target binary threaded-ness by @aherrmann in #45
- feat: add a linker_script attribute to the Zig build rules by @aherrmann in #47
- feat: support cross-compilation via Bazel's platforms & toolchains by @aherrmann in #50
- feat: support target platform transitions in the zig_configure* rule family by @aherrmann in #53
- docs: fill in the README with a minimal description by @aherrmann in #60
- chore: fill in the LICENSE template by @aherrmann in #61
- docs: expand the API documentation by @aherrmann in #62
- docs: add a motivation section to the README by @aherrmann in #67
- chore: configure release automation by @aherrmann in #68
- chore: cherry-pick bazel-contrib/rules-template updates by @aherrmann in #69
- feat: add bzlmod support by @aherrmann in #73
- fix: update filename in release prep script by @aherrmann in #74
- feat: add support for MacOS by @aherrmann in #75
- fix: avoid output_base path in build outputs by @aherrmann in #78
- feat: support C source files in Zig rules by @aherrmann in #91
- fix: root source file in progress message by @aherrmann in #92
- feat: extra_srcs attribute to support
@embedFile
by @aherrmann in #94 - feat: support the x86_32-linux target platform by @aherrmann in #95
- feat: support the ppc-linux target platform by @aherrmann in #96
- chore: factor out common rule implementation by @aherrmann in #97
- feat: add data attributes to Zig rules by @aherrmann in #98
- feat: support cross-compilation to Windows by @aherrmann in #99
- feat: add the zig_shared_library rule to generate shared objects or dynamic libraries by @Titousensei in #103
- feat: support more Zig SDK versions by @aherrmann in #106
- chore: automatically update Zig versions by @aherrmann in #107
- chore: update Zig versions to 0.11.0 by @github-actions in #108
- fix: typos in reproducibility tests by @aherrmann in #109
- chore(deps): update rules_multirun digest to f37bc7a by @renovate in #110
- chore(deps): update dependency platforms to v0.0.8 by @renovate in #111
- chore: extend renovate bot configuration by @aherrmann in #113
- chore: rules_multirun tagged release 0.6.1 by @aherrmann in #114
- chore(deps): update dependency rules_multirun to v0.6.1 by @renovate in #116
- chore(deps): update dependency aspect_bazel_lib to v1.39.0 by @renovate in #117
- chore(deps): update dependency bazel_gazelle to v0.34.0 by @renovate in #119
- chore: update rules_bazel_integration_testing 0.18.0 by @aherrmann in #115
- chore: GitHub action to join all tests by @aherrmann in #121
- chore(deps): update dependency bazel to v6.4.0 by @renovate in #118
- chore(deps): update dependency bazel_skylib to v1.5.0 by @renovate in #122
- chore(deps): update dependency bazel_skylib_gazelle_plugin to v1.5.0 by @renovate in #123
- chore: drop Bazel version 5.x by @aherrmann in #125
- chore(deps): update dependency cgrindel_bazel_starlib to v0.18.1 by @renovate in #127
- chore: configure remote cache by @aherrmann in #124
- chore(deps): update dependency buildifier_prebuilt to v6.3.3 by @renovate in #126
- chore(deps): update dependency gazelle to v0.34.0 by @renovate in #128
- chore(deps): update dependency io_bazel_rules_go to v0.43.0 by @renovate in #129
- fix: formatting by @aherrmann in #135
- chore(deps): update dependency rules_python to v0.27.0 by @renovate in #132
- chore(deps): update dependency rules_bazel_integration_test to v0.20.0 by @renovate in #131
- chore(deps): update actions/checkout action to v4 by @renovate in #133
- chore(deps): update dependency aspect_bazel_lib to v2 by @renovate in #134
- chore(deps): update dependency io_bazel_stardoc to v0.6.2 by @renovate in #130
- chore: enable bzlmod by default by @aherrmann in #136
- chore: factor out common Bazel config and use in e2e by @aherrmann in #137
- fix: malformed .bazelrc import by @aherrmann in #138
- chore: update Bazel versions 7.0.0rc4 by @aherrmann in #120
- fix: generate static archives with a lib prefix by @aherrmann in #141
- docs: Install instructions and status in README by @aherrmann in #142
- chore: configure release automation by @aherrmann in #143
- chore: fix release wo...