aboutsummaryrefslogtreecommitdiffstatshomepage
AgeCommit message (Collapse)Author
2023-04-26back to checkout@2Chris 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
2023-04-25.gitattributes: remove support for old files, add pythonManlio Perillo
Remove support for old .h, .cpp and .bat files. Set eol mode to lf for Python scripts. Closes #252
2023-04-25.gitignore: add zig-out, remove vim backup and swap filesManlio Perillo
Add the zig-out directory, since the install step is available. Remove the vim backup and swap files, since it is possible to configure vim to use a custom directory. Ensure all the directories are anchored to the root directory. Closes #251
2023-04-25workflow: add a test job to ci.ymlManlio Perillo
Add a job to run the ziglings unit tests, using `zig build test`.
2023-04-25workflows: use actions/checkout@v3Manlio Perillo
Use the new version of actions/checkout, since all Github Actions will begin running on Node16 instead of Node12. See https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.
2023-04-25Fix formatting in exercise 99Manlio Perillo
The non-conforming formatting was not detected by the eowyn.sh script, due to a bug.
2023-04-25eowyn.sh: set the -e optionManlio Perillo
Currently, `zig fmt` exit status is ignored, making it useless. Ensure that the script terminates early if there is an error. Print a message to stdout before executing `zig fmt`, in order to make the possible error more visible.
2023-04-25eowyn: always quote variablesManlio Perillo
Quote all the variables, even though we know that it is safe. Fix coding style.
2023-04-25replaced check-exercises.pu with check-exercises.zigChris Boesch
2023-04-24Merge pull request #250 from perillo/improve-test-coverage-2Chris Boesch
Improve test coverage
2023-04-24timeout to 60 minutesChris Boesch
2023-04-24test: add a test for `zig build -Dn=1`Manlio Perillo
Add a test for `zig build -Dn=1` in order to test that a broken exercise will print an hint.
2023-04-24test: change the order of `zig build` optionsManlio Perillo
In test case 1 and 2, move the -Dhealed option before the -Dn option, for consistency. Fix a typo in cmd.setName in test case 1 and 2. Remove a confusing comment in test case 1.
2023-04-24test: add test for `zig build` and `zig build -Dn=1 start`Manlio Perillo
Add tests for `zig build` and `zig build -Dn=1 start`, in order to test that the all the exercises are processed in the correct order.
2023-04-24build: make exercise output more reliableManlio Perillo
Currently, ZiglingStep prints the raw exercise output. This is not a problem when executing `zig build` from the shell, but in a unit test it is necessary to know when the exercise output ends. Document that Exercise.output should not have trailing whitespace. Ensure this is true by adding a check in the validate_exercises function. Remove trailing whitespace in exercises 68 and 99. Simplify the output validation in ZiglingStep.makeInternal. Checking that the length of the actual and expected output is the same is not necessary, since trailing whitespace has been removed. Simply do an exact comparison. Print the trimmed exercise output, instead of the raw output. This will ensure that the exercise output always ends with only one LF character. Fix some small coding style issues.
2023-04-24test: fix incorrect cleanup codeManlio Perillo
The current cleanup code is incorrect, since it may delete the healed directory while one test case is running. The solution is to make each test case isolate, with its own setup and teardown. Unfortunately it is currently not possible, since each test case modify the same directory. Disable the cleanup step, until a better solution is found.
2023-04-24test: refactorize the codeManlio Perillo
Currently, if there is an error when creating the patches/healed directory, the error message will be printed on stderr, but the build runner will report the test as being successful. Add the fail function and the FailStep, so that the error will be correctly handled by the build runner. Remove the PatchStep, and instead add the heal function so that all the exercises are healed before starting the tests. The heal function executes at the configuration phase, but the possible error is handled by the build runner.
2023-04-23Another README coverage list editDave Gauer
I still had C interop under stdlib, which it isn't.
2023-04-23Tweaked README coverage listDave Gauer
2023-04-23Updated README and CONTRIBUTING to reflect realityDave Gauer
2023-04-23Ex 099 format instructions to 65 columns, wording, examplesDave Gauer
2023-04-19Update 099_formatting.zigChris Boesch
typo fixed
2023-04-19Merge pull request #247 from chrboesch/formattingChris Boesch
added first formatting exercise
2023-04-19added first formatting exerciseChris Boesch
2023-04-19Merge pull request #234 from perillo/improve-ciChris Boesch
Improve CI
2023-04-18Ensure the patches are up-to-date and consistentManlio Perillo
Add the update-patches.py tool. Update all the patches, so that the files are up-to-date and use the same patch file format.
2023-04-18eowyn: run `zig fmt --check` before `zig build`Manlio Perillo
Update the eowyn.sh script to check the healed exercises formatting, before running `zig build`.
2023-04-18Ensure the exercises use the canonical formatManlio Perillo
Add the check-exercises.py tool in the new tools directory. It is used to check that the exercises are correctly formatted, printing on stderr the invalid ones and the diff in the unified format. Update the exercises that don't use the canonical zig fmt format. Update some patches that cause the generated zig file to be incorrectly formatted.
2023-04-18ci: add a CI workflowManlio Perillo
Add a new github workflow named CI. Add a job named compat, checking that and old Zig compiler will not fail with a compiler error, but instead will print an useful error message.
2023-04-18Merge pull request #246 from perillo/build-restore-compatibility-2Chris Boesch
build: restore compatibility with old Zig compilers
2023-04-18build: avoid intermixed messages on the same lineManlio Perillo
In same cases, the progress messages from the compiler are intermixed with the messages printed by ZiglingStep. This intermixing appears in two cases: - when printing, e.g., the message "Checking 0_arrays2.zig..." - when printing the compiler errors Closes #230
2023-04-18build: don't print errors in ZiglingStep.evalManlio Perillo
Move the code for printing compiler errors and messages to the new ZiglingStep.printErrors method. Call printErrors in the Zigling.doCompile method, both in the normal and error flow. When handling an error from the Zig IPC, add the case when the compiler was unable to return the executable path. Before using the IPC, the error was "The following command exited with error code 1" now it is "The following command failed to communicate the compilation result"
2023-04-18build: restore compatibility support againManlio Perillo
Commit e214c44 (build: update ZiglingStep to the new API) broke again the compatibility support for old compilers, due to the use of the multi-object for loop syntax. Move the Zig IPC support code to src/ipc.zig. Use the while statement, instead of the for statement.
2023-04-13Merge pull request #238 from perillo/update-zigling-stepChris Boesch
Update ZiglingStep
2023-04-13build: update ZiglingStep to the new APIManlio Perillo
Update the code to the breaking change in ziglang commit c96cb98ad (CLI: remove --enable-cache option). Replace the --enable-cache option with the --listen=- option and use the Zig IPC to get the path to the executable. Closes #236
2023-04-13build: disable special case for `zig build -Dhealed`Manlio Perillo
The special case was added because it was used by the Eowyn github workflow. As a side effect, however, it prevents testing the normal case used by users. Disable it, until a better solution is found.
2023-04-13Update README.mdChris Boesch
2023-04-13Merge pull request #237 from chrboesch/mainChris Boesch
added cname
2023-04-12Update CNAMEChris Boesch
2023-04-12Update CNAMEChris Boesch