3 Commits

Author SHA1 Message Date
Dan Molik
c243dcc946 actually build the thing 2022-10-13 12:26:42 -04:00
Dan Molik
e5aa7db291 fix irsa support 2022-10-13 11:10:39 -04:00
Dan Molik
55608bd7c6 fully support IRSA 2022-10-13 10:56:51 -04:00
5 changed files with 28614 additions and 5455 deletions

9882
dist/restore/index.js vendored

File diff suppressed because it is too large Load Diff

9882
dist/save/index.js vendored

File diff suppressed because it is too large Load Diff

14281
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "cache-s3",
"version": "1.0.0",
"name": "actions-s3-caching",
"version": "1.0.3",
"private": true,
"description": "Cache dependencies and build outputs",
"main": "dist/restore/index.js",
@@ -13,7 +13,7 @@
},
"repository": {
"type": "git",
"url": "git+https://github.com/dmolik/actions-cache-s3.git"
"url": "git+https://github.com/dmolik/actions-s3-caching.git"
},
"keywords": [
"actions",
@@ -28,7 +28,9 @@
"@actions/exec": "^1.0.1",
"@actions/io": "^1.1.0",
"@aws-sdk/client-s3": "^3.51.0",
"@aws-sdk/types": "^3.50.0"
"@aws-sdk/types": "^3.50.0",
"@aws-sdk/client-sts": "^3.50.0",
"@aws-sdk/credential-provider-web-identity": "^3.50.0"
},
"devDependencies": {
"@types/jest": "^27.4.0",

View File

@@ -1,8 +1,8 @@
import * as core from "@actions/core";
import { Inputs, Outputs, RefKey, State } from "../constants";
import {CommonPrefix, InputSerialization, S3ClientConfig} from "@aws-sdk/client-s3";
import { CommonPrefix, InputSerialization, S3ClientConfig } from "@aws-sdk/client-s3";
import { fromTokenFile } from "@aws-sdk/credential-provider-web-identity";
import { getDefaultRoleAssumerWithWebIdentity } from "@aws-sdk/client-sts";
export function isGhes(): boolean {
const ghUrl = new URL(
@@ -82,12 +82,18 @@ export function getInputS3ClientConfig(): S3ClientConfig | undefined {
if (!s3BucketName) {
return undefined
}
const credentials = core.getInput(Inputs.AWSAccessKeyId) ? {
credentials: {
accessKeyId: core.getInput(Inputs.AWSAccessKeyId),
secretAccessKey: core.getInput(Inputs.AWSSecretAccessKey)
}
} : null
} : {
credentials: fromTokenFile({
roleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity(),
})
}
const s3config = {
...credentials,
region: core.getInput(Inputs.AWSRegion),