Skip to content

Commit db91bd0

Browse files
committed
add outputs
1 parent 8a11aa1 commit db91bd0

File tree

7 files changed

+93
-12
lines changed

7 files changed

+93
-12
lines changed

action.yml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,30 @@ inputs:
4848
default: 'true'
4949
required: false
5050

51+
set-outputs:
52+
description: |-
53+
If true, the action will setting credentials as action outputs, including:
54+
- access-key-id
55+
- access-key-secret
56+
- security-token
57+
default: 'true'
58+
required: false
59+
5160
retries:
5261
description: |-
5362
Number of times to retry a failed authentication attempt.
5463
default: '3'
5564
required: false
5665

57-
outputs: {}
66+
outputs:
67+
access-key-id:
68+
description: access key id
69+
70+
access-key-secret:
71+
description: access key secret
72+
73+
security-token:
74+
description: security token
5875

5976
branding:
6077
icon: 'lock'

dist/index.js

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15657,11 +15657,16 @@ function main() {
1565715657
const durationSeconds = Number(core.getInput('role-duration-seconds', { required: false }));
1565815658
const sessionName = core.getInput('role-session-name', { required: false });
1565915659
const exportEnvs = core.getBooleanInput('export-environment-variables', { required: false });
15660+
const setOutputs = core.getBooleanInput('set-outputs', { required: false });
1566015661
const { accessKeyId, accessKeySecret, securityToken } = yield assumeRole(region, roleArn, oidcArn, oidcToken, durationSeconds, sessionName);
1566115662
if (exportEnvs) {
1566215663
// @ts-ignore
1566315664
utils.exportEnvs(accessKeyId, accessKeySecret, securityToken);
1566415665
}
15666+
if (setOutputs) {
15667+
// @ts-ignore
15668+
utils.setOutputs(accessKeyId, accessKeySecret, securityToken);
15669+
}
1566515670
});
1566615671
}
1566715672
function run() {
@@ -15707,13 +15712,16 @@ var __importStar = (this && this.__importStar) || function (mod) {
1570715712
return result;
1570815713
};
1570915714
Object.defineProperty(exports, "__esModule", ({ value: true }));
15710-
exports.exportEnvs = void 0;
15715+
exports.setOutputs = exports.exportEnvs = void 0;
1571115716
const core = __importStar(__nccwpck_require__(2186));
1571215717
function exportEnvs(accessKeyId, accessKeySecret, securityToken) {
15713-
if (accessKeySecret !== "") {
15718+
if (accessKeyId) {
15719+
core.setSecret(accessKeyId);
15720+
}
15721+
if (accessKeySecret) {
1571415722
core.setSecret(accessKeySecret);
1571515723
}
15716-
if (securityToken !== "") {
15724+
if (securityToken) {
1571715725
core.setSecret(securityToken);
1571815726
}
1571915727
core.exportVariable('ALIBABA_CLOUD_ACCESS_KEY_ID', accessKeyId);
@@ -15728,6 +15736,21 @@ function exportEnvs(accessKeyId, accessKeySecret, securityToken) {
1572815736
core.exportVariable('ALIBABACLOUD_SECURITY_TOKEN', securityToken);
1572915737
}
1573015738
exports.exportEnvs = exportEnvs;
15739+
function setOutputs(accessKeyId, accessKeySecret, securityToken) {
15740+
if (accessKeyId) {
15741+
core.setSecret(accessKeyId);
15742+
}
15743+
if (accessKeySecret) {
15744+
core.setSecret(accessKeySecret);
15745+
}
15746+
if (securityToken) {
15747+
core.setSecret(securityToken);
15748+
}
15749+
core.setOutput('access-key-id', accessKeyId);
15750+
core.setOutput('access-key-secret', accessKeySecret);
15751+
core.setOutput('security-token', securityToken);
15752+
}
15753+
exports.setOutputs = setOutputs;
1573115754

1573215755

1573315756
/***/ }),

dist/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/post/index.js

Lines changed: 21 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/post/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import Credential, { Config } from '@alicloud/credentials';
77
import * as teaUtil from '@alicloud/tea-util';
88
import { withRetries } from '@google-github-actions/actions-utils';
99
import * as utils from "./utils";
10+
import {setOutputs} from "./utils";
1011

1112
async function assumeRole(region: string, roleArn: string, oidcArn: string,
1213
oidcToken: string, durationSeconds: Number, sessionName: string) {
@@ -54,6 +55,7 @@ async function main() {
5455
const durationSeconds = Number(core.getInput('role-duration-seconds', { required: false }));
5556
const sessionName = core.getInput('role-session-name', { required: false });
5657
const exportEnvs = core.getBooleanInput('export-environment-variables', { required: false });
58+
const setOutputs = core.getBooleanInput('set-outputs', { required: false });
5759

5860
const { accessKeyId, accessKeySecret, securityToken } = await assumeRole(
5961
region, roleArn, oidcArn, oidcToken, durationSeconds, sessionName);
@@ -62,6 +64,10 @@ async function main() {
6264
// @ts-ignore
6365
utils.exportEnvs(accessKeyId, accessKeySecret, securityToken);
6466
}
67+
if (setOutputs) {
68+
// @ts-ignore
69+
utils.setOutputs(accessKeyId, accessKeySecret, securityToken);
70+
}
6571
}
6672

6773
async function run() {

src/utils.ts

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
'use strict';
22

33
import * as core from "@actions/core";
4-
import {setSecret} from "@actions/core";
54

65
export function exportEnvs(accessKeyId: string, accessKeySecret: string, securityToken: string) {
7-
if (accessKeySecret !== "") {
6+
if (accessKeyId) {
7+
core.setSecret(accessKeyId)
8+
}
9+
if (accessKeySecret) {
810
core.setSecret(accessKeySecret)
911
}
10-
if (securityToken !== "") {
12+
if (securityToken) {
1113
core.setSecret(securityToken)
1214
}
1315
core.exportVariable('ALIBABA_CLOUD_ACCESS_KEY_ID', accessKeyId);
@@ -21,3 +23,18 @@ export function exportEnvs(accessKeyId: string, accessKeySecret: string, securit
2123
core.exportVariable('ALICLOUD_ACCESS_KEY_STS_TOKEN', securityToken);
2224
core.exportVariable('ALIBABACLOUD_SECURITY_TOKEN', securityToken);
2325
}
26+
27+
export function setOutputs(accessKeyId: string, accessKeySecret: string, securityToken: string) {
28+
if (accessKeyId) {
29+
core.setSecret(accessKeyId)
30+
}
31+
if (accessKeySecret) {
32+
core.setSecret(accessKeySecret)
33+
}
34+
if (securityToken) {
35+
core.setSecret(securityToken)
36+
}
37+
core.setOutput('access-key-id', accessKeyId);
38+
core.setOutput('access-key-secret', accessKeySecret);
39+
core.setOutput('security-token', securityToken);
40+
}

0 commit comments

Comments
 (0)