chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1 @@
|
||||
node_modules
|
||||
@@ -0,0 +1,50 @@
|
||||
name: 'SES email action'
|
||||
description: 'Send email with aws ses'
|
||||
inputs:
|
||||
region:
|
||||
description: 'aws region'
|
||||
required: true
|
||||
default: ''
|
||||
version:
|
||||
description: 'doltgres version being benchmarked or ref of bats windows job'
|
||||
required: true
|
||||
default: ''
|
||||
format:
|
||||
description: 'doltgres noms bin format'
|
||||
required: true
|
||||
default: '__DOLT__'
|
||||
template:
|
||||
description: 'email template'
|
||||
required: false
|
||||
default: 'PerformanceBenchmarkingReleaseTemplate'
|
||||
dataFile:
|
||||
required: false
|
||||
description: 'path to email data file'
|
||||
default: ''
|
||||
bodyPath:
|
||||
required: false
|
||||
description: 'path to email body file'
|
||||
default: ''
|
||||
subject:
|
||||
required: false
|
||||
description: 'path to email subject'
|
||||
default: ''
|
||||
toAddresses:
|
||||
description: 'json string list of to addresses'
|
||||
required: true
|
||||
default: "[]"
|
||||
ccAddresses:
|
||||
description: 'json string list of cc addresses'
|
||||
required: false
|
||||
default: "[]"
|
||||
replyToAddresses:
|
||||
description: 'json string list of reply to addresses'
|
||||
required: false
|
||||
default: "[]"
|
||||
workflowURL:
|
||||
description: 'url of the workflow run'
|
||||
default: ''
|
||||
required: false
|
||||
runs:
|
||||
using: 'node20'
|
||||
main: 'dist/index.js'
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,50 @@
|
||||
const core = require('@actions/core');
|
||||
const { SES } = require("@aws-sdk/client-ses");
|
||||
|
||||
const fs = require('fs');
|
||||
|
||||
const region = core.getInput('region');
|
||||
const version = core.getInput('version');
|
||||
const format = core.getInput('format');
|
||||
const Template = core.getInput('template');
|
||||
const dataFilePath = core.getInput('dataFile');
|
||||
const CcAddresses = JSON.parse(core.getInput('ccAddresses'));
|
||||
const ToAddresses = JSON.parse(core.getInput('toAddresses'));
|
||||
const ReplyToAddresses = JSON.parse(core.getInput('replyToAddresses'));
|
||||
const workflowURL = core.getInput('workflowURL');
|
||||
const subject = core.getInput('subject');
|
||||
const bodyPath = core.getInput('bodyPath');
|
||||
|
||||
const data = dataFilePath ? fs.readFileSync(dataFilePath, { encoding: 'utf-8' }) : "";
|
||||
const body = bodyPath ? fs.readFileSync(bodyPath, { encoding: 'utf-8' }) : "";
|
||||
|
||||
const templated = {
|
||||
version,
|
||||
format,
|
||||
results: data,
|
||||
workflowURL,
|
||||
subject,
|
||||
body,
|
||||
};
|
||||
|
||||
// Create sendEmail params
|
||||
const params = {
|
||||
Destination: { /* required */
|
||||
CcAddresses,
|
||||
ToAddresses,
|
||||
},
|
||||
Source: 'github-actions-bot@corp.ld-corp.com', /* required */
|
||||
Template,
|
||||
TemplateData: JSON.stringify(templated),
|
||||
ReplyToAddresses,
|
||||
};
|
||||
|
||||
console.log(params)
|
||||
|
||||
// Create the promise and SES service object
|
||||
const sendPromise = new SES({region}).sendTemplatedEmail(params);
|
||||
|
||||
// Handle promise's fulfilled/rejected states
|
||||
sendPromise
|
||||
.then((data) => console.log("Successfully sent email:", data.MessageId))
|
||||
.catch((err) => console.error(err, err.stack));
|
||||
+1425
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"name": "ses-email-action",
|
||||
"version": "0.1.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"keywords": [],
|
||||
"author": "dolthub",
|
||||
"license": "ISC",
|
||||
"scripts": {
|
||||
"build": "ncc build index.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.11.1",
|
||||
"@aws-sdk/client-ses": "^3.1038.0"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user