Commit graph

514 commits

Author SHA1 Message Date
Manlio Perillo
67f369484c build: ensure the exercise links libc, when needed
When running, as an example, `zig build -Dhealed -Dn=93 test`, the build
fails, because the `test` step use the standard CompileStep, instead of
ZiglingStep.

Ensure that exercises using libc are correctly built.

Closes #229
2023-04-11 12:45:27 +02:00
Manlio Perillo
1cf910fb51 build: enable full parallelism when -Dhealed is set
The eowyn.sh script is used in a github workflow, but after
commit 0d56ba3 (build: restore the exercise chain), the github action
will take more time to complete.

Enable full build parallelism, when -Dhealed is true and -Dn is null.
Use the standard CompileStep and RunStep, instead of ZiglingStep.

On my PC, this change reduces the build time by about 30%.
2023-04-08 09:31:03 +02:00
Chris Boesch
b478c1bff4 Update README.md
changed zig version number
2023-04-07 18:28:33 +02:00
Chris Boesch
e242d821ba Merge pull request #212 from perillo/improve-build
build: make the logo a build step
2023-04-07 18:24:42 +02:00
Chris Boesch
ddc835762c Insert current zig version for compatiblity!
This is primarily to make users aware that there has been a change in the call for individual exercises.
2023-04-07 18:18:15 +02:00
Chris Boesch
0fd80d6cba help text for parameters adapted 2023-04-07 18:06:13 +02:00
Manlio Perillo
59e28987da build: restore the exercise chain
The new parallel build support in Zig broke the exercise chain, so that
each esercise check is no longer strictly serialized.

  1. Add the Dexno option, in order to isolate the chain starting from a
     named exercise from the normal chain, thus simplify the code.

     The current code have an additional issue: it added 4 x n steps,
     making reading the help message or the list of steps very hard.

     Add only the `install`, `uninstall`, `zigling`, `test` and `start`
     steps.  The last three steps match the old steps `n`, `n_test` and
     `n_start`.

     The default step is zigling (note the singular form).

     The `install` step override the builtin install step, showing a
     custom description and matches the old `n_install` step.
     The uninstall step was added for consistency, so that the
     description is consistent.

     Setup a new chain starting at `zig build -Dexno=n start` so that it
     is stricly serialized.

     The behavior should be the same as the old one.

  2. Handle the code for all the exercises separately.

     Add only the `ziglings step`, making it the default step, in
     addition to the install and uninstall steps.

     Setup a new chain starting at the first exercise, to that it is
     strictly serialized.

     The behavior should be the same as the old one.

The current code has a know issue: the messages from the ZiglingStep and
the ones from the compiler compilation progress are interleaved, but each
message is written atomically, due to the use of `std.debug.getStderrMutex()`.

Update the README.md file.

Closes #202
2023-04-07 11:36:26 +02:00
Manlio Perillo
75a1600626 build: fix the description of the named_install step
Replace the description of the named_install step from
"Install {s} to zig-cache/bin" to "Copy {s} to prefix path".  The latter
has been adapded from the description of the builtin install step.

Ad an empty line before the build_step variable, in order to improve
readability.

Closes #213
2023-04-05 21:19:17 +02:00
Chris Boesch
8bf719e5e2 Merge pull request #216 from chrboesch/i215
improving the explanation
2023-04-05 16:30:51 +02:00
Chris Boesch
14ad753001 improving the explanation 2023-04-05 16:11:56 +02:00
Manlio Perillo
36e3f577ca build: replace the logo step with the header step
Remove the logo step, and use PrintStep for the header step.

The logo step was added as a quick fix after the Builder.addLog function
was removed.

Now the logo is no longer shown when running `zig build -l` or
`zig build -h`.
2023-04-04 18:32:30 +02:00
Manlio Perillo
45713ec8ab build: restore support for Zig 0.6.0
The version check for Zig 0.6.0 was incorrect since commit
971ab7f (Use a zig build script to run ziglings).

Move compatibility support to a separate file, in order to simplify
build.zig.

In case of incompatible version, exit with code 3 instead of 0, in order
to detect the case of failure in a test (to be implemented).

Remove the use of comptime when checking compatibility at the start of
the build function, since it is not necessary.

Closes #210.
2023-04-03 11:37:12 +02:00
Manlio Perillo
dd15cb94fd build: make the logo a build step
Currently, the logo is always printed when the build script is executed,
resulting in the logo being printed twice with `zig build -h` and
`zig build -l`.

Make the logo a build step, so that the logo is printed to stderr only
when necessary.

Closes #211
2023-04-02 15:09:51 +02:00
Chris Boesch
b75a76d072 Merge pull request #209 from chrboesch/e70
changed self parameter in connect to pointer
2023-03-31 12:31:15 +02:00
Chris Boesch
ad8aec7885 changed self parameter in connect to pointer 2023-03-31 12:18:57 +02:00
Chris Boesch
5469a7b89f Merge pull request #208 from chrboesch/issue_140
function made more elegant
2023-03-30 23:22:09 +02:00
Chris Boesch
b16cd86906 function made more elegant 2023-03-30 23:11:40 +02:00
Chris Boesch
aa01f6eea9 Merge pull request #207 from chrboesch/i205
changed self paramter in waddle to pointer
2023-03-30 22:49:10 +02:00
Chris Boesch
34e36e4175 changed self paramter in waddle to pointer 2023-03-30 22:42:44 +02:00
Chris Boesch
87ddb98d23 Merge pull request #206 from ZoloZithro/my-branch
Exercise 094: Correct spelling and grammar

Thanks!
2023-03-30 16:40:49 +02:00
Zolo Zithro
dfed138555 Exercise 094: Correct spelling and grammar 2023-03-30 09:40:13 -04:00
Chris Boesch
66d9d337a6 Update README.md
change note to attention for new build system
2023-03-20 00:24:24 +01:00
Chris Boesch
2ba268a0b0 Merge pull request #203 from chrboesch/new_build
workaround for new build system
2023-03-19 18:28:47 +01:00
Chris Boesch
3b85c24694 workaround for parallel processing of the build steps 2023-03-19 18:23:35 +01:00
Chris Boesch
78e856f602 first test for new build system 2023-03-19 00:59:42 +01:00
Dave Gauer
ad8b0383a4 Merge pull request #199 from joburgard/main
Fix typos
2023-03-15 18:52:16 -04:00
Jo Burgard
903b5fc536 Fix typo 2023-03-14 13:43:50 +01:00
Jo Burgard
b5e16e8d0b Fix typo 2023-03-14 13:35:20 +01:00
Chris Boesch
5ad5bba918 Update README.md 2023-03-12 13:49:26 +01:00
Chris Boesch
423e63a83d Update README.md 2023-03-12 13:47:48 +01:00
Chris Boesch
c3f9c7878c Update README.md
see https://github.com/ratfactor/ziglings/issues/198
2023-03-12 13:47:13 +01:00
Chris Boesch
4455afebf9 Merge pull request #197 from chrboesch/memall
added line feed
2023-03-09 12:39:32 +01:00
Chris Boesch
8f67cb8c02 added line feed 2023-03-09 12:20:45 +01:00
Chris Boesch
fd8bde3cd3 Merge pull request #195 from Seanny123/memory-allocation
Memory allocation exercise
2023-03-09 11:38:42 +01:00
Sean Aubin
be87134397 change empty init to '???' placeholder 2023-03-08 19:22:17 -05:00
Sean Aubin
484822a8da rename memory allocation 095 -> 096 2023-03-08 13:42:21 -05:00
Sean Aubin
a218425ee5 add 095_memory_allocation.patch 2023-03-08 13:36:28 -05:00
Sean Aubin
551a36f7c9 fix allocate example 2023-03-08 13:36:27 -05:00
Sean Aubin
f08af9b242 move memory allocation example to 095 2023-03-08 13:36:25 -05:00
Sean Aubin
f01d9ba92d rephrase/reformat comments 2023-03-08 13:35:02 -05:00
Sean Aubin
1be1d854a8 first draft of memory allocation exercise 2023-03-08 13:35:02 -05:00
Chris Boesch
f10f9efe7f Merge pull request #196 from chrboesch/for-loops
exercise for new for-loops
2023-03-04 16:15:30 +01:00
Chris Boesch
101151f3f1 exercise for new for-loops 2023-03-04 16:07:53 +01:00
Chris Boesch
582f3b1b09 Merge pull request #194 from Seanny123/sean-nitpicks
Nitpicks: typos, grammar
2023-02-28 16:29:37 +01:00
Sean Aubin
20a0fcdd9a fix typos/grammar in 093_hello_c.zig
- output a text -> output text
- In Zig -> add comma
- result ist -> result is
- remove extra whitespace
2023-02-28 10:17:32 -05:00
Chris Boesch
861bf28e73 Update README.md 2023-02-22 11:22:41 +01:00
Chris Boesch
fb029e6982 Update README.md 2023-02-21 21:55:32 +01:00
Chris Boesch
c34380e939 Merge pull request #191 from chrboesch/dev_1711
dev.1711 - switched to multi-object-for-loops
2023-02-21 21:54:09 +01:00
Chris Boesch
e7326dc5f9 dev.1711 - switched to multi-object-for-loops 2023-02-21 21:43:40 +01:00
Chris Boesch
8da0a6aa7d Merge pull request #190 from chrboesch/issue_126
removed unnecessary self pointer
2023-02-20 21:48:19 +01:00