From c92c55048739692cfb575c06f16600a32349631c Mon Sep 17 00:00:00 2001 From: Alex Eagle Date: Thu, 13 Nov 2025 14:29:14 -0800 Subject: [PATCH 1/3] Update ci.yaml --- .github/workflows/ci.yaml | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 2dce12e..2f05cff 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -22,17 +22,10 @@ jobs: steps: - uses: actions/checkout@v5 - uses: bazel-contrib/setup-bazel@0.15.0 - - name: Install Aspect CLI - uses: jaxxstorm/action-install-gh-release@v2.1.0 - with: - repo: aspect-build/aspect-cli - tag: 2025.42.9 - asset-name: aspect-cli - platform: unknown_linux - arch: x86_64 - extension-matching: disable - rename-to: aspect - chmod: 0755 + - run: | + curl -LO https://github.com/aspect-build/aspect-cli/releases/download/v2025.46.20/aspect-cli-x86_64-unknown-linux-musl + chmod +x aspect-cli-x86_64-unknown-linux-musl + mv aspect-cli-x86_64-unknown-linux-musl /usr/local/bin/aspect - name: Test working-directory: example shell: sh From 0a0c4bf51cfb7715ca5e6994dab78778e029f212 Mon Sep 17 00:00:00 2001 From: Alex Eagle Date: Thu, 13 Nov 2025 17:35:05 -0800 Subject: [PATCH 2/3] breaking changes --- coverage.axl | 15 +++++++-------- example/.aspect/coverage.axl | 1 - example/.aspect/runnable.axl | 1 - runnable.axl | 4 ++-- 4 files changed, 9 insertions(+), 12 deletions(-) delete mode 120000 example/.aspect/coverage.axl delete mode 120000 example/.aspect/runnable.axl diff --git a/coverage.axl b/coverage.axl index 210bc13..ba52277 100644 --- a/coverage.axl +++ b/coverage.axl @@ -13,26 +13,25 @@ def impl(ctx) -> int: lcov_build = ctx.bazel.build( "@lcov", - events = True, - bazel_flags = ["--build_runfile_links"], + build_events = True, + flags = ["--build_runfile_links"], ) lcov = runnable(ctx) - for event in lcov_build.events(): + for event in lcov_build.build_events(): lcov.event(event) - test = ctx.bazel.build( + test = ctx.bazel.test( "//...", - events = True, - bazel_flags = [ + build_events = True, + flags = [ "--isatty=" + str(int(out.is_tty)), "--collect_code_coverage", ], - bazel_verb = "test" ) coverage_dat_files = [] - for event in test.events(): + for event in test.build_events(): if event.kind == "test_result": coverage_dat_files.extend([ f.file.removeprefix("file://") diff --git a/example/.aspect/coverage.axl b/example/.aspect/coverage.axl deleted file mode 120000 index 27fe14a..0000000 --- a/example/.aspect/coverage.axl +++ /dev/null @@ -1 +0,0 @@ -../../coverage.axl \ No newline at end of file diff --git a/example/.aspect/runnable.axl b/example/.aspect/runnable.axl deleted file mode 120000 index b8a0d30..0000000 --- a/example/.aspect/runnable.axl +++ /dev/null @@ -1 +0,0 @@ -../../runnable.axl \ No newline at end of file diff --git a/runnable.axl b/runnable.axl index 1c33caf..b8a0ce1 100644 --- a/runnable.axl +++ b/runnable.axl @@ -27,7 +27,7 @@ def _determine_entrypoint(state: struct) -> str | None: break return entrypoint -def _spawn(ctx: task_context, state: struct, args: list[str]) -> std.process.child: +def _spawn(ctx: TaskContext, state: struct, args: list[str]) -> std.process.Child: entrypoint = _determine_entrypoint(state) runfiles = entrypoint + ".runfiles" return ctx.std.process.command(entrypoint)\ @@ -40,7 +40,7 @@ def _spawn(ctx: task_context, state: struct, args: list[str]) -> std.process.chi .args(args) \ .spawn() -def runnable(ctx) -> struct: +def runnable(ctx: TaskContext) -> struct: state = struct( ctx = ctx, target = "@@lcov+//:lcov", # TODO(alexeagle): we can assume there's only one target From 43ef6a5710cda8ce076795cd07454dbd966493ee Mon Sep 17 00:00:00 2001 From: Alex Eagle Date: Thu, 13 Nov 2025 17:35:37 -0800 Subject: [PATCH 3/3] module files --- MODULE.aspect | 2 ++ example/MODULE.aspect | 5 +++++ 2 files changed, 7 insertions(+) create mode 100644 MODULE.aspect create mode 100644 example/MODULE.aspect diff --git a/MODULE.aspect b/MODULE.aspect new file mode 100644 index 0000000..015e87a --- /dev/null +++ b/MODULE.aspect @@ -0,0 +1,2 @@ +"Public API re-export" +use_task("coverage.axl", "coverage") diff --git a/example/MODULE.aspect b/example/MODULE.aspect new file mode 100644 index 0000000..d41b872 --- /dev/null +++ b/example/MODULE.aspect @@ -0,0 +1,5 @@ +axl_local_dep( + name = "coverage", + path = "..", + auto_use_tasks = True, +)