⋯ 4 lines Show the 4 lines above this hunk @@ -5,25 +5,31 @@ on: 5 5 branches : [ main , develop ] 6 6 pull_request : 7 7 branches : [ main , develop ] 8 + schedule : 9 + - cron : '17 6 * * 1' 10 + workflow_dispatch : 8 11 9 12 jobs : 10 13 test : 11 - name : Test on $ { { matrix . os } } with Zig $ { { matrix . zig - version } } 14 + name : Test on $ { { matrix . os } } with supported Zig 12 15 runs - on : $ { { matrix . os } } 13 16 strategy : 14 17 matrix : 15 18 os : [ ubuntu - latest , macos - latest ] 16 - zig - version : [ '0.17.0-dev' ] 17 19 fail - fast : false 18 20 19 21 steps : 20 22 - name : Checkout code 21 23 uses : actions / checkout @ v6 22 24 25 + - name : Read supported Zig version 26 + id : zig - version 27 + run : echo "version=$(cat .zig-version)" > > "$GITHUB_OUTPUT" 28 + 23 29 - name : Setup Zig 24 30 uses : pantry - pm / pantry / packages / action @ main 25 31 with : 26 - packages : zig @ 0.17 . 0 - dev 32 + packages : zig @ $ { { steps . zig - version . outputs . version } } 27 33 28 34 - name : Verify Zig installation 29 35 run : zig version ⋯ 15 lines Show the 15 lines above this hunk @@ -45,10 +51,14 @@ jobs: 45 51 - name : Checkout code 46 52 uses : actions / checkout @ v6 47 53 54 + - name : Read supported Zig version 55 + id : zig - version 56 + run : echo "version=$(cat .zig-version)" > > "$GITHUB_OUTPUT" 57 + 48 58 - name : Setup Zig 49 59 uses : pantry - pm / pantry / packages / action @ main 50 60 with : 51 - packages : zig @ 0.17 . 0 - dev 61 + packages : zig @ $ { { steps . zig - version . outputs . version } } 52 62 53 63 - name : Check formatting 54 64 run : zig fmt - - check . ⋯ 6 lines Show the 6 lines above this hunk @@ -61,10 +71,14 @@ jobs: 61 71 - name : Checkout code 62 72 uses : actions / checkout @ v6 63 73 74 + - name : Read supported Zig version 75 + id : zig - version 76 + run : echo "version=$(cat .zig-version)" > > "$GITHUB_OUTPUT" 77 + 64 78 - name : Setup Zig 65 79 uses : pantry - pm / pantry / packages / action @ main 66 80 with : 67 - packages : zig @ 0.17 . 0 - dev 81 + packages : zig @ $ { { steps . zig - version . outputs . version } } 68 82 69 83 - name : Generate docs 70 84 run : zig build - lib - femit - docs src / lib . zig ⋯ 12 lines Show the 12 lines above this hunk @@ -83,10 +97,14 @@ jobs: 83 97 - name : Checkout code 84 98 uses : actions / checkout @ v6 85 99 100 + - name : Read supported Zig version 101 + id : zig - version 102 + run : echo "version=$(cat .zig-version)" > > "$GITHUB_OUTPUT" 103 + 86 104 - name : Setup Zig 87 105 uses : pantry - pm / pantry / packages / action @ main 88 106 with : 89 - packages : zig @ 0.17 . 0 - dev 107 + packages : zig @ $ { { steps . zig - version . outputs . version } } 90 108 91 109 - name : Install kcov 92 110 continue - on - error : true ⋯ 28 lines Show the 28 lines above this hunk @@ -121,3 +139,30 @@ jobs: 121 139 - name : Coverage skipped 122 140 if : steps . install - kcov . outcome ! = 'success' 123 141 run : echo "kcov not available on this platform, skipping coverage" 142 + 143 + latest - zig : 144 + name : Compatibility with latest Zig 0.17 . 0 - dev 145 + if : github . event_name = = 'schedule' | | github . event_name = = 'workflow_dispatch' 146 + continue - on - error : true 147 + runs - on : ubuntu - latest 148 + 149 + steps : 150 + - name : Checkout code 151 + uses : actions / checkout @ v6 152 + 153 + - name : Setup latest Zig development build 154 + uses : pantry - pm / pantry / packages / action @ main 155 + with : 156 + packages : zig @ 0.17 . 0 - dev 157 + 158 + - name : Verify Zig installation 159 + run : zig version 160 + 161 + - name : Build framework 162 + run : zig build 163 + 164 + - name : Run tests 165 + run : zig build test 166 + 167 + - name : Run examples 168 + run : zig build examples