2019-10-05 10:44:40 +00:00
# setup-zig
2020-11-11 11:17:26 +00:00
Use the zig compiler in your Github Actions workflows
2019-10-05 10:44:40 +00:00
2019-10-05 11:16:38 +00:00
[Usage ](#usage ) - [License: Apache-2.0 ](#license )
2019-10-05 10:44:40 +00:00
2019-10-05 11:16:38 +00:00
## Usage
2019-10-05 10:44:40 +00:00
2019-10-05 11:16:38 +00:00
In a Github Actions workflow file, do something like:
```yaml
jobs:
test:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{matrix.os}}
steps:
2020-02-17 14:03:25 +00:00
- uses: actions/checkout@v2
2022-11-07 12:38:56 +00:00
- uses: goto-bus-stop/setup-zig@v2
2019-10-05 11:16:38 +00:00
- run: zig build test
2019-10-05 11:30:05 +00:00
lint:
runs-on: ubuntu-latest
steps:
2020-02-17 14:03:25 +00:00
- uses: actions/checkout@v2
2022-11-07 12:38:56 +00:00
- uses: goto-bus-stop/setup-zig@v2
2019-10-05 11:30:05 +00:00
- run: zig fmt --check src/*.zig
2019-10-05 10:44:40 +00:00
```
2019-10-05 11:16:38 +00:00
Optionally set a Zig version:
```yaml
2022-11-07 12:38:56 +00:00
- uses: goto-bus-stop/setup-zig@v2
2019-10-05 11:16:38 +00:00
with:
2022-11-07 12:19:37 +00:00
version: 0.7.0
2019-10-05 11:16:38 +00:00
```
2019-10-05 10:44:40 +00:00
2022-11-07 12:19:37 +00:00
The default is to use the nightly `master` builds.
2020-01-23 09:55:01 +00:00
2020-11-11 11:17:26 +00:00
Or [pin to a specific commit ](https://github.com/goto-bus-stop/setup-zig/issues/13 ) using `version+commithash` syntax:
```yaml
2022-11-07 12:38:56 +00:00
- uses: goto-bus-stop/setup-zig@v2
2020-11-11 11:17:26 +00:00
with:
version: 0.6.0+4b48fccad
```
If you are running Zig on Windows machines, you need to make sure that your .zig files use \n line endings and not \r\n. The `actions/checkout` action auto-converts line endings to `\r\n` on Windows runners, so add a `.gitattributes` file:
2019-10-05 11:16:38 +00:00
```
*.zig text eol=lf
2019-10-05 10:44:40 +00:00
```
## License
[Apache-2.0 ](LICENSE.md )