Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions .github/actions/build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ runs:
- name: Determine role to assume
id: role-to-assume
run: |
if [ "${{ github.repository_owner }}" == "aws-actions" ]; then
if [ "${{ github.event_name }}" == "push" ]; then
# Use prod role for the PRs running against the main repo
echo "arn=arn:aws:iam::339713045997:role/GithubActionsRole" >> "$GITHUB_OUTPUT"
else
Expand All @@ -26,7 +26,7 @@ runs:
fi
shell: bash
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: ${{ steps.role-to-assume.outputs.arn }}
aws-region: ${{ inputs.aws-region }}
15 changes: 14 additions & 1 deletion __tests__/utils.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import {
TransformationFunc
} from "../src/utils";

import { CLEANUP_NAME, LIST_SECRETS_MAX_RESULTS } from "../src/constants";
import { CLEANUP_NAME, LIST_SECRETS_MAX_RESULTS, ACTION_VERSION, getUserAgent } from "../src/constants";

const TEST_NAME = 'test/secret';
const TEST_ENV_NAME = 'TEST_SECRET';
Expand Down Expand Up @@ -455,3 +455,16 @@ describe('Test secret parsing and handling', () => {
expect(() => parseTransformationFunction(input)).toThrow();
});
});

describe('Version Constants', () => {
it('should have a valid version format', () => {
expect(ACTION_VERSION).toMatch(/^v\d+\.\d+\.\d+$/);
});

it('should return user agent with version', () => {
const userAgent = getUserAgent();
expect(userAgent).toMatch(/^github-action\/v\d+\.\d+\.\d+$/);
});
});


19 changes: 17 additions & 2 deletions dist/cleanup/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -83025,14 +83025,21 @@ cleanup();
/***/ }),

/***/ 27242:
/***/ ((__unused_webpack_module, exports) => {
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.CLEANUP_NAME = exports.LIST_SECRETS_MAX_RESULTS = void 0;
exports.ACTION_VERSION = exports.CLEANUP_NAME = exports.LIST_SECRETS_MAX_RESULTS = void 0;
exports.getUserAgent = getUserAgent;
exports.LIST_SECRETS_MAX_RESULTS = 100;
exports.CLEANUP_NAME = 'SECRETS_LIST_CLEAN_UP';
// eslint-disable-next-line @typescript-eslint/no-var-requires
const packageJson = __nccwpck_require__(8330);
exports.ACTION_VERSION = `v${packageJson.version}`;
function getUserAgent() {
return `github-action/${exports.ACTION_VERSION}`;
}


/***/ }),
Expand Down Expand Up @@ -91057,6 +91064,14 @@ module.exports = /*#__PURE__*/JSON.parse('{"name":"@aws-sdk/nested-clients","ver
"use strict";
module.exports = /*#__PURE__*/JSON.parse('[{"name":"Appcircle","constant":"APPCIRCLE","env":"AC_APPCIRCLE"},{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN"},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"TF_BUILD","pr":{"BUILD_REASON":"PullRequest"}},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"Codefresh","constant":"CODEFRESH","env":"CF_BUILD_ID","pr":{"any":["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{"name":"Codemagic","constant":"CODEMAGIC","env":"CM_BUILD_ID","pr":"CM_PULL_REQUEST"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"Expo Application Services","constant":"EAS","env":"EAS_BUILD"},{"name":"Gerrit","constant":"GERRIT","env":"GERRIT_PROJECT"},{"name":"GitHub Actions","constant":"GITHUB_ACTIONS","env":"GITHUB_ACTIONS","pr":{"GITHUB_EVENT_NAME":"pull_request"}},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI","pr":"CI_MERGE_REQUEST_ID"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Google Cloud Build","constant":"GOOGLE_CLOUD_BUILD","env":"BUILDER_OUTPUT"},{"name":"Harness CI","constant":"HARNESS","env":"HARNESS_BUILD_ID"},{"name":"Heroku","constant":"HEROKU","env":{"env":"NODE","includes":"/app/.heroku/node/bin/node"}},{"name":"Hudson","constant":"HUDSON","env":"HUDSON_URL"},{"name":"Jenkins","constant":"JENKINS","env":["JENKINS_URL","BUILD_ID"],"pr":{"any":["ghprbPullId","CHANGE_ID"]}},{"name":"LayerCI","constant":"LAYERCI","env":"LAYERCI","pr":"LAYERCI_PULL_REQUEST"},{"name":"Magnum CI","constant":"MAGNUM","env":"MAGNUM"},{"name":"Netlify CI","constant":"NETLIFY","env":"NETLIFY","pr":{"env":"PULL_REQUEST","ne":"false"}},{"name":"Nevercode","constant":"NEVERCODE","env":"NEVERCODE","pr":{"env":"NEVERCODE_PULL_REQUEST","ne":"false"}},{"name":"ReleaseHub","constant":"RELEASEHUB","env":"RELEASE_BUILD_ID"},{"name":"Render","constant":"RENDER","env":"RENDER","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Sail CI","constant":"SAIL","env":"SAILCI","pr":"SAIL_PULL_REQUEST_NUMBER"},{"name":"Screwdriver","constant":"SCREWDRIVER","env":"SCREWDRIVER","pr":{"env":"SD_PULL_REQUEST","ne":"false"}},{"name":"Semaphore","constant":"SEMAPHORE","env":"SEMAPHORE","pr":"PULL_REQUEST_NUMBER"},{"name":"Shippable","constant":"SHIPPABLE","env":"SHIPPABLE","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Solano CI","constant":"SOLANO","env":"TDDIUM","pr":"TDDIUM_PR_ID"},{"name":"Sourcehut","constant":"SOURCEHUT","env":{"CI_NAME":"sourcehut"}},{"name":"Strider CD","constant":"STRIDER","env":"STRIDER"},{"name":"TaskCluster","constant":"TASKCLUSTER","env":["TASK_ID","RUN_ID"]},{"name":"TeamCity","constant":"TEAMCITY","env":"TEAMCITY_VERSION"},{"name":"Travis CI","constant":"TRAVIS","env":"TRAVIS","pr":{"env":"TRAVIS_PULL_REQUEST","ne":"false"}},{"name":"Vercel","constant":"VERCEL","env":{"any":["NOW_BUILDER","VERCEL"]},"pr":"VERCEL_GIT_PULL_REQUEST_ID"},{"name":"Visual Studio App Center","constant":"APPCENTER","env":"APPCENTER_BUILD_ID"},{"name":"Woodpecker","constant":"WOODPECKER","env":{"CI":"woodpecker"},"pr":{"CI_BUILD_EVENT":"pull_request"}},{"name":"Xcode Cloud","constant":"XCODE_CLOUD","env":"CI_XCODE_PROJECT","pr":"CI_PULL_REQUEST_NUMBER"},{"name":"Xcode Server","constant":"XCODE_SERVER","env":"XCS"}]');

/***/ }),

/***/ 8330:
/***/ ((module) => {

"use strict";
module.exports = /*#__PURE__*/JSON.parse('{"name":"aws-secretsmanager-get-secrets","version":"2.0.11","description":"GitHub action for retrieving secrets from AWS Secrets Manager","main":"dist/index.js","scripts":{"test":"npm run lint && jest --coverage --verbose __tests__","integration-test":"jest --coverage --verbose","lint":"eslint src/**.ts","fix":"eslint src/** --fix","build":"tsc && ncc build ./src/index.ts --source-map --license licenses.txt && ncc build ./src/cleanup.ts -o dist/cleanup"},"repository":{"type":"git","url":"git+https://github.com/aws-actions/aws-secretsmanager-get-secrets.git"},"keywords":["AWS","SecretsManager","GitHub","Actions"],"author":"","license":"ISC","bugs":{"url":"https://github.com/aws-actions/aws-secretsmanager-get-secrets/issues"},"homepage":"https://github.com/aws-actions/aws-secretsmanager-get-secrets#readme","dependencies":{"@actions/core":"^1.10.0","@actions/github":"^6.0.0","@aws-sdk/client-secrets-manager":"^3.606.0"},"devDependencies":{"@types/jest":"^29.5.12","@typescript-eslint/eslint-plugin":"^6.20.0","@typescript-eslint/parser":"^6.20.0","@vercel/ncc":"^0.38.1","aws-sdk-client-mock":"^4.0.1","aws-sdk-client-mock-jest":"^4.0.1","eslint":"^8.57.0","jest":"^29.7.0","ts-jest":"^29.1.5"}}');

/***/ })

/******/ });
Expand Down
9 changes: 8 additions & 1 deletion dist/constants.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CLEANUP_NAME = exports.LIST_SECRETS_MAX_RESULTS = void 0;
exports.ACTION_VERSION = exports.CLEANUP_NAME = exports.LIST_SECRETS_MAX_RESULTS = void 0;
exports.getUserAgent = getUserAgent;
exports.LIST_SECRETS_MAX_RESULTS = 100;
exports.CLEANUP_NAME = 'SECRETS_LIST_CLEAN_UP';
// eslint-disable-next-line @typescript-eslint/no-var-requires
const packageJson = require('../package.json');
exports.ACTION_VERSION = `v${packageJson.version}`;
function getUserAgent() {
return `github-action/${exports.ACTION_VERSION}`;
}
21 changes: 18 additions & 3 deletions dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -82930,14 +82930,21 @@ module.exports = {
/***/ }),

/***/ 27242:
/***/ ((__unused_webpack_module, exports) => {
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.CLEANUP_NAME = exports.LIST_SECRETS_MAX_RESULTS = void 0;
exports.ACTION_VERSION = exports.CLEANUP_NAME = exports.LIST_SECRETS_MAX_RESULTS = void 0;
exports.getUserAgent = getUserAgent;
exports.LIST_SECRETS_MAX_RESULTS = 100;
exports.CLEANUP_NAME = 'SECRETS_LIST_CLEAN_UP';
// eslint-disable-next-line @typescript-eslint/no-var-requires
const packageJson = __nccwpck_require__(8330);
exports.ACTION_VERSION = `v${packageJson.version}`;
function getUserAgent() {
return `github-action/${exports.ACTION_VERSION}`;
}


/***/ }),
Expand Down Expand Up @@ -83011,7 +83018,7 @@ function run() {
}
(0, net_1.setDefaultAutoSelectFamilyAttemptTimeout)(timeout);
// Default client region is set by configure-aws-credentials
const client = new client_secrets_manager_1.SecretsManagerClient({ region: process.env.AWS_DEFAULT_REGION, customUserAgent: "github-action" });
const client = new client_secrets_manager_1.SecretsManagerClient({ region: process.env.AWS_DEFAULT_REGION, customUserAgent: (0, constants_1.getUserAgent)() });
const secretConfigInputs = [...new Set(core.getMultilineInput('secret-ids'))];
const parseJsonSecrets = core.getBooleanInput('parse-json-secrets');
const nameTransformation = (0, utils_1.parseTransformationFunction)(core.getInput('name-transformation'));
Expand Down Expand Up @@ -91086,6 +91093,14 @@ module.exports = /*#__PURE__*/JSON.parse('{"name":"@aws-sdk/nested-clients","ver
"use strict";
module.exports = /*#__PURE__*/JSON.parse('[{"name":"Appcircle","constant":"APPCIRCLE","env":"AC_APPCIRCLE"},{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN"},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"TF_BUILD","pr":{"BUILD_REASON":"PullRequest"}},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"Codefresh","constant":"CODEFRESH","env":"CF_BUILD_ID","pr":{"any":["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{"name":"Codemagic","constant":"CODEMAGIC","env":"CM_BUILD_ID","pr":"CM_PULL_REQUEST"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"Expo Application Services","constant":"EAS","env":"EAS_BUILD"},{"name":"Gerrit","constant":"GERRIT","env":"GERRIT_PROJECT"},{"name":"GitHub Actions","constant":"GITHUB_ACTIONS","env":"GITHUB_ACTIONS","pr":{"GITHUB_EVENT_NAME":"pull_request"}},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI","pr":"CI_MERGE_REQUEST_ID"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Google Cloud Build","constant":"GOOGLE_CLOUD_BUILD","env":"BUILDER_OUTPUT"},{"name":"Harness CI","constant":"HARNESS","env":"HARNESS_BUILD_ID"},{"name":"Heroku","constant":"HEROKU","env":{"env":"NODE","includes":"/app/.heroku/node/bin/node"}},{"name":"Hudson","constant":"HUDSON","env":"HUDSON_URL"},{"name":"Jenkins","constant":"JENKINS","env":["JENKINS_URL","BUILD_ID"],"pr":{"any":["ghprbPullId","CHANGE_ID"]}},{"name":"LayerCI","constant":"LAYERCI","env":"LAYERCI","pr":"LAYERCI_PULL_REQUEST"},{"name":"Magnum CI","constant":"MAGNUM","env":"MAGNUM"},{"name":"Netlify CI","constant":"NETLIFY","env":"NETLIFY","pr":{"env":"PULL_REQUEST","ne":"false"}},{"name":"Nevercode","constant":"NEVERCODE","env":"NEVERCODE","pr":{"env":"NEVERCODE_PULL_REQUEST","ne":"false"}},{"name":"ReleaseHub","constant":"RELEASEHUB","env":"RELEASE_BUILD_ID"},{"name":"Render","constant":"RENDER","env":"RENDER","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Sail CI","constant":"SAIL","env":"SAILCI","pr":"SAIL_PULL_REQUEST_NUMBER"},{"name":"Screwdriver","constant":"SCREWDRIVER","env":"SCREWDRIVER","pr":{"env":"SD_PULL_REQUEST","ne":"false"}},{"name":"Semaphore","constant":"SEMAPHORE","env":"SEMAPHORE","pr":"PULL_REQUEST_NUMBER"},{"name":"Shippable","constant":"SHIPPABLE","env":"SHIPPABLE","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Solano CI","constant":"SOLANO","env":"TDDIUM","pr":"TDDIUM_PR_ID"},{"name":"Sourcehut","constant":"SOURCEHUT","env":{"CI_NAME":"sourcehut"}},{"name":"Strider CD","constant":"STRIDER","env":"STRIDER"},{"name":"TaskCluster","constant":"TASKCLUSTER","env":["TASK_ID","RUN_ID"]},{"name":"TeamCity","constant":"TEAMCITY","env":"TEAMCITY_VERSION"},{"name":"Travis CI","constant":"TRAVIS","env":"TRAVIS","pr":{"env":"TRAVIS_PULL_REQUEST","ne":"false"}},{"name":"Vercel","constant":"VERCEL","env":{"any":["NOW_BUILDER","VERCEL"]},"pr":"VERCEL_GIT_PULL_REQUEST_ID"},{"name":"Visual Studio App Center","constant":"APPCENTER","env":"APPCENTER_BUILD_ID"},{"name":"Woodpecker","constant":"WOODPECKER","env":{"CI":"woodpecker"},"pr":{"CI_BUILD_EVENT":"pull_request"}},{"name":"Xcode Cloud","constant":"XCODE_CLOUD","env":"CI_XCODE_PROJECT","pr":"CI_PULL_REQUEST_NUMBER"},{"name":"Xcode Server","constant":"XCODE_SERVER","env":"XCS"}]');

/***/ }),

/***/ 8330:
/***/ ((module) => {

"use strict";
module.exports = /*#__PURE__*/JSON.parse('{"name":"aws-secretsmanager-get-secrets","version":"2.0.11","description":"GitHub action for retrieving secrets from AWS Secrets Manager","main":"dist/index.js","scripts":{"test":"npm run lint && jest --coverage --verbose __tests__","integration-test":"jest --coverage --verbose","lint":"eslint src/**.ts","fix":"eslint src/** --fix","build":"tsc && ncc build ./src/index.ts --source-map --license licenses.txt && ncc build ./src/cleanup.ts -o dist/cleanup"},"repository":{"type":"git","url":"git+https://github.com/aws-actions/aws-secretsmanager-get-secrets.git"},"keywords":["AWS","SecretsManager","GitHub","Actions"],"author":"","license":"ISC","bugs":{"url":"https://github.com/aws-actions/aws-secretsmanager-get-secrets/issues"},"homepage":"https://github.com/aws-actions/aws-secretsmanager-get-secrets#readme","dependencies":{"@actions/core":"^1.10.0","@actions/github":"^6.0.0","@aws-sdk/client-secrets-manager":"^3.606.0"},"devDependencies":{"@types/jest":"^29.5.12","@typescript-eslint/eslint-plugin":"^6.20.0","@typescript-eslint/parser":"^6.20.0","@vercel/ncc":"^0.38.1","aws-sdk-client-mock":"^4.0.1","aws-sdk-client-mock-jest":"^4.0.1","eslint":"^8.57.0","jest":"^29.7.0","ts-jest":"^29.1.5"}}');

/***/ })

/******/ });
Expand Down
2 changes: 1 addition & 1 deletion dist/index.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "aws-secretsmanager-get-secrets",
"version": "1.0.0",
"version": "2.0.11",
"description": "GitHub action for retrieving secrets from AWS Secrets Manager",
"main": "dist/index.js",
"scripts": {
Expand Down
8 changes: 8 additions & 0 deletions src/constants.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
export const LIST_SECRETS_MAX_RESULTS = 100;
export const CLEANUP_NAME = 'SECRETS_LIST_CLEAN_UP';

// eslint-disable-next-line @typescript-eslint/no-var-requires
const packageJson = require('../package.json');
export const ACTION_VERSION = `v${packageJson.version}`;

export function getUserAgent(): string {
return `github-action/${ACTION_VERSION}`;
}
4 changes: 2 additions & 2 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {
SecretValueResponse, isJSONString,
parseTransformationFunction
} from "./utils";
import { CLEANUP_NAME } from "./constants";
import { CLEANUP_NAME, getUserAgent } from "./constants";

export async function run(): Promise<void> {
try {
Expand All @@ -32,7 +32,7 @@ export async function run(): Promise<void> {


// Default client region is set by configure-aws-credentials
const client : SecretsManagerClient = new SecretsManagerClient({region: process.env.AWS_DEFAULT_REGION, customUserAgent: "github-action"});
const client : SecretsManagerClient = new SecretsManagerClient({region: process.env.AWS_DEFAULT_REGION, customUserAgent: getUserAgent()});
const secretConfigInputs: string[] = [...new Set(core.getMultilineInput('secret-ids'))];
const parseJsonSecrets = core.getBooleanInput('parse-json-secrets');
const nameTransformation = parseTransformationFunction(core.getInput('name-transformation'));
Expand Down
Loading