2019-10-05 04:44:40 -06:00
# setup-zig
2020-11-11 04:17:26 -07:00
Use the zig compiler in your Github Actions workflows
2019-10-05 04:44:40 -06:00
2019-10-05 05:16:38 -06:00
[Usage ](#usage ) - [License: Apache-2.0 ](#license )
2019-10-05 04:44:40 -06:00
2019-10-05 05:16:38 -06:00
## Usage
2019-10-05 04:44:40 -06:00
2019-10-05 05:16:38 -06: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 07:03:25 -07:00
- uses: actions/checkout@v2
- uses: goto-bus-stop/setup-zig@v1
2019-10-05 05:16:38 -06:00
- run: zig build test
2019-10-05 05:30:05 -06:00
lint:
runs-on: ubuntu-latest
steps:
2020-02-17 07:03:25 -07:00
- uses: actions/checkout@v2
- uses: goto-bus-stop/setup-zig@v1
2019-10-05 05:30:05 -06:00
- run: zig fmt --check src/*.zig
2019-10-05 04:44:40 -06:00
```
2019-10-05 05:16:38 -06:00
Optionally set a Zig version:
```yaml
2020-02-17 07:03:25 -07:00
- uses: goto-bus-stop/setup-zig@v1
2019-10-05 05:16:38 -06:00
with:
2020-11-11 04:40:03 -07:00
version: 0.7.0 # The default is 0.5.0
2019-10-05 05:16:38 -06:00
```
2019-10-05 04:44:40 -06:00
2020-01-23 02:55:01 -07:00
To use the nightly builds, set:
```yaml
2020-02-17 07:03:25 -07:00
- uses: goto-bus-stop/setup-zig@v1
2020-01-23 02:55:01 -07:00
with:
version: master
```
2020-11-11 04:17:26 -07:00
Or [pin to a specific commit ](https://github.com/goto-bus-stop/setup-zig/issues/13 ) using `version+commithash` syntax:
```yaml
- uses: goto-bus-stop/setup-zig@v1
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 05:16:38 -06:00
```
*.zig text eol=lf
2019-10-05 04:44:40 -06:00
```
2023-06-25 10:02:21 -06:00
This action caches the downloaded compilers in your repository's Actions cache by default,
to reduce the load on the Zig Foundation's servers. Cached compilers are only about 60MB
each per version/OS/architecture.
If this is really bad for you for some reason you can disable the caching.
```yaml
- uses: goto-bus-stop/setup-zig@v1
with:
cache: false
```
2019-10-05 04:44:40 -06:00
## License
[Apache-2.0 ](LICENSE.md )