-
Notifications
You must be signed in to change notification settings - Fork 18
/
.projenrc.js
119 lines (109 loc) · 2.85 KB
/
.projenrc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
const { ProjectType } = require('projen');
const { awscdk } = require('projen');
const { JobPermission } = require('projen/lib/github/workflows-model');
const project = new awscdk.AwsCdkConstructLibrary({
author: 'Sebastian Hesse',
authorAddress: 'info@sebastianhesse.de',
cdkVersion: '2.22.0',
defaultReleaseBranch: 'main',
jsiiFqn: 'projen.AwsCdkConstructLibrary',
name: 'ses-verify-identities',
description: 'AWS CDK constructs to verify SES identities like domains and email addresses.',
repositoryUrl: 'git@github.com:seeebiii/ses-verify-identities.git',
/* AwsCdkConstructLibraryOptions */
cdkVersionPinning: false,
/* ConstructLibraryOptions */
catalog: {
twitter: '@seeebiii',
announce: true,
},
/* JsiiProjectOptions */
publishToMaven: {
javaPackage: 'de.sebastianhesse.cdk.ses.verify.constructs',
mavenGroupId: 'de.sebastianhesse.cdk-constructs',
mavenArtifactId: 'ses-verify-identities',
},
publishToNuget: {
dotNetNamespace: 'SebastianHesse.CdkConstructs',
packageId: 'Ses.Verify.Identities',
},
publishToPypi: {
distName: 'ses-verify-identities',
module: 'ses_verify_identities',
},
/* NodePackageOptions */
entrypoint: 'lib/index.js',
homepage: 'https://github.com/seeebiii/ses-verify-identities',
keywords: [
'aws',
'aws-cdk',
'aws-ses',
'cdk-construct',
'cdk',
'email',
'domain',
'SES identities',
'SES verification',
],
license: 'MIT',
licensed: true,
packageName: '@seeebiii/ses-verify-identities',
repository: 'https://github.com/seeebiii/ses-verify-identities',
/* NodeProjectOptions */
antitamper: false,
copyrightOwner: 'Sebastian Hesse',
gitignore: ['.idea'],
jestOptions: {
jestConfig: {
rootDir: '.',
roots: ['<rootDir>/test'],
},
},
npmignore: ['.github'],
releaseEveryCommit: true,
releaseToNpm: true,
releaseWorkflow: true,
projectType: ProjectType.LIB,
dependabotOptions: {
autoMerge: true,
},
githubOptions: {
mergify: false,
},
});
const autoMerge = project.github.addWorkflow('AutoMerge');
autoMerge.on({
pullRequest: {
types: ['labeled', 'opened', 'reopened'],
},
checkSuite: {
types: ['completed'],
},
});
autoMerge.addJobs({
automerge: {
runsOn: 'ubuntu-latest',
permissions: {
pullRequests: JobPermission.WRITE,
checks: JobPermission.WRITE,
contents: JobPermission.WRITE,
},
steps: [
{
uses: 'actions/checkout@v3',
},
{
name: 'automerge',
uses: 'pascalgn/automerge-action@v0.15.5',
env: {
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}',
MERGE_LABELS: 'dependencies,!wip,!work in progress',
MERGE_FILTER_AUTHOR: 'seeebiii',
MERGE_DELETE_BRANCH: 'true',
MERGE_RETRY_SLEEP: '60000',
},
},
],
},
});
project.synth();