Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How do you prevent ziglings from running previously solved exercises? #355

Closed
davidscholberg opened this issue Aug 22, 2023 · 4 comments
Closed

Comments

@davidscholberg
Copy link

Every time I run zig build, the previously solved exercises are all compiled and checked as well as the current one. This was fine at first, but now that I'm on exercise 22, the output is getting quite cluttered and the compile time is becoming noticeable.

I had a look at the readme and tried to run zig build -Dn=22 start and got the following output:

no step named 'start'. Access the help menu with 'zig build -h'
error: the following build command failed with exit code 1:
C:\Users\dhscholb\src\git\ziglings\zig-cache\o\4cb658a5bed91aa4d15dc89b35fbe827\build.exe C:\Users\dhscholb\Documents\Standalone Executables\zig-current\zig.exe C:\Users\dhscholb\src\git\ziglings C:\Users\dhscholb\src\git\ziglings\zig-cache C:\Users\dhscholb\AppData\Local\zig -Dn=22 start

Running zig build -l yields:

  ziglings (default)           Check all ziglings
  test                         Run all the tests
  test-cli                     Test the command line interface

Is there still a way to prevent previously solved exercises from being compiled and checked other than specifying each exercise number manually?

zig version: 0.12.0-dev.152+411462e1c
ziglings version: 1e9124b333310b982236d86e2928bbd44f93634e
os: windows 11

@chrboesch
Copy link
Collaborator

Just run zig build -Dn=22 for a single exercise and increase the number after finishing. I'll have to take a look into why start doesn't work.

@perillo
Copy link
Contributor

perillo commented Aug 26, 2023

@chrboesch start step is no longer available but there is still a reference in the README file.

@perillo
Copy link
Contributor

perillo commented Aug 26, 2023

Is there still a way to prevent previously solved exercises from being compiled and checked other than specifying each exercise number manually?

zig version: 0.12.0-dev.152+411462e1c ziglings version: 1e9124b333310b982236d86e2928bbd44f93634e os: windows 11

Unfortunately it is not easy to implement, since the Zig build file is declarative.
In a local branch I have a draft implementation (using the build cache), but it has several problems.

chrboesch added a commit that referenced this issue Aug 27, 2023
Advanced usage line 'zig build -Dn=x start' deleted, because of #355
@avi-cenna
Copy link

avi-cenna commented Sep 19, 2023

For anyone that wants a more automated solution, you can use this nushell script. You can save it as runner.nu in the root of the ziglings directory, and then run it like so: nu runner.nu 5 10. This will run exercises 5 through 10.

# Change to the path of your dev zig executable
let zig_path = "~/Downloads/zig-dev/zig"

def main [start: int, end: int] {
    print $"Running ziglings exercises from ($start) to ($end)"
    let rng = $start..$end;
    for i in $rng {
        ^$zig_path build $"-Dn=($i)"
    }
}

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

No branches or pull requests

4 participants