diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ebeda5b..57e8225 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: matrix: zig: [ 0.6.0, 0.7.0, 0.8.0, 0.9.0, 0.10.0 ] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Zig uses: goto-bus-stop/setup-zig@v2 @@ -23,3 +23,19 @@ jobs: - name: Check compatibility with old Zig compilers run: ci/compat.sh + test: + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + runs-on: ${{ matrix.os }} + timeout-minutes: 60 + steps: + - uses: actions/checkout@v3 + + - name: Setup Zig + uses: goto-bus-stop/setup-zig@v2 + with: + version: master + + - name: Unit Test + run: zig build test diff --git a/.github/workflows/eowyn.yml b/.github/workflows/eowyn.yml index a7133ca..cfa84a4 100644 --- a/.github/workflows/eowyn.yml +++ b/.github/workflows/eowyn.yml @@ -18,7 +18,7 @@ jobs: runs-on: ${{ matrix.os }} timeout-minutes: 60 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Zig uses: goto-bus-stop/setup-zig@v2 with: diff --git a/exercises/099_formatting.zig b/exercises/099_formatting.zig index 074358b..fc73338 100644 --- a/exercises/099_formatting.zig +++ b/exercises/099_formatting.zig @@ -82,7 +82,7 @@ // // X | 1 2 3 4 5 ... // ---+---+---+---+---+---+ -// 1 | 1 2 3 4 5 +// 1 | 1 2 3 4 5 // // 2 | 2 4 6 8 10 // diff --git a/patches/eowyn.sh b/patches/eowyn.sh index a036acf..0c3b299 100755 --- a/patches/eowyn.sh +++ b/patches/eowyn.sh @@ -12,9 +12,10 @@ # using the patches in this directory and convey them # to convalesce in the healed directory. # +set -e # We check ourselves before we wreck ourselves. -if [ ! -f 'patches/eowyn.sh' ] +if [ ! -f patches/eowyn.sh ] then echo "But I must be run from the project root directory." exit 1 @@ -27,22 +28,21 @@ mkdir -p patches/healed for broken in exercises/*.zig do # Remove the dir and extension, rendering the True Name. - true_name=$(basename $broken .zig) + true_name=$(basename "$broken" .zig) patch_name="patches/patches/$true_name.patch" - - if [ -f $patch_name ] + if [ -f "$patch_name" ] then # Apply the bandages to the wounds, grow new limbs, let # new life spring into the broken bodies of the fallen. - echo Healing $true_name... - patch --output=patches/healed/$true_name.zig $broken $patch_name + echo Healing "$true_name"... + patch --output="patches/healed/$true_name.zig" "$broken" "$patch_name" else - echo Cannot heal $true_name. No patch found. + echo Cannot heal "$true_name". No patch found. fi done -# Check the healed exercises formatting. +echo "Looking for non-conforming code formatting..." zig fmt --check patches/healed # Test the healed exercises. May the compiler have mercy upon us.