Skip to content

Conversation

@ee7
Copy link
Member

@ee7 ee7 commented Jul 29, 2025

This PR is intended to stay as draft until the 0.15.0 release, at which point I'll update this PR to use plain 0.15.0.

I'm just making this PR to get the tests passing in advance, and as the corresponding PR for exercism/zig-test-runner#127.


This should be an exciting release for Zig, because it's expected to make the x86_64 backend the default for debug builds. That'll speed up things a lot for both those using Exercism locally and in the browser.

See:

Edit 2025-07-31: The 0.15.0 milestone target date is now 2025-08-12.
Edit 2025-08-11: The 0.15.0 milestone target date was recently removed, and the number of open issues in the milestone has increased (there's currently 22 of them).
Edit 2025-08-19: The 0.15.0 release was tagged (see ziglang/zig@94cda37) and is being built.
Edit 2025-08-20: It looks like Zig 0.15.0 won't make it to a proper release (see ziglang/www.ziglang.org@1be0f80), and instead Zig will go straight to 0.15.1.

As a sample size of 1, the Linux workflow's testing step took:

  • 36s with this PR.
  • 2m18s in the previous run on main.

So thats a roughly 4x speedup, which matches the speedup advertised above.

Closes: #342


To-do:

Please let me handle merging this PR and the corresponding PR in exercism/zig. Zig still makes a significant number of breaking changes, so the test runner and track repos should be kept in sync. My usual process is to merge the track PR as soon as I see that the new test runner image was successfully deployed.

ee7 added 5 commits August 19, 2025 13:30
This bump requires a change to the exercises: replace uses of ArrayList
with array_list.Managed, to reflect the 2025-08-12 upstream change that
makes unmanaged the default [1].

From the corresponding PR [2]:

    ## Upgrade Guide

    -  std.ArrayList  ->  std.array_list.Managed
      - warning: will be eventually removed from standard library
    -  std.ArrayListAligned  ->  std.array_list.AlignedManaged
      - warning: will be eventually removed from standard library

[1] https://www.github.com/ziglang/zig/commit/749f10af4902
[2] https://www.github.com/ziglang/zig/pull/24801
It looks like Zig 0.15.0 won't be officially released [1].

[1] ziglang/www.ziglang.org@1be0f80b15d2
@ee7 ee7 changed the title .github, docs, exercises: bump Zig from 0.14.1 to 0.15.0 .github, docs, exercises: bump Zig from 0.14.1 to 0.15.1 Aug 20, 2025
@ee7 ee7 marked this pull request as ready for review August 20, 2025 20:06
Use the date stated on the download page [1].

To be precise:

- Zig 0.15.1 was tagged at 2025-08-19T23:20:53Z [2].

- The website-updating PR was merged at 2025-08-20T18:06:48Z [3].

[1] https://ziglang.org/download/#release-0.15.1
[2] https://github.com/ziglang/zig/releases/tag/0.15.1
[3] ziglang/www.ziglang.org@bdb96d38abe7
Copy link
Contributor

@keiravillekode keiravillekode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(for ee7 to merge)

@ee7 ee7 merged commit 7c5b46c into exercism:main Aug 20, 2025
7 checks passed
@ee7 ee7 deleted the zig-0.15.0 branch August 20, 2025 23:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: consider adding to matrix: x86_64 backend

2 participants