bc506fbfd1
* Cache the zig compiler locally * logging * npm update * verboser * os.arch * debug * log signal * address https://github.com/actions/toolkit/issues/687 * correct path * add a cache: false option * share size * zigpath * path.join skull
66 lines
1.6 KiB
Markdown
66 lines
1.6 KiB
Markdown
# setup-zig
|
|
|
|
Use the zig compiler in your Github Actions workflows
|
|
|
|
[Usage](#usage) - [License: Apache-2.0](#license)
|
|
|
|
## Usage
|
|
|
|
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
|
|
- uses: goto-bus-stop/setup-zig@v2
|
|
- run: zig build test
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: goto-bus-stop/setup-zig@v2
|
|
- run: zig fmt --check src/*.zig
|
|
```
|
|
|
|
Optionally set a Zig version:
|
|
```yaml
|
|
- uses: goto-bus-stop/setup-zig@v2
|
|
with:
|
|
version: 0.7.0
|
|
```
|
|
|
|
The default is to use the nightly `master` builds.
|
|
|
|
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@v2
|
|
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:
|
|
```
|
|
*.zig text eol=lf
|
|
```
|
|
|
|
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
|
|
```
|
|
|
|
## License
|
|
|
|
[Apache-2.0](LICENSE.md)
|