Commit graph

703 commits

Author SHA1 Message Date
Chris Boesch
4754e758d3
Update ci.yml 2023-04-28 11:14:43 +00:00
Chris Boesch
ec9c04f055
Update ci.yml 2023-04-28 11:10:37 +00:00
Chris Boesch
8cfe5a2858
split in windows and uses PowerShell 2023-04-28 11:03:24 +00:00
Arya-Elfren
b4d9d0a4af
Simplify f16 coersion example 2023-04-28 11:32:45 +01:00
Arya-Elfren
734888cbe9
Simplify methods explanation in 047 2023-04-28 11:12:42 +01:00
Arya-Elfren
9211e54eb2
Clarify the methods syntax sugar & a bit more
I think it's a bit clearer to show exactly what the syntax sugar of methods is, because that's all it is. Every function in Zig is in a struct (files are structs after all) and methods just simplify their use.

I also thought we might use the explicit saturating subtraction as that is why the feature is in Zig.
2023-04-26 22:47:03 +01:00
Arya-Elfren
82157a3599
Clarify f16 maths - closes #204 2023-04-26 22:07:20 +01:00
Chris Boesch
c3d68a0607
step eowyn ranamed 2023-04-26 20:01:50 +02:00
Chris Boesch
8bcd081140
fixed error time-out minutes 2023-04-26 19:47:35 +02:00
Chris Boesch
0f7b996a69
step names addes and switched to checkout v3 2023-04-26 19:40:16 +02:00
Chris Boesch
fda6f08201
step names added and switched to checkout v3 2023-04-26 19:36:58 +02:00
Chris Boesch
907c173a2f
fixed fail-fast error 2023-04-26 11:44:49 +02:00
Chris Boesch
3761b398fb
strategy error fixed 2023-04-26 11:37:31 +02:00
Chris Boesch
4ca5d96a0e
timeout error fixed 2023-04-26 11:35:19 +02:00
Chris Boesch
aea9feb2fb
Merge pull request #259 from perillo/improve-github-workflows
workflows: improve the jobs configuration
2023-04-26 09:13:53 +00:00
Chris Boesch
43651a1aa6
back to checkout@2 2023-04-26 11:13:19 +02:00
Chris Boesch
11faa218a3
back to checkout@v2 2023-04-26 11:05:21 +02:00
Manlio Perillo
537b8167ad workflows: improve the jobs configuration
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-26 10:55:36 +02:00
Chris Boesch
f9ebe0675b
Merge pull request #254 from chrboesch/tools
Replacing Python-Tools with Zig-Tools
2023-04-25 21:46:12 +00:00
Chris Boesch
beeaa7adb5
Merge pull request #258 from chrboesch/eowyn
Version number added.
2023-04-25 21:37:55 +00:00
Chris Boesch
c659ac077f Version number added. 2023-04-25 23:34:56 +02:00
Chris Boesch
bd6054f3f3
Merge pull request #257 from chrboesch/eowyn
Added a loop for the formatting test, so we can see where errors happen.
2023-04-25 21:23:02 +00:00
Chris Boesch
a7d42a4f57 Added a loop for the formatting test, so we can see where errors happen. 2023-04-25 23:21:01 +02:00
Chris Boesch
d29d12273b replaced update-patches.py with update-patches.zig 2023-04-25 21:35:18 +02:00
Chris Boesch
badf1981cd
Merge pull request #255 from perillo/improve-ci-more
Improve ci more
2023-04-25 18:32:48 +00:00
Chris Boesch
00104c763b
Merge pull request #256 from perillo/improve-more-2
More improvements
2023-04-25 18:31:12 +00:00
Chris Boesch
353498d4d8
Python isn't necessary 2023-04-25 20:23:27 +02:00
Manlio Perillo
dd08ac23bf .gitattributes: remove support for old files, add python
Remove support for old .h, .cpp and .bat files.

Set eol mode to lf for Python scripts.

Closes #252
2023-04-25 16:13:59 +02:00
Manlio Perillo
266ed84082 .gitignore: add zig-out, remove vim backup and swap files
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-25 16:13:38 +02:00
Manlio Perillo
33ba83036f workflow: add a test job to ci.yml
Add a job to run the ziglings unit tests, using `zig build test`.
2023-04-25 15:35:42 +02:00
Manlio Perillo
67ecf9a6af workflows: use actions/checkout@v3
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-25 15:13:38 +02:00
Manlio Perillo
e13a450706 Fix formatting in exercise 99
The non-conforming formatting was not detected by the eowyn.sh script,
due to a bug.
2023-04-25 14:56:07 +02:00
Manlio Perillo
c76ec7ecf6 eowyn.sh: set the -e option
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-25 14:52:05 +02:00
Manlio Perillo
888e030693 eowyn: always quote variables
Quote all the variables, even though we know that it is safe.

Fix coding style.
2023-04-25 12:58:46 +02:00
Chris Boesch
7ddd0a80c4 replaced check-exercises.pu with check-exercises.zig 2023-04-25 12:13:58 +02:00
Chris Boesch
71dc28d9ae
Merge pull request #250 from perillo/improve-test-coverage-2
Improve test coverage
2023-04-24 15:56:51 +00:00
Chris Boesch
96f12fd9c1
timeout to 60 minutes 2023-04-24 17:43:55 +02:00
Manlio Perillo
18dc84bd39 test: add a test for zig build -Dn=1
Add a test for `zig build -Dn=1` in order to test that a broken exercise
will print an hint.
2023-04-24 13:03:52 +02:00
Manlio Perillo
ca327993c5 test: change the order of zig build options
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-24 12:19:00 +02:00
Manlio Perillo
ebf4e31686 test: add test for zig build and zig build -Dn=1 start
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-24 11:59:08 +02:00
Manlio Perillo
4c78dce877 build: make exercise output more reliable
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-24 11:31:16 +02:00
Manlio Perillo
9b1826ecea test: fix incorrect cleanup code
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-24 10:32:08 +02:00
Manlio Perillo
d3527e3117 test: refactorize the code
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-24 10:31:06 +02:00
Dave Gauer
d1db29afd5 Another README coverage list edit
I still had C interop under stdlib, which it isn't.
2023-04-23 19:43:26 -04:00
Dave Gauer
76450bbe28 Tweaked README coverage list 2023-04-23 19:16:03 -04:00
Dave Gauer
ae8f7305a8 Updated README and CONTRIBUTING to reflect reality 2023-04-23 19:12:15 -04:00
Dave Gauer
2fe145964a Ex 099 format instructions to 65 columns, wording, examples 2023-04-23 18:54:43 -04:00
Chris Boesch
1832080daa
Update 099_formatting.zig
typo fixed
2023-04-19 22:14:06 +02:00
Chris Boesch
83d839bf49
Merge pull request #247 from chrboesch/formatting
added first formatting exercise
2023-04-19 22:09:32 +02:00
Chris Boesch
f42c390594 added first formatting exercise 2023-04-19 21:57:37 +02:00