aboutsummaryrefslogtreecommitdiffstatshomepage
AgeCommit message (Collapse)Author
2023-05-01cli tests removed to solve 272Chris Boesch
2023-05-01Merge pull request #270 from perillo/improve-exercise-typeChris Boesch
Improve the Exercise type
2023-05-01build: don't override the top level stepsManlio Perillo
When running `zig build -Dn=n`, the install and uninstall steps where overridden in order to improve the description. In recent version of Zig this is no longer allowed.
2023-05-01build: rename Exercise.baseName to nameManlio Perillo
The name "baseName" is confusing, since it refers to the UNIX basename command, and not to the basename function in some programming languages including Zig. Use the std.fs.path.stem function to remove the file extension, instead of slicing. Remove the use of the assertion, since it is no longer necessary. Instead, add a check to ensure that the exercise must be a Zig source file in the validate_exercises function. Update the validate_exercises function to check the last exercise, too.
2023-05-01build: add the Exercise.addExecutable methodManlio Perillo
Currently addExecutable is called 3 times, unnecessarily making the code more complex. The method takes as argument the path to the exercises directory. Additionally, use the new std.Build.ExecutableOptions.link_libc field. The new field was added in ziglang/zig@adc9b77d5f on 2023-04-13. Update the required Zig compiler version. Note that I added the **current** zig version to the changelog, since the reason for the change is known only to the person updating the version.
2023-05-01build: rename the Exercise.C field to link_libcManlio Perillo
The name "C" does not follow the naming conventions for container fields.
2023-05-01build: reduce code duplication when setting the work pathManlio Perillo
Currently, the code for defining the path to the exercises directory is duplicate 4 times. Add the constants `healed_path` and `work_path`, and use work_path instead of the duplicated if expression. Update ZiglingStep to take `work_path` instead of `use_healed` as argument. Reduce code length by using `join` instead of `std.fs.path.join` and replace the use of a slice with a tuple. Additionally, in case of an error from the `join` function, use @panic instead of unreachable. Document why the special branch, when the exercises are healed by the eowyn script, has been disabled.
2023-05-01build: remove the Exercise.async fieldManlio Perillo
The stage1 C++ compiler is gone forever. Remove the custom support and documentation for the old stage1 compiler in build.zig and README.md.
2023-05-01build: move exercises at the end of the fileManlio Perillo
The exercises slice takes about 460 lines, making it hard to read the source code of build.zig. Closes #225
2023-04-30Added Ex. 100 fourth for (as foretold in #261)Dave Gauer
2023-04-30Oops, capitalization in ex016.Dave Gauer
2023-04-30Renamed 095 to "for3" to match feature sequenceDave Gauer
So 100 will be the next in line.
2023-04-30Updating 095 patch to match, natch!Dave Gauer
2023-04-30Updating wording in 'for' exercisesDave Gauer
This is in preparation for another dive into 'for' in an upcoming Exercise 100. Also reformatted 095 for 65 columns and some wording.
2023-04-29Merge pull request #269 from perillo/fix-windows-deadlockChris Boesch
Fix deadlock on Windows
2023-04-29eowyn.sh: remove checking formatting one file at a timeManlio Perillo
This avoids unnecessary output. Also remove the comment, since the message to stdout makes it unnecessary.
2023-04-29test: make the patch command silentManlio Perillo
The POSIX standard says that the patch command should not use stdout, but GNU patch writes the message: patching file patches/healed/xxx.zig (read from exercises/xxx.zig). Add the -s flag to suppress these messages. Note that the heal function from test/tests.zig is called when running `zig build -Dhealed` because it is executed in the configure phase.
2023-04-29test: fix deadlock on windows when running testsManlio Perillo
The deadlock was caused by setting stdout behavior to ignore, when spawning the patch command. When the patch command writes to devnull it causes some errors and a deadlock. The cause of the bug is probably Zig using `\Device\Null` from `ntdll` while git-bash uses `NUL` from `kernel32`.
2023-04-29workflows: remove the custom windows only jobsManlio Perillo
Restore the job matrix to run on linux, macos and windows. Remove lines with extra whitespace. Improve the documentation of the Eowyn workflow. Remove the single quoting of the workflow names.
2023-04-29Update README.mdChris Boesch
2023-04-28Merge pull request #268 from chrboesch/mainChris Boesch
Switched back to bash on Windows
2023-04-28switched back to bash on windowsChris Boesch
2023-04-28switched back to bash on windowsChris Boesch
2023-04-28Merge pull request #267 from chrboesch/mainChris Boesch
Split github actions into 'Windows' and 'Linux/Mac' for using PowerShell on Windows
2023-04-28Split Windows with PowerShellChris Boesch
2023-04-28Update ci.ymlChris Boesch
2023-04-28Update ci.ymlChris Boesch
2023-04-28Update ci.ymlChris Boesch
2023-04-28Update ci.ymlChris Boesch
2023-04-28split in windows and uses PowerShellChris Boesch
2023-04-26step eowyn ranamedChris Boesch
2023-04-26fixed error time-out minutesChris Boesch
2023-04-26step names addes and switched to checkout v3Chris Boesch
2023-04-26step names added and switched to checkout v3Chris Boesch
2023-04-26fixed fail-fast errorChris Boesch
2023-04-26strategy error fixedChris Boesch
2023-04-26timeout error fixedChris Boesch
2023-04-26Merge pull request #259 from perillo/improve-github-workflowsChris Boesch
workflows: improve the jobs configuration
2023-04-26back to checkout@2Chris Boesch
2023-04-26back to checkout@v2Chris Boesch
2023-04-26workflows: improve the jobs configurationManlio Perillo
Reduce the timeout to 30 minutes for all the jobs, since it is enough. Set strategy.fail-fast to false, so that we can see the full logs.
2023-04-25Merge pull request #254 from chrboesch/toolsChris Boesch
Replacing Python-Tools with Zig-Tools
2023-04-25Merge pull request #258 from chrboesch/eowynChris Boesch
Version number added.
2023-04-25Version number added.Chris Boesch
2023-04-25Merge pull request #257 from chrboesch/eowynChris Boesch
Added a loop for the formatting test, so we can see where errors happen.
2023-04-25Added a loop for the formatting test, so we can see where errors happen.Chris Boesch
2023-04-25replaced update-patches.py with update-patches.zigChris Boesch
2023-04-25Merge pull request #255 from perillo/improve-ci-moreChris Boesch
Improve ci more
2023-04-25Merge pull request #256 from perillo/improve-more-2Chris Boesch
More improvements
2023-04-25Python isn't necessaryChris Boesch