diff --git a/README.md b/README.md index 5aeed8a..fe62dff 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,13 @@ Optionally set a Zig version: version: 0.4.0 # The default is 0.5.0 ``` +To use the nightly builds, set: +```yaml +- uses: goto-bus-stop/setup-zig@v1.0.0 + with: + version: master +``` + 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, so add a `.gitattributes` file: ``` *.zig text eol=lf diff --git a/index.js b/index.js index e0753f8..cdc13be 100644 --- a/index.js +++ b/index.js @@ -31,8 +31,10 @@ async function downloadZig (version) { const index = await getJSON({ url: 'https://ziglang.org/download/index.json' }) - const availableVersions = Object.keys(index).filter((v) => semver.valid(v)) - const useVersion = semver.maxSatisfying(availableVersions, version) + const availableVersions = Object.keys(index) + const useVersion = semver.valid(version) + ? semver.maxSatisfying(availableVersions.filter((v) => semver.valid(v)), version) + : null const meta = index[useVersion || version] if (!meta || !meta[host]) { @@ -56,7 +58,7 @@ async function downloadZig (version) { async function main () { const version = actions.getInput('version') || '0.5.0' - if (semver.lt(version, '0.3.0')) { + if (semver.valid(version) && semver.lt(version, '0.3.0')) { actions.setFailed('This action does not work with Zig 0.1.0 and Zig 0.2.0') return }