From 2c19408618f096a6064093809288c28e3f4daaa1 Mon Sep 17 00:00:00 2001 From: Xavier Krantz Date: Wed, 30 Oct 2024 15:50:45 +0100 Subject: [PATCH 1/4] feat: Add support for remote GitHub repository + working directory (#2) --- __tests__/git.test.ts | 4 +-- action.yml | 13 +++++++++ dist/index.js | 61 +++++++++++++++++++++++++++++++++++-------- src/git.ts | 21 ++++++++++++--- src/main.ts | 57 +++++++++++++++++++++++++++++++++------- src/utils/cwd.ts | 8 ++++++ 6 files changed, 138 insertions(+), 26 deletions(-) diff --git a/__tests__/git.test.ts b/__tests__/git.test.ts index 4182e9b..6d3eae0 100644 --- a/__tests__/git.test.ts +++ b/__tests__/git.test.ts @@ -181,7 +181,7 @@ describe('Git CLI', () => { describe('git add', () => { beforeEach(() => { - jest.spyOn(cwd, 'getWorkspace').mockReturnValue('/test-workspace') + jest.spyOn(cwd, 'getWorkspace').mockReturnValue('test-workspace/') }) it('should ensure file paths are within curent working directory', async () => { @@ -190,7 +190,7 @@ describe('Git CLI', () => { await addFileChanges(['*.ts', '~/.bashrc']) expect(execMock).toHaveBeenCalledWith( 'git', - ['add', '--', '/test-workspace/*.ts', '/test-workspace/~/.bashrc'], + ['add', '--', 'test-workspace/*.ts', 'test-workspace/~/.bashrc'], expect.objectContaining({ listeners: { stdline: expect.anything(), errline: expect.anything() }, }) diff --git a/action.yml b/action.yml index d3c9df1..7ce6a5b 100644 --- a/action.yml +++ b/action.yml @@ -15,10 +15,23 @@ inputs: Directory containing files to be committed. Default: GitHub workspace directory (root of repository). required: false default: '' + workdir: + description: | + Directory where the action should run. Default: GitHub workspace directory (root of repository from where the GH Workflow is triggered). + required: false + default: '' commit-message: description: | Commit message for the file changes. required: false + owner: + description: | + GitHub repository owner (user or organization), defaults to the repo invoking the action. + required: false + repo: + description: | + GitHub repository name, defaults to the repo invoking the action. + required: false branch-name: description: | Branch to commit to. Default: Workflow triggered branch. diff --git a/dist/index.js b/dist/index.js index 258dd67..d0daefb 100644 --- a/dist/index.js +++ b/dist/index.js @@ -29989,6 +29989,7 @@ function execGit(args) { const debugOutput = []; const warningOutput = []; const errorOutput = []; + core.debug('execGit() - args: ' + JSON.stringify(args)); yield (0, exec_1.exec)('git', args, { silent: true, ignoreReturnCode: true, @@ -30033,8 +30034,15 @@ function pushCurrentBranch() { } function addFileChanges(globPatterns) { return __awaiter(this, void 0, void 0, function* () { + const cwd = (0, cwd_1.getCwd)(); const workspace = (0, cwd_1.getWorkspace)(); - const workspacePaths = globPatterns.map((p) => (0, node_path_1.join)(workspace, p)); + const resolvedWorkspace = (0, node_path_1.resolve)(workspace); + core.debug('addFileChanges() - resolvedWorkspace: ' + JSON.stringify(resolvedWorkspace)); + let workspacePaths = globPatterns; + if (resolvedWorkspace.includes(cwd)) { + core.notice('addFileChanges() - "workspace" is a subdirectory, updating globPatterns'); + workspacePaths = globPatterns.map((p) => (0, node_path_1.join)((0, node_path_1.relative)(cwd, resolvedWorkspace), p)); + } yield execGit(['add', '--', ...workspacePaths]); }); } @@ -30381,34 +30389,51 @@ const core = __importStar(__nccwpck_require__(7484)); const graphql_1 = __nccwpck_require__(1422); const repo_1 = __nccwpck_require__(1839); const git_1 = __nccwpck_require__(1243); +const cwd_1 = __nccwpck_require__(9827); const input_1 = __nccwpck_require__(7797); const errors_1 = __nccwpck_require__(3916); function run() { return __awaiter(this, void 0, void 0, function* () { var _a, _b, _c, _d, _e, _f; try { + core.info('Getting info from GH Worklfow context'); const { owner, repo, branch } = (0, repo_1.getContext)(); + core.info('Setting variables according to inputs and context'); + core.debug('* branch'); const inputBranch = (0, input_1.getInput)('branch-name'); - if (inputBranch && inputBranch !== branch) { - yield (0, git_1.switchBranch)(inputBranch); + const selectedBranch = inputBranch ? inputBranch : branch; + core.debug('* owner'); + const inputOwner = (0, input_1.getInput)('owner'); + const selectedOwner = inputOwner ? inputOwner : owner; + core.debug('* repo'); + const inputRepo = (0, input_1.getInput)('repo'); + const selectedRepo = inputRepo ? inputRepo : repo; + if (selectedOwner == owner && + selectedRepo == repo && + selectedBranch !== branch) { + core.warning('Pushing local and current branch to remote before proceeding'); + // Git commands + yield (0, git_1.switchBranch)(selectedBranch); yield (0, git_1.pushCurrentBranch)(); } - const currentBranch = inputBranch ? inputBranch : branch; - const repository = yield core.group(`fetching repository info for owner: ${owner}, repo: ${repo}, branch: ${currentBranch}`, () => __awaiter(this, void 0, void 0, function* () { + const repository = yield core.group(`fetching repository info for owner: ${selectedOwner}, repo: ${selectedRepo}, branch: ${selectedBranch}`, () => __awaiter(this, void 0, void 0, function* () { const startTime = Date.now(); - const repositoryData = yield (0, graphql_1.getRepository)(owner, repo, currentBranch); + const repositoryData = yield (0, graphql_1.getRepository)(selectedOwner, selectedRepo, selectedBranch); const endTime = Date.now(); core.debug(`time taken: ${(endTime - startTime).toString()} ms`); return repositoryData; })); + core.info('Checking remote branches'); if (!repository.ref) { - if (inputBranch && currentBranch == inputBranch) { + if (inputBranch) { throw new errors_1.InputBranchNotFound(inputBranch); } else { - throw new errors_1.BranchNotFound(currentBranch); + throw new errors_1.BranchNotFound(branch); } } + core.info('Processing to create signed commit'); + core.debug('Get last (current?) commit'); const currentCommit = (_b = (_a = repository.ref.target.history) === null || _a === void 0 ? void 0 : _a.nodes) === null || _b === void 0 ? void 0 : _b[0]; if (!currentCommit) { throw new errors_1.BranchCommitNotFound(repository.ref.name); @@ -30416,10 +30441,16 @@ function run() { let createdCommit; const filePaths = core.getMultilineInput('files'); if (filePaths.length <= 0) { - core.debug('skip file commit, empty files input'); + core.notice('skip file commit, empty files input'); } else { - core.debug(`proceed with file commit, input: ${JSON.stringify(filePaths)}`); + core.debug(`Proceed with file commit, input: ${JSON.stringify(filePaths)}`); + const workdir = (0, cwd_1.getWorkdir)(); + const cwd = (0, cwd_1.getCwd)(); + if (cwd !== workdir) { + core.notice('Changing working directory to Workdir: ' + workdir); + process.chdir(workdir); + } yield (0, git_1.addFileChanges)(filePaths); const fileChanges = yield (0, git_1.getFileChanges)(); const fileCount = ((_d = (_c = fileChanges.additions) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) + @@ -30441,7 +30472,7 @@ function run() { const startTime = Date.now(); const commitData = yield (0, graphql_1.createCommitOnBranch)(currentCommit, commitMessage, { repositoryNameWithOwner: repository.nameWithOwner, - branchName: currentBranch, + branchName: selectedBranch, }, fileChanges); const endTime = Date.now(); core.debug(`time taken: ${(endTime - startTime).toString()} ms`); @@ -30565,6 +30596,7 @@ var __importStar = (this && this.__importStar) || function (mod) { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.getCwd = getCwd; exports.getWorkspace = getWorkspace; +exports.getWorkdir = getWorkdir; const core = __importStar(__nccwpck_require__(7484)); const input_1 = __nccwpck_require__(7797); function getCwd() { @@ -30579,6 +30611,13 @@ function getWorkspace() { core.debug(`workspace: ${workspace}`); return workspace; } +function getWorkdir() { + const workdir = (0, input_1.getInput)('workdir', { + default: process.env.GITHUB_WORKSPACE, + }); + core.debug(`workdir: ${workdir}`); + return workdir; +} /***/ }), diff --git a/src/git.ts b/src/git.ts index 64f2efa..258030f 100644 --- a/src/git.ts +++ b/src/git.ts @@ -1,19 +1,20 @@ import * as core from '@actions/core' import { exec } from '@actions/exec' -import { join } from 'node:path' +import { join, relative, resolve } from 'node:path' import { FileChanges, FileAddition, FileDeletion, } from '@octokit/graphql-schema' -import { getWorkspace } from './utils/cwd' +import { getCwd, getWorkspace } from './utils/cwd' async function execGit(args: string[]) { const debugOutput: string[] = [] const warningOutput: string[] = [] const errorOutput: string[] = [] + core.debug('execGit() - args: ' + JSON.stringify(args)) await exec('git', args, { silent: true, ignoreReturnCode: true, @@ -53,8 +54,22 @@ export async function pushCurrentBranch() { } export async function addFileChanges(globPatterns: string[]) { + const cwd = getCwd() const workspace = getWorkspace() - const workspacePaths = globPatterns.map((p) => join(workspace, p)) + const resolvedWorkspace = resolve(workspace) + core.debug( + 'addFileChanges() - resolvedWorkspace: ' + JSON.stringify(resolvedWorkspace) + ) + + let workspacePaths = globPatterns + if (resolvedWorkspace.includes(cwd)) { + core.notice( + 'addFileChanges() - "workspace" is a subdirectory, updating globPatterns' + ) + workspacePaths = globPatterns.map((p) => + join(relative(cwd, resolvedWorkspace), p) + ) + } await execGit(['add', '--', ...workspacePaths]) } diff --git a/src/main.ts b/src/main.ts index 4014982..454a85d 100644 --- a/src/main.ts +++ b/src/main.ts @@ -13,6 +13,7 @@ import { pushCurrentBranch, switchBranch, } from './git' +import { getCwd, getWorkdir } from './utils/cwd' import { getInput } from './utils/input' import { NoFileChanges, @@ -23,32 +24,61 @@ import { export async function run(): Promise { try { + core.info('Getting info from GH Worklfow context') const { owner, repo, branch } = getContext() + + core.info('Setting variables according to inputs and context') + core.debug('* branch') const inputBranch = getInput('branch-name') - if (inputBranch && inputBranch !== branch) { - await switchBranch(inputBranch) + const selectedBranch = inputBranch ? inputBranch : branch + + core.debug('* owner') + const inputOwner = getInput('owner') + const selectedOwner = inputOwner ? inputOwner : owner + + core.debug('* repo') + const inputRepo = getInput('repo') + const selectedRepo = inputRepo ? inputRepo : repo + + if ( + selectedOwner == owner && + selectedRepo == repo && + selectedBranch !== branch + ) { + core.warning( + 'Pushing local and current branch to remote before proceeding' + ) + // Git commands + await switchBranch(selectedBranch) await pushCurrentBranch() } - const currentBranch = inputBranch ? inputBranch : branch + const repository = await core.group( - `fetching repository info for owner: ${owner}, repo: ${repo}, branch: ${currentBranch}`, + `fetching repository info for owner: ${selectedOwner}, repo: ${selectedRepo}, branch: ${selectedBranch}`, async () => { const startTime = Date.now() - const repositoryData = await getRepository(owner, repo, currentBranch) + const repositoryData = await getRepository( + selectedOwner, + selectedRepo, + selectedBranch + ) const endTime = Date.now() core.debug(`time taken: ${(endTime - startTime).toString()} ms`) return repositoryData } ) + core.info('Checking remote branches') if (!repository.ref) { - if (inputBranch && currentBranch == inputBranch) { + if (inputBranch) { throw new InputBranchNotFound(inputBranch) } else { - throw new BranchNotFound(currentBranch) + throw new BranchNotFound(branch) } } + core.info('Processing to create signed commit') + core.debug('Get last (current?) commit') const currentCommit = repository.ref.target.history?.nodes?.[0] if (!currentCommit) { throw new BranchCommitNotFound(repository.ref.name) @@ -57,12 +87,19 @@ export async function run(): Promise { let createdCommit: Commit | undefined const filePaths = core.getMultilineInput('files') if (filePaths.length <= 0) { - core.debug('skip file commit, empty files input') + core.notice('skip file commit, empty files input') } else { core.debug( - `proceed with file commit, input: ${JSON.stringify(filePaths)}` + `Proceed with file commit, input: ${JSON.stringify(filePaths)}` ) + const workdir = getWorkdir() + const cwd = getCwd() + if (cwd !== workdir) { + core.notice('Changing working directory to Workdir: ' + workdir) + process.chdir(workdir) + } + await addFileChanges(filePaths) const fileChanges = await getFileChanges() const fileCount = @@ -89,7 +126,7 @@ export async function run(): Promise { commitMessage, { repositoryNameWithOwner: repository.nameWithOwner, - branchName: currentBranch, + branchName: selectedBranch, }, fileChanges ) diff --git a/src/utils/cwd.ts b/src/utils/cwd.ts index ea9f338..cd3a798 100644 --- a/src/utils/cwd.ts +++ b/src/utils/cwd.ts @@ -14,3 +14,11 @@ export function getWorkspace() { core.debug(`workspace: ${workspace}`) return workspace } + +export function getWorkdir() { + const workdir = getInput('workdir', { + default: process.env.GITHUB_WORKSPACE, + }) + core.debug(`workdir: ${workdir}`) + return workdir +} From 19f732a41a51b0fadb821d81b695c03dfc7bfa61 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 1 Nov 2024 12:02:54 +0000 Subject: [PATCH 2/4] ci: update CHANGELOG.md --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bbc0cf..84ee1e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,11 @@ All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines. --- -## [Unreleased](https://github.com/ryancyq/github-signed-commit/tree/HEAD) +## [1.3.0](https://github.com/ryancyq/github-signed-commit/compare/v1.2.0..v1.3.0) - 2024-10-30 + +### Features + +- Add support for remote GitHub repository + working directory ([#2](https://github.com/ryancyq/github-signed-commit/issues/2)) - ([2c19408](https://github.com/ryancyq/github-signed-commit/commit/2c19408618f096a6064093809288c28e3f4daaa1)) - Xavier Krantz ### Tests From db38b1514c00fea508addc25b2c7a66dfff25ed0 Mon Sep 17 00:00:00 2001 From: Xavier Krantz Date: Mon, 6 Jan 2025 17:17:38 +0100 Subject: [PATCH 3/4] feat: Add support for Tags push events (#3) * Update repo.ts Signed-off-by: Xavier Krantz * fix: missing ) * update repo.ts * fixup: build dist * fix: return "" on tags * chore(readme): Update inputs --------- Signed-off-by: Xavier Krantz Co-authored-by: Stessy Mougeot --- README.md | 4 +- dist/index.js | 171 ++++++++++++++++++++++++++++++++------------- package-lock.json | 23 +++--- package.json | 2 +- src/github/repo.ts | 2 + 5 files changed, 140 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index 5b1125e..9ed0b2c 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ Note: The `GH_TOKEN` environment variable is **required** for GitHub API request | `files` | **YES** | Multi-line string of file paths to be committed, relative to the current workspace.| | `workspace` | **NO** | Directory containing files to be committed. **DEFAULT:** GitHub workspace directory (root of the repository). | | `commit-message` | **YES** | Commit message for the file changes. | -| `branch-name` | **NO** | Branch to commit, it must already exist in the remote. **DEFAULT:** Workflow triggered branch | +| `branch-name` | **NO*** | Branch to commit, it must already exist in the remote. **DEFAULT:** Workflow triggered branch. **REQUIRED:** If triggered through `on tags`.| | `branch-push-force` | **NO** | `--force` flag when running `git push `. | | `tag` | **NO** | Push tag for the new/current commit. | | `tag-only-if-file-changes` | **NO** | Push tag for new commit only when file changes present. **DEFAULT:** true | @@ -79,4 +79,4 @@ Note: The `GH_TOKEN` environment variable is **required** for GitHub API request [coverage_badge]: https://codecov.io/gh/ryancyq/github-signed-commit/graph/badge.svg?token=KZTD2F2MN2 [coverage]: https://codecov.io/gh/ryancyq/github-signed-commit [maintainability_badge]: https://api.codeclimate.com/v1/badges/0de9dbec270ca85719c6/maintainability -[maintainability]: https://codeclimate.com/github/ryancyq/github-signed-commit/maintainability \ No newline at end of file +[maintainability]: https://codeclimate.com/github/ryancyq/github-signed-commit/maintainability diff --git a/dist/index.js b/dist/index.js index d0daefb..0214021 100644 --- a/dist/index.js +++ b/dist/index.js @@ -29825,13 +29825,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( }) : function(o, v) { o["default"] = v; }); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); 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) { @@ -29959,13 +29969,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( }) : function(o, v) { o["default"] = v; }); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); 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) { @@ -30137,13 +30157,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( }) : function(o, v) { o["default"] = v; }); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); 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) { @@ -30314,13 +30344,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( }) : function(o, v) { o["default"] = v; }); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.getContext = getContext; const github = __importStar(__nccwpck_require__(3228)); @@ -30333,6 +30373,9 @@ function resolveCurrentBranch(ref) { // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access return (_c = (_b = (_a = github.context.payload.pull_request) === null || _a === void 0 ? void 0 : _a.head) === null || _b === void 0 ? void 0 : _b.ref) !== null && _c !== void 0 ? _c : ''; } + else if (ref.startsWith('refs/tags/')) { + return ''; + } throw new Error(`Unsupported ref: ${ref}`); } function getContext() { @@ -30367,13 +30410,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( }) : function(o, v) { o["default"] = v; }); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); 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) { @@ -30586,13 +30639,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( }) : function(o, v) { o["default"] = v; }); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.getCwd = getCwd; exports.getWorkspace = getWorkspace; @@ -30642,13 +30705,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( }) : function(o, v) { o["default"] = v; }); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.getInput = getInput; const core = __importStar(__nccwpck_require__(7484)); diff --git a/package-lock.json b/package-lock.json index 08fc7d1..32bdad5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,7 +25,7 @@ "fetch-mock": "^11.1.5", "jest": "^29.0.0", "ts-jest": "^29.2.5", - "typescript": "^5.6.2", + "typescript": "^5.7.2", "typescript-eslint": "^8.11.0" }, "engines": { @@ -717,10 +717,11 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.0.tgz", - "integrity": "sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz", + "integrity": "sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "levn": "^0.4.1" }, @@ -2395,10 +2396,11 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -5527,10 +5529,11 @@ } }, "node_modules/typescript": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", - "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", + "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index 42a7344..c0d110b 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "fetch-mock": "^11.1.5", "jest": "^29.0.0", "ts-jest": "^29.2.5", - "typescript": "^5.6.2", + "typescript": "^5.7.2", "typescript-eslint": "^8.11.0" }, "engines": { diff --git a/src/github/repo.ts b/src/github/repo.ts index b54e7c3..4ab9b8f 100644 --- a/src/github/repo.ts +++ b/src/github/repo.ts @@ -6,6 +6,8 @@ function resolveCurrentBranch(ref: string): string { } else if (ref.startsWith('refs/pull/')) { // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access return github.context.payload.pull_request?.head?.ref ?? '' + } else if (ref.startsWith('refs/tags/')) { + return '' } throw new Error(`Unsupported ref: ${ref}`) From 86f2a43bde869fcd2817df39643fff330894a57b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 15 Feb 2025 00:34:16 +0000 Subject: [PATCH 4/4] chore(deps): bump @octokit/request-error from 5.1.0 to 5.1.1 Bumps [@octokit/request-error](https://github.com/octokit/request-error.js) from 5.1.0 to 5.1.1. - [Release notes](https://github.com/octokit/request-error.js/releases) - [Commits](https://github.com/octokit/request-error.js/compare/v5.1.0...v5.1.1) --- updated-dependencies: - dependency-name: "@octokit/request-error" dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 32bdad5..5e17fec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1395,9 +1395,9 @@ } }, "node_modules/@octokit/request-error": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz", - "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz", + "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==", "license": "MIT", "dependencies": { "@octokit/types": "^13.1.0",