14 Commits
2.6.1 ... 2.7.0

Author SHA1 Message Date
Sven-Hendrik Haase
1beeb572c1 2.7.0 2023-07-28 18:36:58 +02:00
Sven-Hendrik Haase
5206d34958 Bump deps 2023-07-28 18:34:08 +02:00
Sven-Hendrik Haase
80d7a7e41c Merge pull request #46 from Spikatrix/master
Allow setting an explicit target_commitish
2023-07-28 18:28:50 +02:00
Sven-Hendrik Haase
5eb2ffd70b Merge pull request #110 from svenstaro/dependabot/npm_and_yarn/word-wrap-1.2.4
Bump word-wrap from 1.2.3 to 1.2.4
2023-07-19 02:40:07 +02:00
dependabot[bot]
07af2f374a Bump word-wrap from 1.2.3 to 1.2.4
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-18 22:43:20 +00:00
Spikatrix
5164410c7d Push dist
Why do I always forget to do this?
2023-06-10 05:48:38 +00:00
Spikatrix
f47fb36ff1 Use the ref api to check if a tag exists 2023-06-10 05:46:02 +00:00
Spikatrix
212d4babf8 Rethrow getTag error if not 404 2023-06-10 03:58:27 +00:00
Spikatrix
7670b98fa0 Push dist files 2023-06-04 16:31:53 +05:30
Spikatrix
ac438791c4 Warn when target_commit is ignored 2023-06-04 15:01:54 +05:30
Spikatrix
545e4c402b Change single quotes to double quotes 2023-06-03 11:59:49 +05:30
Spikatrix
7d304ee154 master -> main 2023-06-01 07:32:03 +00:00
Spikatrix
3cff01dd32 Allow setting an explicit target_commitish 2023-06-01 04:55:54 +00:00
Sven-Hendrik Haase
a724093295 Fix CHANGELOG name 2023-05-31 19:38:21 +02:00
8 changed files with 3911 additions and 8198 deletions

View File

@@ -24,6 +24,7 @@
"@typescript-eslint/func-call-spacing": ["error", "never"],
"@typescript-eslint/no-array-constructor": "error",
"@typescript-eslint/no-empty-interface": "error",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-extraneous-class": "error",
"@typescript-eslint/no-for-in-array": "error",
"@typescript-eslint/no-inferrable-types": "error",

View File

@@ -1,7 +1,10 @@
# Changelog
## [2.7.0] - 2023-07-28
- Allow setting an explicit target_commitish [#46](https://github.com/svenstaro/upload-release-action/pull/46) (thanks @Spikatrix)
## [2.6.1] - 2023-05-31
- Do not overwrite body or name if empty [#108](https://github.com/svenstaro/upload-release-action/pull/108) (thanks regevbr)
- Do not overwrite body or name if empty [#108](https://github.com/svenstaro/upload-release-action/pull/108) (thanks @regevbr)
## [2.6.0] - 2023-05-23
- Add `make_latest` input parameter. Can be set to `false` to prevent the created release from being marked as the latest release for the repository [#100](https://github.com/svenstaro/upload-release-action/pull/100) (thanks @brandonkelly)

View File

@@ -21,6 +21,7 @@ Optional Arguments
- `prerelease`: Mark the release as a pre-release (Default: `false`).
- `make_latest`: Mark the release as the latest release for the repository (Default: `true`).
- `release_name`: Explicitly set a release name. (Defaults: implicitly same as `tag` via GitHub API).
- `target_commit`: Sets the commit hash or branch for the tag to be based on (Default: the default branch, usually `main`).
- `body`: Content of the release text (Default: `""`).
- `repo_name`: Specify the name of the GitHub repository in which the GitHub release will be created, edited, and deleted. If the repository is other than the current, it is required to create a personal access token with `repo`, `user`, `admin:repo_hook` scopes to the foreign repository and add it as a secret. (Default: current repository).

View File

@@ -32,6 +32,8 @@ inputs:
description: 'Explicitly set a release name. Defaults to empty which will cause the release to take the tag as name on GitHub.'
body:
description: 'Content of the release text. Empty by default.'
target_commit:
description: 'Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository\"s default branch (usually `main`).'
repo_name:
description: 'Specify the name of the GitHub repository in which the GitHub release will be created, edited, and deleted. If the repository is other than the current, it is required to create a personal access token with `repo`, `user`, `admin:repo_hook` scopes to the foreign repository and add it as a secret. Defaults to the current repository'
outputs:

4641
dist/index.js vendored

File diff suppressed because it is too large Load Diff

7425
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "upload-release-action",
"version": "2.6.1",
"version": "2.7.0",
"private": true,
"description": "Upload files to a GitHub release",
"main": "lib/main.js",
@@ -38,15 +38,15 @@
"@types/glob": "^8",
"@types/jest": "^29",
"@types/node": "^16",
"@typescript-eslint/parser": "^5",
"@typescript-eslint/parser": "^6",
"@vercel/ncc": "^0.36.1",
"eslint": "^8",
"eslint-plugin-github": "^4.7",
"eslint-plugin-github": "^4.9",
"eslint-plugin-jest": "^27",
"jest": "^29",
"jest-circus": "^29",
"js-yaml": "^4",
"prettier": "^2.8",
"prettier": "^3.0",
"ts-jest": "^29",
"typescript": "^5"
}

View File

@@ -7,6 +7,7 @@ import * as path from 'path'
import * as glob from 'glob'
import {retry} from '@lifeomic/attempt'
const getRef = 'GET /repos/{owner}/{repo}/git/ref/{ref}' as const
const releaseByTag = 'GET /repos/{owner}/{repo}/releases/tags/{tag}' as const
const createRelease = 'POST /repos/{owner}/{repo}/releases' as const
const updateRelease =
@@ -33,7 +34,8 @@ async function get_release_by_tag(
body: string,
octokit: Octokit,
overwrite: boolean,
promote: boolean
promote: boolean,
target_commit: string
): Promise<ReleaseByTagResp | CreateReleaseResp | UpdateReleaseResp> {
let release: ReleaseByTagResp
try {
@@ -48,13 +50,29 @@ async function get_release_by_tag(
core.debug(
`Release for tag ${tag} doesn't exist yet so we'll create it now.`
)
if (target_commit) {
try {
await octokit.request(getRef, {
...repo(),
ref: `tags/${tag}`
})
core.warning(
`Ignoring target_commit as the tag ${tag} already exists`
)
} catch (tagError: any) {
if (tagError.status !== 404) {
throw tagError
}
}
}
return await octokit.request(createRelease, {
...repo(),
tag_name: tag,
prerelease: prerelease,
make_latest: make_latest ? 'true' : 'false',
name: release_name,
body: body
body: body,
target_commitish: target_commit
})
} else {
throw error
@@ -194,6 +212,7 @@ async function run(): Promise<void> {
const prerelease = core.getInput('prerelease') == 'true' ? true : false
const make_latest = core.getInput('make_latest') != 'false' ? true : false
const release_name = core.getInput('release_name')
const target_commit = core.getInput('target_commit')
const body = core
.getInput('body')
.replace(/%0A/gi, '\n')
@@ -209,7 +228,8 @@ async function run(): Promise<void> {
body,
octokit,
overwrite,
promote
promote,
target_commit
)
if (file_glob) {