Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
2bf2075
feat: DOSTM-7682: Unzip Issue Fix Test 1
vishalshanbhag-digicert Jul 7, 2025
34b2c70
feat: DOSTM-7682: Unzip Issue Fix Test 1 Changes
vishalshanbhag-digicert Jul 7, 2025
c67c23d
fix(): [DOSTM-7682]: Unzip Issue Fix for the Self-hosted Runners
vishalshanbhag-digicert Jul 8, 2025
7f0e5b8
fix(): [DOSTM-7682]: Unzip Issue Fix for the Self-hosted Runners
vishalshanbhag-digicert Jul 8, 2025
d097a2b
fix(): [DOSTM-7682]: Bumping up version of ssm-client-tools-installer…
vishalshanbhag-digicert Jul 9, 2025
09eed93
fix(): [DOSTM-7682]: validating changes for Self-Hosted runner fix
vishalshanbhag-digicert Jul 10, 2025
c2b83be
fix(): [DOSTM-7682]: validating changes for Self-Hosted runner fix 2
vishalshanbhag-digicert Jul 11, 2025
cd6db4e
fix(): [DOSTM-7682]: validating changes with file lock and hash checks
vishalshanbhag-digicert Jul 13, 2025
ea548fc
fix(): [DOSTM-7682]: validating changes with file lock and hash checks 2
vishalshanbhag-digicert Jul 13, 2025
1f81db6
fix(): [DOSTM-7682]: validating changes with file lock and hash check…
vishalshanbhag-digicert Jul 13, 2025
b7259ef
fix(): [DOSTM-7682]: validating changes with file lock and hash check…
vishalshanbhag-digicert Jul 13, 2025
f53365c
fix(): [DOSTM-7682]: validating changes with file lock and hash check…
vishalshanbhag-digicert Jul 13, 2025
f0eefdd
fix(): [DOSTM-7682]: validating changes with file lock and hash check…
vishalshanbhag-digicert Jul 13, 2025
2e66663
fix(): [DOSTM-7682]: validating changes with file lock and hash check…
vishalshanbhag-digicert Jul 13, 2025
e236f02
fix(): [DOSTM-7682]: validating changes with file lock and hash check…
vishalshanbhag-digicert Jul 13, 2025
d0b313a
fix(): [DOSTM-7682]: validating changes with file lock and hash check…
vishalshanbhag-digicert Jul 13, 2025
b92039c
fix(): [DOSTM-7682]: fix for the unzip issue with Self hosted runner …
vishalshanbhag-digicert Jul 14, 2025
67fa475
fix(): [DOSTM-7682]: fix for the wrong tool path in linux
vishalshanbhag-digicert Jul 15, 2025
8a5b0b7
fix(): [DOSTM-7682]: fix for cache dir issue fix
vishalshanbhag-digicert Jul 15, 2025
8284e1a
fix(): [DOSTM-7682]: fix for cache dir issue with else condition
vishalshanbhag-digicert Jul 15, 2025
a365d36
fix(): [DOSTM-7682]: fix for cache dir issue with else condition for …
vishalshanbhag-digicert Jul 15, 2025
e6af400
fix(): [DOSTM-7682]: fix for config file issue for MAC
vishalshanbhag-digicert Jul 15, 2025
129669e
fix(): [DOSTM-7682]: fix for config file issue for MAC with forceDown…
vishalshanbhag-digicert Jul 15, 2025
bfaa648
fix(): [DOSTM-7682]: fix for config file issue for MAC with forceDown…
vishalshanbhag-digicert Jul 15, 2025
705fad7
feat(): [DOSTM-7682]: Feature enhancement to run the tool installatio…
vishalshanbhag-digicert Jul 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,5 @@ jobs:

env:
SSM_CLIENT_INSTALLER_READ_TOKEN: ${{ secrets.SSM_CLIENT_INSTALLER_READ_TOKEN }}
FORCE_DOWNLOAD_TOOLS: true

10 changes: 9 additions & 1 deletion action.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
---
name: "Code signing with Software Trust Manager"
description: "Code signing automation with private key protection and multi-factor authentication (MFA)"
author: "DigiCert"

inputs:
force-download-tools:
description: "Parameter to force download the signing tools"
default: "false"

runs:
using: "node20"
main: "./build/index.js"

branding:
icon: "check-circle"
color: "blue"
color: "blue"
39 changes: 39 additions & 0 deletions build/cleanup/exec-child.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
if (require.main !== module) {
throw new Error('This file should not be required');
}

var childProcess = require('child_process');
var fs = require('fs');

var paramFilePath = process.argv[2];

var serializedParams = fs.readFileSync(paramFilePath, 'utf8');
var params = JSON.parse(serializedParams);

var cmd = params.command;
var execOptions = params.execOptions;
var pipe = params.pipe;
var stdoutFile = params.stdoutFile;
var stderrFile = params.stderrFile;

var c = childProcess.exec(cmd, execOptions, function (err) {
if (!err) {
process.exitCode = 0;
} else if (err.code === undefined) {
process.exitCode = 1;
} else {
process.exitCode = err.code;
}
});

var stdoutStream = fs.createWriteStream(stdoutFile);
var stderrStream = fs.createWriteStream(stderrFile);

c.stdout.pipe(stdoutStream);
c.stderr.pipe(stderrStream);
c.stdout.pipe(process.stdout);
c.stderr.pipe(process.stderr);

if (pipe) {
c.stdin.end(pipe);
}
24 changes: 24 additions & 0 deletions build/cleanup/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ /* webpack/runtime/compat */
/******/
/******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/";
/******/
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it uses a non-standard name for the exports (exports).
(() => {
var exports = __webpack_exports__;

Object.defineProperty(exports, "__esModule", ({ value: true }));
(async () => {
console.log('Received cleanup signal. Initiating graceful termination...');
console.log(`Cleaning up initiated at ${new Date().toISOString()}`);
console.log('Cleanup completed. Exiting now.');
})();

})();

module.exports = __webpack_exports__;
/******/ })()
;
37 changes: 37 additions & 0 deletions build/cleanup/lib.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"messages": {
"LIB_UnhandledEx": "Unhandled: %s",
"LIB_FailOnCode": "Failure return code: %d",
"LIB_MkdirFailed": "Unable to create directory '%s'. %s",
"LIB_MkdirFailedFileExists": "Unable to create directory '%s'. Conflicting file exists: '%s'",
"LIB_MkdirFailedInvalidDriveRoot": "Unable to create directory '%s'. Root directory does not exist: '%s'",
"LIB_MkdirFailedInvalidShare": "Unable to create directory '%s'. Unable to verify the directory exists: '%s'. If directory is a file share, please verify the share name is correct, the share is online, and the current process has permission to access the share.",
"LIB_MultilineSecret": "Secrets cannot contain multiple lines",
"LIB_ProcessError": "There was an error when attempting to execute the process '%s'. This may indicate the process failed to start. Error: %s",
"LIB_ProcessExitCode": "The process '%s' failed with exit code %s",
"LIB_ProcessStderr": "The process '%s' failed because one or more lines were written to the STDERR stream",
"LIB_ReturnCode": "Return code: %d",
"LIB_ResourceFileNotExist": "Resource file doesn\\'t exist: %s",
"LIB_ResourceFileAlreadySet": "Resource file has already set to: %s",
"LIB_ResourceFileNotSet": "Resource file haven\\'t set, can\\'t find loc string for key: %s",
"LIB_StdioNotClosed": "The STDIO streams did not close within %s seconds of the exit event from process '%s'. This may indicate a child process inherited the STDIO streams and has not yet exited.",
"LIB_WhichNotFound_Linux": "Unable to locate executable file: '%s'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.",
"LIB_WhichNotFound_Win": "Unable to locate executable file: '%s'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.",
"LIB_LocStringNotFound": "Can\\'t find loc string for key: %s",
"LIB_ParameterIsRequired": "%s not supplied",
"LIB_InputRequired": "Input required: %s",
"LIB_InvalidPattern": "Invalid pattern: '%s'",
"LIB_EndpointNotExist": "Endpoint not present: %s",
"LIB_EndpointDataNotExist": "Endpoint data parameter %s not present: %s",
"LIB_EndpointAuthNotExist": "Endpoint auth data not present: %s",
"LIB_InvalidEndpointAuth": "Invalid endpoint auth: %s",
"LIB_InvalidSecureFilesInput": "Invalid secure file input: %s",
"LIB_PathNotFound": "Not found %s: %s",
"LIB_PathHasNullByte": "Path cannot contain null bytes",
"LIB_OperationFailed": "Failed %s: %s",
"LIB_UseFirstGlobMatch": "Multiple workspace matches. using first.",
"LIB_MergeTestResultNotSupported": "Merging test results from multiple files to one test run is not supported on this version of build agent for OSX/Linux, each test result file will be published as a separate test run in VSO/TFS.",
"LIB_PlatformNotSupported": "Platform not supported: %s",
"LIB_CopyFileFailed": "Error while copying the file. Attempts left: %s"
}
}
14 changes: 14 additions & 0 deletions build/cleanup/lib1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"messages": {
"TOOL_LIB_CachingTool": "Caching tool: %s %s %s",
"_TOOL_LIB_CachingTool.comment": "This informational log message indicates that a tool, that was just downloaded, is being copied into the cache directory. %s %s %s represent the tool name, version information, and processor architecture.",
"TOOL_LIB_Downloading": "Downloading: %s",
"_TOOL_LIB_Downloading.comment": "This information log message indicates that a file is being downloaded. %s represents the URL being downloaded.",
"TOOL_LIB_ExtractingArchive": "Extracting archive",
"_TOOL_LIB_ExtractingArchive.comment": "This informational log message indicates that an archive file is being extracted. For example, a .zip file, .7z file, or .tar.gz file.",
"TOOL_LIB_FoundInCache": "Found tool in cache: %s %s %s",
"_TOOL_LIB_FoundInCache.comment": "This informational log message indicates that the request tool is already cached, and does not need to be downloaded again. %s %s %s represent the tool name, version information, and processor architecture.",
"TOOL_LIB_PrependPath": "Prepending PATH environment variable with directory: %s",
"_TOOL_LIB_PrependPath.comment": "This informational log message indicates that a directory is being prepended to the front of the PATH environment variable. The directories specified by the PATH environment variable are used to resolve the location of command line tools."
}
}
37 changes: 37 additions & 0 deletions build/cleanup/lib2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"messages": {
"LIB_UnhandledEx": "Unhandled: %s",
"LIB_FailOnCode": "Failure return code: %d",
"LIB_MkdirFailed": "Unable to create directory '%s'. %s",
"LIB_MkdirFailedFileExists": "Unable to create directory '%s'. Conflicting file exists: '%s'",
"LIB_MkdirFailedInvalidDriveRoot": "Unable to create directory '%s'. Root directory does not exist: '%s'",
"LIB_MkdirFailedInvalidShare": "Unable to create directory '%s'. Unable to verify the directory exists: '%s'. If directory is a file share, please verify the share name is correct, the share is online, and the current process has permission to access the share.",
"LIB_MultilineSecret": "Secrets cannot contain multiple lines",
"LIB_ProcessError": "There was an error when attempting to execute the process '%s'. This may indicate the process failed to start. Error: %s",
"LIB_ProcessExitCode": "The process '%s' failed with exit code %s",
"LIB_ProcessStderr": "The process '%s' failed because one or more lines were written to the STDERR stream",
"LIB_ReturnCode": "Return code: %d",
"LIB_ResourceFileNotExist": "Resource file doesn\\'t exist: %s",
"LIB_ResourceFileAlreadySet": "Resource file has already set to: %s",
"LIB_ResourceFileNotSet": "Resource file haven\\'t set, can\\'t find loc string for key: %s",
"LIB_StdioNotClosed": "The STDIO streams did not close within %s seconds of the exit event from process '%s'. This may indicate a child process inherited the STDIO streams and has not yet exited.",
"LIB_WhichNotFound_Linux": "Unable to locate executable file: '%s'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.",
"LIB_WhichNotFound_Win": "Unable to locate executable file: '%s'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.",
"LIB_LocStringNotFound": "Can\\'t find loc string for key: %s",
"LIB_ParameterIsRequired": "%s not supplied",
"LIB_InputRequired": "Input required: %s",
"LIB_InvalidPattern": "Invalid pattern: '%s'",
"LIB_EndpointNotExist": "Endpoint not present: %s",
"LIB_EndpointDataNotExist": "Endpoint data parameter %s not present: %s",
"LIB_EndpointAuthNotExist": "Endpoint auth data not present: %s",
"LIB_InvalidEndpointAuth": "Invalid endpoint auth: %s",
"LIB_InvalidSecureFilesInput": "Invalid secure file input: %s",
"LIB_PathNotFound": "Not found %s: %s",
"LIB_PathHasNullByte": "Path cannot contain null bytes",
"LIB_OperationFailed": "Failed %s: %s",
"LIB_UseFirstGlobMatch": "Multiple workspace matches. using first.",
"LIB_MergeTestResultNotSupported": "Merging test results from multiple files to one test run is not supported on this version of build agent for OSX/Linux, each test result file will be published as a separate test run in VSO/TFS.",
"LIB_PlatformNotSupported": "Platform not supported: %s",
"LIB_CopyFileFailed": "Error while copying the file. Attempts left: %s"
}
}
Loading