Compare commits

...
13 Commits
Author SHA1 Message Date
CrazyMax 499c61b7c5 Update CHANGELOG 2020-11-06 21:36:16 +01:00
CrazyMax ddc7bc8b43 fix: CI workflow 2020-11-06 21:30:01 +01:00
CrazyMax 9c48726d5e chore: Use major version of actions 2020-11-06 21:26:05 +01:00
CrazyMax d0f90f55ae feat: Add install-only test job and fix action.yml 2020-11-06 21:23:51 +01:00
f2a4c95ec7 feat: Add install-only option for using goreleaser in user scripts (#252)
Co-authored-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2020-11-06 20:21:22 +00:00
CrazyMax 3d57a20621 Add install-only test job and fix action.yml 2020-11-06 21:18:48 +01:00
CrazyMaxandGitHub 3f5ecc4e17 Merge branch 'master' into install-only-option 2020-11-06 21:00:40 +01:00
CrazyMax 70364181ef Do not test signing keys on PR 2020-11-06 20:48:03 +01:00
Arunvel Sriram 7007251a74 feat: Add install-only option for using goreleaser in user scripts 2020-11-06 21:57:01 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c5a3850c06 chore(deps): bump actions/checkout from v2.3.3 to v2.3.4 (#253)
Bumps [actions/checkout](https://github.com/actions/checkout) from v2.3.3 to v2.3.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.3...5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-04 13:40:44 -03:00
CrazyMax 4441f834e5 Update generated content 2020-10-21 01:16:26 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e8c391b2a4 chore(deps): bump codecov/codecov-action from v1.0.13 to v1.0.14 (#251)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.13 to v1.0.14.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.13...7d5dfa54903bd909319c580a00535b483d1efcf3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-19 09:59:56 -03:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
608bdefa0e chore(deps): bump @actions/http-client from 1.0.8 to 1.0.9 (#248)
Bumps [@actions/http-client](https://github.com/actions/http-client) from 1.0.8 to 1.0.9.
- [Release notes](https://github.com/actions/http-client/releases)
- [Changelog](https://github.com/actions/http-client/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/http-client/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-13 19:10:19 +00:00
11 changed files with 114 additions and 38 deletions
+33 -2
View File
@@ -28,7 +28,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v2.3.3
uses: actions/checkout@v2
with:
fetch-depth: 0
-
@@ -49,8 +49,39 @@ jobs:
version: ${{ matrix.version }}
args: release --skip-publish --rm-dist
install-only:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version:
- latest
- v0.117.0
steps:
-
name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
-
name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.14
-
name: GoReleaser
uses: ./
with:
version: ${{ matrix.version }}
install-only: true
-
name: Check
run: |
goreleaser check --debug
signing:
runs-on: ${{ matrix.os }}
if: github.event_name != 'pull_request'
strategy:
fail-fast: false
matrix:
@@ -61,7 +92,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v2.3.3
uses: actions/checkout@v2
with:
fetch-depth: 0
-
+1 -1
View File
@@ -14,7 +14,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v2.3.3
uses: actions/checkout@v2
-
name: Install
run: yarn install
+2 -2
View File
@@ -24,7 +24,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v2.3.3
uses: actions/checkout@v2
with:
fetch-depth: 0
-
@@ -35,7 +35,7 @@ jobs:
run: yarn run test
-
name: Upload coverage
uses: codecov/codecov-action@v1.0.13
uses: codecov/codecov-action@v1
if: success()
with:
token: ${{ secrets.CODECOV_TOKEN }}
+5
View File
@@ -1,5 +1,10 @@
# Changelog
## 2.3.0 (2020/11/06)
* Add install-only option for using goreleaser in user scripts (#252)
* Update deps
## 2.2.1 (2020/10/01)
* Fix CVE-2020-15228
+16
View File
@@ -19,6 +19,7 @@ ___
* [Workflow](#workflow)
* [Run on new tag](#run-on-new-tag)
* [Signing](#signing)
* [Install Only](#install-only)
* [Customizing](#customizing)
* [inputs](#inputs)
* [environment variables](#environment-variables)
@@ -120,6 +121,20 @@ signs:
args: ["--batch", "-u", "{{ .Env.GPG_FINGERPRINT }}", "--output", "${signature}", "--detach-sign", "${artifact}"]
```
### Install Only
```yaml
steps:
-
name: Install GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
install-only: true
-
name: Show GoReleaser version
run: goreleaser -v
```
## Customizing
### inputs
@@ -131,6 +146,7 @@ Following inputs can be used as `step.with` keys
| `version`**¹** | String | `latest` | GoReleaser version |
| `args` | String | | Arguments to pass to GoReleaser |
| `workdir` | String | `.` | Working directory (below repository root) |
| `install-only` | Bool | `false` | Just install GoReleaser |
> **¹** Can be a fixed version like `v0.117.0` or a max satisfying semver one like `~> 0.132`. In this case this will return `v0.132.1`.
+5 -1
View File
@@ -13,11 +13,15 @@ inputs:
required: false
args:
description: 'Arguments to pass to GoReleaser'
required: true
required: false
workdir:
description: 'Working directory (below repository root)'
default: '.'
required: false
install-only:
description: 'Just install GoReleaser'
default: 'false'
required: false
runs:
using: 'node12'
Generated Vendored
+32 -25
View File
@@ -339,13 +339,25 @@ const git = __importStar(__webpack_require__(374));
const installer = __importStar(__webpack_require__(480));
const core = __importStar(__webpack_require__(186));
const exec = __importStar(__webpack_require__(514));
const path_1 = __webpack_require__(622);
function run() {
return __awaiter(this, void 0, void 0, function* () {
try {
const version = core.getInput('version') || 'latest';
const args = core.getInput('args', { required: true });
const args = core.getInput('args');
const workdir = core.getInput('workdir') || '.';
const isInstallOnly = /^true$/i.test(core.getInput('install-only'));
const goreleaser = yield installer.getGoReleaser(version);
core.info(`✅ GoReleaser installed successfully`);
if (isInstallOnly) {
const goreleaserDir = path_1.dirname(goreleaser);
core.addPath(goreleaserDir);
core.debug(`Added ${goreleaserDir} to PATH`);
return;
}
else if (!args) {
throw new Error('args input required');
}
if (workdir && workdir !== '.') {
core.info(`📂 Using ${workdir} as working directory...`);
process.chdir(workdir);
@@ -1435,7 +1447,6 @@ class ExecState extends events.EventEmitter {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
const url = __webpack_require__(835);
const http = __webpack_require__(605);
const https = __webpack_require__(211);
const pm = __webpack_require__(443);
@@ -1484,7 +1495,7 @@ var MediaTypes;
* @param serverUrl The server URL where the request will be sent. For example, https://api.github.com
*/
function getProxyUrl(serverUrl) {
let proxyUrl = pm.getProxyUrl(url.parse(serverUrl));
let proxyUrl = pm.getProxyUrl(new URL(serverUrl));
return proxyUrl ? proxyUrl.href : '';
}
exports.getProxyUrl = getProxyUrl;
@@ -1503,6 +1514,15 @@ const HttpResponseRetryCodes = [
const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];
const ExponentialBackoffCeiling = 10;
const ExponentialBackoffTimeSlice = 5;
class HttpClientError extends Error {
constructor(message, statusCode) {
super(message);
this.name = 'HttpClientError';
this.statusCode = statusCode;
Object.setPrototypeOf(this, HttpClientError.prototype);
}
}
exports.HttpClientError = HttpClientError;
class HttpClientResponse {
constructor(message) {
this.message = message;
@@ -1521,7 +1541,7 @@ class HttpClientResponse {
}
exports.HttpClientResponse = HttpClientResponse;
function isHttps(requestUrl) {
let parsedUrl = url.parse(requestUrl);
let parsedUrl = new URL(requestUrl);
return parsedUrl.protocol === 'https:';
}
exports.isHttps = isHttps;
@@ -1626,7 +1646,7 @@ class HttpClient {
if (this._disposed) {
throw new Error('Client has already been disposed.');
}
let parsedUrl = url.parse(requestUrl);
let parsedUrl = new URL(requestUrl);
let info = this._prepareRequest(verb, parsedUrl, headers);
// Only perform retries on reads since writes may not be idempotent.
let maxTries = this._allowRetries && RetryableHttpVerbs.indexOf(verb) != -1
@@ -1665,7 +1685,7 @@ class HttpClient {
// if there's no location to redirect to, we won't
break;
}
let parsedRedirectUrl = url.parse(redirectUrl);
let parsedRedirectUrl = new URL(redirectUrl);
if (parsedUrl.protocol == 'https:' &&
parsedUrl.protocol != parsedRedirectUrl.protocol &&
!this._allowRedirectDowngrade) {
@@ -1781,7 +1801,7 @@ class HttpClient {
* @param serverUrl The server URL where the request will be sent. For example, https://api.github.com
*/
getAgent(serverUrl) {
let parsedUrl = url.parse(serverUrl);
let parsedUrl = new URL(serverUrl);
return this._getAgent(parsedUrl);
}
_prepareRequest(method, requestUrl, headers) {
@@ -1854,7 +1874,7 @@ class HttpClient {
maxSockets: maxSockets,
keepAlive: this._keepAlive,
proxy: {
proxyAuth: proxyUrl.auth,
proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`,
host: proxyUrl.hostname,
port: proxyUrl.port
}
@@ -1949,12 +1969,8 @@ class HttpClient {
else {
msg = 'Failed request: (' + statusCode + ')';
}
let err = new Error(msg);
// attach statusCode and body obj (if available) to the error object
err['statusCode'] = statusCode;
if (response.result) {
err['result'] = response.result;
}
let err = new HttpClientError(msg, statusCode);
err.result = response.result;
reject(err);
}
else {
@@ -1969,12 +1985,11 @@ exports.HttpClient = HttpClient;
/***/ }),
/***/ 443:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
const url = __webpack_require__(835);
function getProxyUrl(reqUrl) {
let usingSsl = reqUrl.protocol === 'https:';
let proxyUrl;
@@ -1989,7 +2004,7 @@ function getProxyUrl(reqUrl) {
proxyVar = process.env['http_proxy'] || process.env['HTTP_PROXY'];
}
if (proxyVar) {
proxyUrl = url.parse(proxyVar);
proxyUrl = new URL(proxyVar);
}
return proxyUrl;
}
@@ -6889,14 +6904,6 @@ module.exports = require("tls");
/***/ }),
/***/ 835:
/***/ ((module) => {
"use strict";
module.exports = require("url");
/***/ }),
/***/ 669:
/***/ ((module) => {
+1 -1
View File
@@ -23,7 +23,7 @@
"dependencies": {
"@actions/core": "^1.2.6",
"@actions/exec": "^1.0.4",
"@actions/http-client": "^1.0.8",
"@actions/http-client": "^1.0.9",
"@actions/tool-cache": "^1.6.0"
},
"devDependencies": {
+13 -1
View File
@@ -2,13 +2,25 @@ import * as git from './git';
import * as installer from './installer';
import * as core from '@actions/core';
import * as exec from '@actions/exec';
import {dirname} from 'path';
async function run(): Promise<void> {
try {
const version = core.getInput('version') || 'latest';
const args = core.getInput('args', {required: true});
const args = core.getInput('args');
const workdir = core.getInput('workdir') || '.';
const isInstallOnly = /^true$/i.test(core.getInput('install-only'));
const goreleaser = await installer.getGoReleaser(version);
core.info(`✅ GoReleaser installed successfully`);
if (isInstallOnly) {
const goreleaserDir = dirname(goreleaser);
core.addPath(goreleaserDir);
core.debug(`Added ${goreleaserDir} to PATH`);
return;
} else if (!args) {
throw new Error('args input required');
}
if (workdir && workdir !== '.') {
core.info(`📂 Using ${workdir} as working directory...`);
+2 -1
View File
@@ -3,7 +3,8 @@
"target": "es6",
"module": "commonjs",
"lib": [
"es6"
"es6",
"dom"
],
"newLine": "lf",
"outDir": "./lib",
+4 -4
View File
@@ -14,10 +14,10 @@
dependencies:
"@actions/io" "^1.0.1"
"@actions/http-client@^1.0.8":
version "1.0.8"
resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-1.0.8.tgz#8bd76e8eca89dc8bcf619aa128eba85f7a39af45"
integrity sha512-G4JjJ6f9Hb3Zvejj+ewLLKLf99ZC+9v+yCxoYf9vSyH+WkzPLB2LuUtRMGNkooMqdugGBFStIKXOuvH1W+EctA==
"@actions/http-client@^1.0.8", "@actions/http-client@^1.0.9":
version "1.0.9"
resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-1.0.9.tgz#af1947d020043dbc6a3b4c5918892095c30ffb52"
integrity sha512-0O4SsJ7q+MK0ycvXPl2e6bMXV7dxAXOGjrXS1eTF9s2S401Tp6c/P3c3Joz04QefC1J6Gt942Wl2jbm3f4mLcg==
dependencies:
tunnel "0.0.6"