Change the way we parse refs
This commit is contained in:
parent
8d9569a6a5
commit
8eb6a035aa
@ -10,7 +10,7 @@ You must provide:
|
||||
- `repo_token`: Usually you'll want to set this to `${{ secrets.GITHUB_TOKEN }}`
|
||||
- `file`: A local file to be uploaded as the asset.
|
||||
- `asset_name`: The name the file gets as an asset on a release.
|
||||
- `tag`: The tag to uploaded into. If you want the current event's tag, use `${{ github.event.ref }}`
|
||||
- `tag`: The tag to uploaded into. If you want the current event's tag, use `${{ github.ref }}`
|
||||
- `overwrite`: If an asset with the same name already exists, overwrite it.
|
||||
|
||||
## Usage
|
||||
@ -45,7 +45,7 @@ jobs:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: target/release/mything
|
||||
asset_name: mything
|
||||
tag: ${{ github.event.ref }}
|
||||
tag: ${{ github.ref }}
|
||||
overwrite: true
|
||||
```
|
||||
|
||||
@ -88,5 +88,5 @@ jobs:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: target/release/${{ matrix.artifact_name }}
|
||||
asset_name: ${{ matrix.asset_name }}
|
||||
tag: ${{ github.event.ref }}
|
||||
tag: ${{ github.ref }}
|
||||
```
|
||||
|
13
lib/main.js
13
lib/main.js
@ -1,9 +1,10 @@
|
||||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
@ -22,13 +23,13 @@ function get_release_by_tag(tag, octokit, context) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
try {
|
||||
core.debug(`Getting release by tag ${tag}.`);
|
||||
return yield octokit.repos.getReleaseByTag(Object.assign({}, context.repo, { tag: tag }));
|
||||
return yield octokit.repos.getReleaseByTag(Object.assign(Object.assign({}, context.repo), { tag: tag }));
|
||||
}
|
||||
catch (error) {
|
||||
// If this returns 404, we need to create the release first.
|
||||
if (error.status === 404) {
|
||||
core.debug(`Release for tag ${tag} doesn't exist yet so we'll create it now.`);
|
||||
return yield octokit.repos.createRelease(Object.assign({}, context.repo, { tag_name: tag }));
|
||||
return yield octokit.repos.createRelease(Object.assign(Object.assign({}, context.repo), { tag_name: tag }));
|
||||
}
|
||||
else {
|
||||
throw error;
|
||||
@ -41,12 +42,12 @@ function upload_to_release(release, file, asset_name, tag, overwrite, octokit, c
|
||||
const file_size = fs.statSync(file).size;
|
||||
const file_bytes = fs.readFileSync(file);
|
||||
// Check for duplicates.
|
||||
const assets = yield octokit.repos.listAssetsForRelease(Object.assign({}, context.repo, { release_id: release.data.id }));
|
||||
const assets = yield octokit.repos.listAssetsForRelease(Object.assign(Object.assign({}, context.repo), { release_id: release.data.id }));
|
||||
const duplicate_asset = assets.data.find(a => a.name === asset_name);
|
||||
if (duplicate_asset !== undefined) {
|
||||
if (overwrite === "true") {
|
||||
core.debug(`An asset called ${asset_name} already exists in release ${tag} so we'll overwrite it.`);
|
||||
yield octokit.repos.deleteReleaseAsset(Object.assign({}, context.repo, { asset_id: duplicate_asset.id }));
|
||||
yield octokit.repos.deleteReleaseAsset(Object.assign(Object.assign({}, context.repo), { asset_id: duplicate_asset.id }));
|
||||
}
|
||||
else {
|
||||
core.setFailed(`An asset called ${asset_name} already exists.`);
|
||||
@ -74,7 +75,7 @@ function run() {
|
||||
const token = core.getInput('repo_token', { required: true });
|
||||
const file = core.getInput('file', { required: true });
|
||||
const asset_name = core.getInput('asset_name', { required: true });
|
||||
const tag = core.getInput('tag', { required: true });
|
||||
const tag = core.getInput('tag', { required: true }).replace("refs/tags/", "");
|
||||
const overwrite = core.getInput('overwrite');
|
||||
if (!fs.existsSync(file)) {
|
||||
core.setFailed(`File ${file} wasn't found.`);
|
||||
|
@ -65,7 +65,7 @@ async function run() {
|
||||
const token = core.getInput('repo_token', { required: true });
|
||||
const file = core.getInput('file', { required: true });
|
||||
const asset_name = core.getInput('asset_name', { required: true });
|
||||
const tag = core.getInput('tag', { required: true });
|
||||
const tag = core.getInput('tag', { required: true }).replace("refs/tags/", "");
|
||||
const overwrite = core.getInput('overwrite');
|
||||
|
||||
if (!fs.existsSync(file)) {
|
||||
|
Loading…
Reference in New Issue
Block a user