setup-zig/README.md

66 lines
1.6 KiB
Markdown
Raw Permalink Normal View History

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:
- 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:
- uses: actions/checkout@v2
2022-11-07 12:38:56 +00:00
- uses: goto-bus-stop/setup-zig@v2
- run: zig fmt --check .
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-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
```
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@v2
with:
cache: false
```
2019-10-05 10:44:40 +00:00
## License
[Apache-2.0](LICENSE.md)