mirror of
https://github.com/BloopAI/setup-zig.git
synced 2026-08-24 12:28:35 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
222d316fd3 | ||
|
|
3d1ffe6553 | ||
|
|
03aebe4822 | ||
|
|
0ad672a98e | ||
|
|
d69d6d7322 | ||
|
|
6674bba866 | ||
|
|
6ebc72da8e |
@@ -1,23 +0,0 @@
|
||||
# EditorConfig helps developers define and maintain consistent
|
||||
# coding styles between different editors and IDEs
|
||||
# editorconfig.org
|
||||
|
||||
root = true
|
||||
|
||||
|
||||
[*]
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
|
||||
[*.js]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
8
.github/dependabot.yml
vendored
8
.github/dependabot.yml
vendored
@@ -1,8 +0,0 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: npm
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "04:00"
|
||||
open-pull-requests-limit: 10
|
||||
3
.github/workflows/ci.yml
vendored
3
.github/workflows/ci.yml
vendored
@@ -15,7 +15,6 @@ jobs:
|
||||
smoke-test:
|
||||
name: Build test
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
||||
zig-version: [0.7.0, 0.8.0, 0.9.0, 0.10.0]
|
||||
@@ -25,7 +24,7 @@ jobs:
|
||||
runs-on: ${{matrix.os}}
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Zig
|
||||
uses: goto-bus-stop/setup-zig@default
|
||||
with:
|
||||
|
||||
21
CHANGELOG.md
21
CHANGELOG.md
@@ -4,26 +4,9 @@ All notable changes to this project will be documented in this file.
|
||||
|
||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## 2.1.1
|
||||
* Fix `cache: false`, see [#55](https://github.com/goto-bus-stop/setup-zig/issues/55).
|
||||
|
||||
Thanks to [@linusg](https://github.com/linusg) for the report!
|
||||
|
||||
## 2.1.0
|
||||
## 1.4.0
|
||||
* The action now caches compilers in your repository's Actions cache by default. This significantly
|
||||
speeds up installs on average. [#53](https://github.com/goto-bus-stop/setup-zig/pull/53)
|
||||
|
||||
2.0.2 also had caching-related changes but they didn't actually do much, based on a misunderstanding
|
||||
of what the `tool-cache` is for.
|
||||
|
||||
## 2.0.2
|
||||
* Fix tool-cache usage, this should speed up the action if zig was already downloaded before. [#45](https://github.com/goto-bus-stop/setup-zig/pull/45)
|
||||
|
||||
## 2.0.1
|
||||
* Update docs to v2
|
||||
|
||||
## 2.0.0
|
||||
* Change `version` option default to `master`. See [#24](https://github.com/goto-bus-stop/setup-zig/issues/24)
|
||||
speeds up installs on average. [#53](https://github.com/goto-bus-stop/setup-zig/pull/54)
|
||||
|
||||
## 1.3.0
|
||||
* Support pinning to a specific commit of the zig compiler. ([@codehz](https://github.com/codehz) in [#14](https://github.com/goto-bus-stop/setup-zig/pull/14))
|
||||
|
||||
19
README.md
19
README.md
@@ -17,28 +17,33 @@ jobs:
|
||||
runs-on: ${{matrix.os}}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: goto-bus-stop/setup-zig@v2
|
||||
- uses: goto-bus-stop/setup-zig@v1
|
||||
- run: zig build test
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: goto-bus-stop/setup-zig@v2
|
||||
- uses: goto-bus-stop/setup-zig@v1
|
||||
- run: zig fmt --check src/*.zig
|
||||
```
|
||||
|
||||
Optionally set a Zig version:
|
||||
```yaml
|
||||
- uses: goto-bus-stop/setup-zig@v2
|
||||
- uses: goto-bus-stop/setup-zig@v1
|
||||
with:
|
||||
version: 0.7.0
|
||||
version: 0.7.0 # The default is 0.5.0
|
||||
```
|
||||
|
||||
The default is to use the nightly `master` builds.
|
||||
To use the nightly builds, set:
|
||||
```yaml
|
||||
- uses: goto-bus-stop/setup-zig@v1
|
||||
with:
|
||||
version: master
|
||||
```
|
||||
|
||||
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
|
||||
- uses: goto-bus-stop/setup-zig@v1
|
||||
with:
|
||||
version: 0.6.0+4b48fccad
|
||||
```
|
||||
@@ -55,7 +60,7 @@ 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
|
||||
- uses: goto-bus-stop/setup-zig@v1
|
||||
with:
|
||||
cache: false
|
||||
```
|
||||
|
||||
@@ -8,11 +8,11 @@ inputs:
|
||||
version:
|
||||
description: 'Version of the zig compiler to use (must be 0.3.0 or up)'
|
||||
required: true
|
||||
default: 'master'
|
||||
default: '0.5.0'
|
||||
cache:
|
||||
description: 'Cache downloaded compilers for faster action runs. Strongly recommended.'
|
||||
required: false
|
||||
default: 'true'
|
||||
runs:
|
||||
using: 'node16'
|
||||
using: 'node12'
|
||||
main: 'dist/index.js'
|
||||
|
||||
103
dist/index.js
vendored
103
dist/index.js
vendored
@@ -77,11 +77,7 @@ var require_debug = __commonJS({
|
||||
// node_modules/semver/internal/re.js
|
||||
var require_re = __commonJS({
|
||||
"node_modules/semver/internal/re.js"(exports, module2) {
|
||||
var {
|
||||
MAX_SAFE_COMPONENT_LENGTH,
|
||||
MAX_SAFE_BUILD_LENGTH,
|
||||
MAX_LENGTH
|
||||
} = require_constants();
|
||||
var { MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH } = require_constants();
|
||||
var debug = require_debug();
|
||||
exports = module2.exports = {};
|
||||
var re = exports.re = [];
|
||||
@@ -92,7 +88,7 @@ var require_re = __commonJS({
|
||||
var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
|
||||
var safeRegexReplacements = [
|
||||
["\\s", 1],
|
||||
["\\d", MAX_LENGTH],
|
||||
["\\d", MAX_SAFE_COMPONENT_LENGTH],
|
||||
[LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
|
||||
];
|
||||
var makeSafeRegex = /* @__PURE__ */ __name((value) => {
|
||||
@@ -1475,7 +1471,7 @@ var require_range = __commonJS({
|
||||
this.loose = !!options.loose;
|
||||
this.includePrerelease = !!options.includePrerelease;
|
||||
this.raw = range.trim().split(/\s+/).join(" ");
|
||||
this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
|
||||
this.set = this.raw.split("||").map((r) => this.parseRange(r)).filter((c) => c.length);
|
||||
if (!this.set.length) {
|
||||
throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
|
||||
}
|
||||
@@ -9609,7 +9605,6 @@ var init_esm_node2 = __esm({
|
||||
// node_modules/tslib/tslib.es6.mjs
|
||||
var tslib_es6_exports = {};
|
||||
__export(tslib_es6_exports, {
|
||||
__addDisposableResource: () => __addDisposableResource,
|
||||
__assign: () => __assign,
|
||||
__asyncDelegator: () => __asyncDelegator,
|
||||
__asyncGenerator: () => __asyncGenerator,
|
||||
@@ -9621,7 +9616,6 @@ __export(tslib_es6_exports, {
|
||||
__classPrivateFieldSet: () => __classPrivateFieldSet,
|
||||
__createBinding: () => __createBinding,
|
||||
__decorate: () => __decorate,
|
||||
__disposeResources: () => __disposeResources,
|
||||
__esDecorate: () => __esDecorate,
|
||||
__exportStar: () => __exportStar,
|
||||
__extends: () => __extends,
|
||||
@@ -10041,56 +10035,7 @@ function __classPrivateFieldIn(state, receiver) {
|
||||
throw new TypeError("Cannot use 'in' operator on non-object");
|
||||
return typeof state === "function" ? receiver === state : state.has(receiver);
|
||||
}
|
||||
function __addDisposableResource(env, value, async) {
|
||||
if (value !== null && value !== void 0) {
|
||||
if (typeof value !== "object")
|
||||
throw new TypeError("Object expected.");
|
||||
var dispose;
|
||||
if (async) {
|
||||
if (!Symbol.asyncDispose)
|
||||
throw new TypeError("Symbol.asyncDispose is not defined.");
|
||||
dispose = value[Symbol.asyncDispose];
|
||||
}
|
||||
if (dispose === void 0) {
|
||||
if (!Symbol.dispose)
|
||||
throw new TypeError("Symbol.dispose is not defined.");
|
||||
dispose = value[Symbol.dispose];
|
||||
}
|
||||
if (typeof dispose !== "function")
|
||||
throw new TypeError("Object not disposable.");
|
||||
env.stack.push({ value, dispose, async });
|
||||
} else if (async) {
|
||||
env.stack.push({ async: true });
|
||||
}
|
||||
return value;
|
||||
}
|
||||
function __disposeResources(env) {
|
||||
function fail(e) {
|
||||
env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
||||
env.hasError = true;
|
||||
}
|
||||
__name(fail, "fail");
|
||||
function next() {
|
||||
while (env.stack.length) {
|
||||
var rec = env.stack.pop();
|
||||
try {
|
||||
var result = rec.dispose && rec.dispose.call(rec.value);
|
||||
if (rec.async)
|
||||
return Promise.resolve(result).then(next, function(e) {
|
||||
fail(e);
|
||||
return next();
|
||||
});
|
||||
} catch (e) {
|
||||
fail(e);
|
||||
}
|
||||
}
|
||||
if (env.hasError)
|
||||
throw env.error;
|
||||
}
|
||||
__name(next, "next");
|
||||
return next();
|
||||
}
|
||||
var extendStatics, __assign, __createBinding, __setModuleDefault, _SuppressedError, tslib_es6_default;
|
||||
var extendStatics, __assign, __createBinding, __setModuleDefault, tslib_es6_default;
|
||||
var init_tslib_es6 = __esm({
|
||||
"node_modules/tslib/tslib.es6.mjs"() {
|
||||
extendStatics = /* @__PURE__ */ __name(function(d, b) {
|
||||
@@ -10162,12 +10107,6 @@ var init_tslib_es6 = __esm({
|
||||
__name(__classPrivateFieldGet, "__classPrivateFieldGet");
|
||||
__name(__classPrivateFieldSet, "__classPrivateFieldSet");
|
||||
__name(__classPrivateFieldIn, "__classPrivateFieldIn");
|
||||
__name(__addDisposableResource, "__addDisposableResource");
|
||||
_SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
|
||||
var e = new Error(message);
|
||||
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
||||
};
|
||||
__name(__disposeResources, "__disposeResources");
|
||||
tslib_es6_default = {
|
||||
__extends,
|
||||
__assign,
|
||||
@@ -10193,9 +10132,7 @@ var init_tslib_es6 = __esm({
|
||||
__importDefault,
|
||||
__classPrivateFieldGet,
|
||||
__classPrivateFieldSet,
|
||||
__classPrivateFieldIn,
|
||||
__addDisposableResource,
|
||||
__disposeResources
|
||||
__classPrivateFieldIn
|
||||
};
|
||||
}
|
||||
});
|
||||
@@ -10354,7 +10291,7 @@ var require_XMLDOMImplementation = __commonJS({
|
||||
"node_modules/xmlbuilder/lib/XMLDOMImplementation.js"(exports, module2) {
|
||||
(function() {
|
||||
var XMLDOMImplementation;
|
||||
module2.exports = XMLDOMImplementation = function() {
|
||||
module2.exports = XMLDOMImplementation = /* @__PURE__ */ function() {
|
||||
function XMLDOMImplementation2() {
|
||||
}
|
||||
__name(XMLDOMImplementation2, "XMLDOMImplementation");
|
||||
@@ -10384,7 +10321,7 @@ var require_XMLDOMErrorHandler = __commonJS({
|
||||
"node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js"(exports, module2) {
|
||||
(function() {
|
||||
var XMLDOMErrorHandler;
|
||||
module2.exports = XMLDOMErrorHandler = function() {
|
||||
module2.exports = XMLDOMErrorHandler = /* @__PURE__ */ function() {
|
||||
function XMLDOMErrorHandler2() {
|
||||
}
|
||||
__name(XMLDOMErrorHandler2, "XMLDOMErrorHandler");
|
||||
@@ -10402,7 +10339,7 @@ var require_XMLDOMStringList = __commonJS({
|
||||
"node_modules/xmlbuilder/lib/XMLDOMStringList.js"(exports, module2) {
|
||||
(function() {
|
||||
var XMLDOMStringList;
|
||||
module2.exports = XMLDOMStringList = function() {
|
||||
module2.exports = XMLDOMStringList = /* @__PURE__ */ function() {
|
||||
function XMLDOMStringList2(arr) {
|
||||
this.arr = arr || [];
|
||||
}
|
||||
@@ -10431,7 +10368,7 @@ var require_XMLDOMConfiguration = __commonJS({
|
||||
var XMLDOMConfiguration, XMLDOMErrorHandler, XMLDOMStringList;
|
||||
XMLDOMErrorHandler = require_XMLDOMErrorHandler();
|
||||
XMLDOMStringList = require_XMLDOMStringList();
|
||||
module2.exports = XMLDOMConfiguration = function() {
|
||||
module2.exports = XMLDOMConfiguration = /* @__PURE__ */ function() {
|
||||
function XMLDOMConfiguration2() {
|
||||
var clonedSelf;
|
||||
this.defaultParams = {
|
||||
@@ -10518,7 +10455,7 @@ var require_XMLAttribute = __commonJS({
|
||||
var NodeType, XMLAttribute, XMLNode;
|
||||
NodeType = require_NodeType();
|
||||
XMLNode = require_XMLNode();
|
||||
module2.exports = XMLAttribute = function() {
|
||||
module2.exports = XMLAttribute = /* @__PURE__ */ function() {
|
||||
function XMLAttribute2(parent, name, value) {
|
||||
this.parent = parent;
|
||||
if (this.parent) {
|
||||
@@ -10613,7 +10550,7 @@ var require_XMLNamedNodeMap = __commonJS({
|
||||
"node_modules/xmlbuilder/lib/XMLNamedNodeMap.js"(exports, module2) {
|
||||
(function() {
|
||||
var XMLNamedNodeMap;
|
||||
module2.exports = XMLNamedNodeMap = function() {
|
||||
module2.exports = XMLNamedNodeMap = /* @__PURE__ */ function() {
|
||||
function XMLNamedNodeMap2(nodes) {
|
||||
this.nodes = nodes;
|
||||
}
|
||||
@@ -11807,7 +11744,7 @@ var require_XMLNodeList = __commonJS({
|
||||
"node_modules/xmlbuilder/lib/XMLNodeList.js"(exports, module2) {
|
||||
(function() {
|
||||
var XMLNodeList;
|
||||
module2.exports = XMLNodeList = function() {
|
||||
module2.exports = XMLNodeList = /* @__PURE__ */ function() {
|
||||
function XMLNodeList2(nodes) {
|
||||
this.nodes = nodes;
|
||||
}
|
||||
@@ -11864,7 +11801,7 @@ var require_XMLNode = __commonJS({
|
||||
XMLNodeList = null;
|
||||
XMLNamedNodeMap = null;
|
||||
DocumentPosition = null;
|
||||
module2.exports = XMLNode = function() {
|
||||
module2.exports = XMLNode = /* @__PURE__ */ function() {
|
||||
function XMLNode2(parent1) {
|
||||
this.parent = parent1;
|
||||
if (this.parent) {
|
||||
@@ -12550,7 +12487,7 @@ var require_XMLStringifier = __commonJS({
|
||||
return fn.apply(me, arguments);
|
||||
};
|
||||
}, "bind"), hasProp = {}.hasOwnProperty;
|
||||
module2.exports = XMLStringifier = function() {
|
||||
module2.exports = XMLStringifier = /* @__PURE__ */ function() {
|
||||
function XMLStringifier2(options) {
|
||||
this.assertLegalName = bind(this.assertLegalName, this);
|
||||
this.assertLegalChar = bind(this.assertLegalChar, this);
|
||||
@@ -12793,7 +12730,7 @@ var require_XMLWriterBase = __commonJS({
|
||||
XMLDTDEntity = require_XMLDTDEntity();
|
||||
XMLDTDNotation = require_XMLDTDNotation();
|
||||
WriterState = require_WriterState();
|
||||
module2.exports = XMLWriterBase = function() {
|
||||
module2.exports = XMLWriterBase = /* @__PURE__ */ function() {
|
||||
function XMLWriterBase2(options) {
|
||||
var key, ref, value;
|
||||
options || (options = {});
|
||||
@@ -13449,7 +13386,7 @@ var require_XMLDocumentCB = __commonJS({
|
||||
XMLStringifier = require_XMLStringifier();
|
||||
XMLStringWriter = require_XMLStringWriter();
|
||||
WriterState = require_WriterState();
|
||||
module2.exports = XMLDocumentCB = function() {
|
||||
module2.exports = XMLDocumentCB = /* @__PURE__ */ function() {
|
||||
function XMLDocumentCB2(options, onData, onEnd) {
|
||||
var writerOptions;
|
||||
this.name = "?xml";
|
||||
@@ -14138,7 +14075,7 @@ var require_builder = __commonJS({
|
||||
escapeCDATA = /* @__PURE__ */ __name(function(entry) {
|
||||
return entry.replace("]]>", "]]]]><![CDATA[>");
|
||||
}, "escapeCDATA");
|
||||
exports.Builder = function() {
|
||||
exports.Builder = /* @__PURE__ */ function() {
|
||||
function Builder(opts) {
|
||||
var key, ref, value;
|
||||
this.options = {};
|
||||
@@ -29389,7 +29326,7 @@ var require_lib4 = __commonJS({
|
||||
const headers = response.headers;
|
||||
if (headers["transfer-encoding"] === "chunked" && !headers["content-length"]) {
|
||||
response.once("close", function(hadError) {
|
||||
const hasDataListener = socket && socket.listenerCount("data") > 0;
|
||||
const hasDataListener = socket.listenerCount("data") > 0;
|
||||
if (hasDataListener && !hadError) {
|
||||
const err = new Error("Premature close");
|
||||
err.code = "ERR_STREAM_PREMATURE_CLOSE";
|
||||
@@ -64090,7 +64027,7 @@ async function downloadZig(platform, version3, useCache = true) {
|
||||
}
|
||||
__name(downloadZig, "downloadZig");
|
||||
async function main() {
|
||||
const version3 = actions.getInput("version") || "master";
|
||||
const version3 = actions.getInput("version") || "0.5.0";
|
||||
const useCache = actions.getInput("cache") || "true";
|
||||
if (semver.valid(version3) && semver.lt(version3, "0.3.0")) {
|
||||
actions.setFailed("This action does not work with Zig 0.1.0 and Zig 0.2.0");
|
||||
@@ -64100,7 +64037,7 @@ async function main() {
|
||||
actions.setFailed('`with.cache` must be "true" or "false"');
|
||||
return;
|
||||
}
|
||||
const zigPath = await downloadZig(os.platform(), version3, useCache === "true");
|
||||
const zigPath = await downloadZig(os.platform(), version3, Boolean(useCache));
|
||||
actions.addPath(zigPath);
|
||||
actions.info(`zig installed at ${zigPath}`);
|
||||
}
|
||||
|
||||
4
index.js
4
index.js
@@ -56,7 +56,7 @@ async function downloadZig (platform, version, useCache = true) {
|
||||
}
|
||||
|
||||
async function main () {
|
||||
const version = actions.getInput('version') || 'master'
|
||||
const version = actions.getInput('version') || '0.5.0'
|
||||
const useCache = actions.getInput('cache') || 'true'
|
||||
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')
|
||||
@@ -67,7 +67,7 @@ async function main () {
|
||||
return
|
||||
}
|
||||
|
||||
const zigPath = await downloadZig(os.platform(), version, useCache === 'true')
|
||||
const zigPath = await downloadZig(os.platform(), version, Boolean(useCache))
|
||||
|
||||
// Add the `zig` binary to the $PATH
|
||||
actions.addPath(zigPath)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "setup-zig",
|
||||
"description": "Use the zig compiler in your Github Action",
|
||||
"version": "2.1.1",
|
||||
"version": "1.4.0",
|
||||
"author": "Renée Kooi <renee@kooi.me>",
|
||||
"bugs": {
|
||||
"url": "https://github.com/goto-bus-stop/setup-zig/issues"
|
||||
@@ -31,7 +31,7 @@
|
||||
"url": "https://github.com/goto-bus-stop/setup-zig.git"
|
||||
},
|
||||
"scripts": {
|
||||
"prepare": "esbuild index.js --outdir=dist --keep-names --bundle --platform=node --target=node16",
|
||||
"prepare": "esbuild index.js --outdir=dist --keep-names --bundle --platform=node --target=node12",
|
||||
"test": "standard && node test"
|
||||
},
|
||||
"standard": {
|
||||
|
||||
Reference in New Issue
Block a user