Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2728235f7d | ||
|
|
c2e0608dc4 | ||
|
|
bd74772a1a | ||
|
|
16e7903b2d | ||
|
|
f2c549b117 | ||
|
|
7a7d004438 | ||
|
|
9c4a92ec0d | ||
|
|
039214a996 | ||
|
|
2b373356cb | ||
|
|
fb1eb39e74 | ||
|
|
7786b24bd8 |
@@ -24,7 +24,6 @@
|
|||||||
"@typescript-eslint/func-call-spacing": ["error", "never"],
|
"@typescript-eslint/func-call-spacing": ["error", "never"],
|
||||||
"@typescript-eslint/no-array-constructor": "error",
|
"@typescript-eslint/no-array-constructor": "error",
|
||||||
"@typescript-eslint/no-empty-interface": "error",
|
"@typescript-eslint/no-empty-interface": "error",
|
||||||
"@typescript-eslint/no-explicit-any": "error",
|
|
||||||
"@typescript-eslint/no-extraneous-class": "error",
|
"@typescript-eslint/no-extraneous-class": "error",
|
||||||
"@typescript-eslint/no-for-in-array": "error",
|
"@typescript-eslint/no-for-in-array": "error",
|
||||||
"@typescript-eslint/no-inferrable-types": "error",
|
"@typescript-eslint/no-inferrable-types": "error",
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [2.4.0] - 2023-01-09
|
||||||
|
- Update to node 16
|
||||||
|
- Bump most dependencies
|
||||||
|
|
||||||
## [2.3.0] - 2022-06-05
|
## [2.3.0] - 2022-06-05
|
||||||
- Now defaults `repo_token` to `${{ github.token }}` and `tag` to `${{ github.ref }}` [#69](https://github.com/svenstaro/upload-release-action/pull/69) (thanks @leighmcculloch)
|
- Now defaults `repo_token` to `${{ github.token }}` and `tag` to `${{ github.ref }}` [#69](https://github.com/svenstaro/upload-release-action/pull/69) (thanks @leighmcculloch)
|
||||||
|
|
||||||
|
|||||||
@@ -34,5 +34,5 @@ outputs:
|
|||||||
browser_download_url:
|
browser_download_url:
|
||||||
description: 'The publicly available URL of the asset.'
|
description: 'The publicly available URL of the asset.'
|
||||||
runs:
|
runs:
|
||||||
using: 'node12'
|
using: 'node16'
|
||||||
main: 'dist/index.js'
|
main: 'dist/index.js'
|
||||||
|
|||||||
24298
dist/index.js
vendored
24298
dist/index.js
vendored
File diff suppressed because one or more lines are too long
16757
package-lock.json
generated
16757
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
34
package.json
34
package.json
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "upload-release-action",
|
"name": "upload-release-action",
|
||||||
"version": "2.3.0",
|
"version": "2.4.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "Upload files to a GitHub release",
|
"description": "Upload files to a GitHub release",
|
||||||
"main": "lib/main.js",
|
"main": "lib/main.js",
|
||||||
@@ -27,24 +27,24 @@
|
|||||||
"author": "Sven-Hendrik Haase",
|
"author": "Sven-Hendrik Haase",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.2.6",
|
"@actions/core": "^1.10.0",
|
||||||
"@actions/github": "^4.0.0",
|
"@actions/github": "^4.0.0",
|
||||||
"@types/glob": "^7.1.2",
|
"@types/glob": "^8",
|
||||||
"glob": "^7.1.6"
|
"glob": "^8"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jest": "^24.9.1",
|
"@types/jest": "^29",
|
||||||
"@types/node": "^12.12.64",
|
"@types/node": "^16",
|
||||||
"@typescript-eslint/parser": "^3.5.0",
|
"@typescript-eslint/parser": "^5",
|
||||||
"@zeit/ncc": "^0.22.3",
|
"@vercel/ncc": "^0.36.0",
|
||||||
"eslint": "^7.10.0",
|
"eslint": "^8",
|
||||||
"eslint-plugin-github": "^4.0.1",
|
"eslint-plugin-github": "^4.6",
|
||||||
"eslint-plugin-jest": "^23.17.1",
|
"eslint-plugin-jest": "^27",
|
||||||
"jest": "^26.5.2",
|
"jest": "^29",
|
||||||
"jest-circus": "^26.5.2",
|
"jest-circus": "^29",
|
||||||
"js-yaml": "^3.14.0",
|
"js-yaml": "^4",
|
||||||
"prettier": "^2.0.5",
|
"prettier": "^2.8",
|
||||||
"ts-jest": "^26.4.1",
|
"ts-jest": "^29",
|
||||||
"typescript": "^3.9.6"
|
"typescript": "^4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
35
src/main.ts
35
src/main.ts
@@ -6,10 +6,14 @@ import * as github from '@actions/github'
|
|||||||
import * as path from 'path'
|
import * as path from 'path'
|
||||||
import * as glob from 'glob'
|
import * as glob from 'glob'
|
||||||
|
|
||||||
type RepoAssetsResp = Endpoints['GET /repos/:owner/:repo/releases/:release_id/assets']['response']['data']
|
type RepoAssetsResp =
|
||||||
type ReleaseByTagResp = Endpoints['GET /repos/:owner/:repo/releases/tags/:tag']['response']
|
Endpoints['GET /repos/:owner/:repo/releases/:release_id/assets']['response']['data']
|
||||||
type CreateReleaseResp = Endpoints['POST /repos/:owner/:repo/releases']['response']
|
type ReleaseByTagResp =
|
||||||
type UploadAssetResp = Endpoints['POST /repos/:owner/:repo/releases/:release_id/assets{?name,label}']['response']
|
Endpoints['GET /repos/:owner/:repo/releases/tags/:tag']['response']
|
||||||
|
type CreateReleaseResp =
|
||||||
|
Endpoints['POST /repos/:owner/:repo/releases']['response']
|
||||||
|
type UploadAssetResp =
|
||||||
|
Endpoints['POST /repos/:owner/:repo/releases/:release_id/assets{?name,label}']['response']
|
||||||
|
|
||||||
async function get_release_by_tag(
|
async function get_release_by_tag(
|
||||||
tag: string,
|
tag: string,
|
||||||
@@ -24,7 +28,7 @@ async function get_release_by_tag(
|
|||||||
...repo(),
|
...repo(),
|
||||||
tag: tag
|
tag: tag
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error: any) {
|
||||||
// If this returns 404, we need to create the release first.
|
// If this returns 404, we need to create the release first.
|
||||||
if (error.status === 404) {
|
if (error.status === 404) {
|
||||||
core.debug(
|
core.debug(
|
||||||
@@ -88,8 +92,8 @@ async function upload_to_release(
|
|||||||
}
|
}
|
||||||
|
|
||||||
core.debug(`Uploading ${file} to ${asset_name} in release ${tag}.`)
|
core.debug(`Uploading ${file} to ${asset_name} in release ${tag}.`)
|
||||||
const uploaded_asset: UploadAssetResp = await octokit.repos.uploadReleaseAsset(
|
const uploaded_asset: UploadAssetResp =
|
||||||
{
|
await octokit.repos.uploadReleaseAsset({
|
||||||
url: release.data.upload_url,
|
url: release.data.upload_url,
|
||||||
name: asset_name,
|
name: asset_name,
|
||||||
data: file_bytes,
|
data: file_bytes,
|
||||||
@@ -97,8 +101,7 @@ async function upload_to_release(
|
|||||||
'content-type': 'binary/octet-stream',
|
'content-type': 'binary/octet-stream',
|
||||||
'content-length': file_size
|
'content-length': file_size
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
)
|
|
||||||
return uploaded_asset.data.browser_download_url
|
return uploaded_asset.data.browser_download_url
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -112,13 +115,13 @@ function repo(): {owner: string; repo: string} {
|
|||||||
if (!owner) {
|
if (!owner) {
|
||||||
throw new Error(`Could not extract 'owner' from 'repo_name': ${repo_name}.`)
|
throw new Error(`Could not extract 'owner' from 'repo_name': ${repo_name}.`)
|
||||||
}
|
}
|
||||||
const repo = repo_name.substr(repo_name.indexOf('/') + 1)
|
const repo_ = repo_name.substr(repo_name.indexOf('/') + 1)
|
||||||
if (!repo) {
|
if (!repo_) {
|
||||||
throw new Error(`Could not extract 'repo' from 'repo_name': ${repo_name}.`)
|
throw new Error(`Could not extract 'repo' from 'repo_name': ${repo_name}.`)
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
owner,
|
owner,
|
||||||
repo
|
repo: repo_
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,11 +153,11 @@ async function run(): Promise<void> {
|
|||||||
if (file_glob) {
|
if (file_glob) {
|
||||||
const files = glob.sync(file)
|
const files = glob.sync(file)
|
||||||
if (files.length > 0) {
|
if (files.length > 0) {
|
||||||
for (const file of files) {
|
for (const file_ of files) {
|
||||||
const asset_name = path.basename(file)
|
const asset_name = path.basename(file_)
|
||||||
const asset_download_url = await upload_to_release(
|
const asset_download_url = await upload_to_release(
|
||||||
release,
|
release,
|
||||||
file,
|
file_,
|
||||||
asset_name,
|
asset_name,
|
||||||
tag,
|
tag,
|
||||||
overwrite,
|
overwrite,
|
||||||
@@ -180,7 +183,7 @@ async function run(): Promise<void> {
|
|||||||
)
|
)
|
||||||
core.setOutput('browser_download_url', asset_download_url)
|
core.setOutput('browser_download_url', asset_download_url)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error: any) {
|
||||||
core.setFailed(error.message)
|
core.setFailed(error.message)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user