@nikovirtala/cdk-codebuild-hosted-github-actions-runner 1.0.337 → 1.0.338

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -4264,6 +4264,6 @@
4264
4264
  "symbolId": "src/index:CodebuildHostedGitHubActionsRunnerProps"
4265
4265
  }
4266
4266
  },
4267
- "version": "1.0.337",
4268
- "fingerprint": "GnieAm7f0tb2mRMI4SyLL1+z9lKLXW7KzjEm0D+I92E="
4267
+ "version": "1.0.338",
4268
+ "fingerprint": "qZYlFCIu4LL7LgWQeCiHM1xLfrBeMtqUNWC3cQBUqmM="
4269
4269
  }
@@ -0,0 +1,14 @@
1
+ # Product Overview
2
+
3
+ This is an AWS CDK construct library that creates CodeBuild projects for running GitHub Actions workflows. It enables users to leverage AWS infrastructure as self-hosted runners for GitHub Actions, providing a scalable and cost-effective CI/CD solution.
4
+
5
+ ## Key Features
6
+
7
+ - Creates AWS CodeBuild projects configured as GitHub Actions runners
8
+ - Supports both public and private GitHub repositories via Secrets Manager integration
9
+ - Webhook-based triggering on GitHub workflow job events
10
+ - Published as a public npm package: `@nikovirtala/cdk-codebuild-hosted-github-actions-runner`
11
+
12
+ ## Target Users
13
+
14
+ Developers and DevOps engineers using AWS CDK who want to run GitHub Actions workflows on AWS infrastructure instead of GitHub-hosted runners.
@@ -0,0 +1,67 @@
1
+ # Project Structure
2
+
3
+ ## Directory Layout
4
+
5
+ ```
6
+ .
7
+ ├── src/ # Source code
8
+ │ └── index.ts # Main construct implementation
9
+ ├── .projen/ # Projen metadata (generated)
10
+ ├── .github/ # GitHub workflows and configuration
11
+ ├── .kiro/ # Kiro AI assistant configuration
12
+ │ └── steering/ # AI steering documents
13
+ ├── .vscode/ # VS Code settings
14
+ ├── .projenrc.ts # Projen configuration (source of truth)
15
+ ├── package.json # Package metadata (generated)
16
+ ├── biome.jsonc # Biome configuration (generated)
17
+ ├── tsconfig.dev.json # TypeScript configuration (generated)
18
+ ├── API.md # API documentation (generated)
19
+ └── README.md # Project documentation
20
+ ```
21
+
22
+ ## Source Organization
23
+
24
+ ### `src/index.ts`
25
+
26
+ The main entry point containing:
27
+
28
+ - **Interface**: `CodebuildHostedGitHubActionsRunnerProps` - Configuration properties for the construct
29
+ - **Class**: `CodebuildHostedGitHubActionsRunner` - The main CDK construct
30
+
31
+ ## Architecture Patterns
32
+
33
+ ### CDK Construct Pattern
34
+
35
+ - Extends `Construct` from the `constructs` library
36
+ - Accepts props interface for configuration
37
+ - Exposes public readonly properties (e.g., `project`)
38
+ - Uses composition to create AWS resources
39
+
40
+ ### Resource Naming
41
+
42
+ - Default project names follow pattern: `${repositoryOwner}-${repositoryName}`
43
+ - Allow optional override via `codeBuildProjectName` prop
44
+
45
+ ### Conditional Resource Creation
46
+
47
+ - GitHub source credentials are only created when `tokenSecretArn` is provided
48
+ - Supports both public and private repository scenarios
49
+
50
+ ## Generated Files
51
+
52
+ **DO NOT manually edit these files** - they are managed by Projen:
53
+
54
+ - `package.json`
55
+ - `tsconfig.dev.json`
56
+ - `biome.jsonc`
57
+ - `.projen/**`
58
+ - `.github/workflows/**`
59
+ - API.md
60
+
61
+ To modify these, edit `.projenrc.ts` and run `npx projen`.
62
+
63
+ ## Import Conventions
64
+
65
+ - Use named imports from `aws-cdk-lib` submodules (e.g., `aws_codebuild`, `aws_secretsmanager`)
66
+ - Import `Construct` from `constructs` package
67
+ - Keep imports organized and minimal
@@ -0,0 +1,71 @@
1
+ # Technology Stack
2
+
3
+ ## Build System
4
+
5
+ This project uses **Projen** for project configuration and build management. All configuration is defined in `.projenrc.ts`.
6
+
7
+ - **DO NOT** manually edit generated files (marked with "Generated by projen" comments)
8
+ - To modify configuration, edit `.projenrc.ts` and run `npx projen`
9
+
10
+ ## Core Technologies
11
+
12
+ - **Language**: TypeScript 5.9.3
13
+ - **Package Manager**: pnpm (version 10)
14
+ - **CDK Version**: AWS CDK 2.221.1
15
+ - **JSII**: ~5.9.3 (for multi-language package generation)
16
+ - **Code Quality**: Biome (formatting and linting)
17
+
18
+ ## Key Dependencies
19
+
20
+ - `aws-cdk-lib`: AWS CDK core library
21
+ - `constructs`: CDK constructs base library
22
+
23
+ ## Code Style
24
+
25
+ ### Formatting (Biome)
26
+
27
+ - **Indent**: 4 spaces
28
+ - **Line Width**: 120 characters
29
+ - **Quote Style**: Double quotes
30
+ - **Format on Save**: Enabled in VS Code
31
+
32
+ ### Linting
33
+
34
+ - Biome linter with recommended rules enabled
35
+ - No ESLint (explicitly disabled)
36
+ - No Prettier (explicitly disabled)
37
+
38
+ ## Common Commands
39
+
40
+ ```bash
41
+ # Build the project
42
+ npm run build
43
+
44
+ # Compile TypeScript
45
+ npm run compile
46
+
47
+ # Run Biome formatter and linter
48
+ npm run biome
49
+
50
+ # Generate API documentation
51
+ npm run docgen
52
+
53
+ # Run tests
54
+ npm run test
55
+
56
+ # Package for distribution
57
+ npm run package
58
+
59
+ # Update dependencies
60
+ npm run upgrade
61
+
62
+ # Regenerate projen configuration
63
+ npm run projen
64
+ ```
65
+
66
+ ## Development Workflow
67
+
68
+ 1. Make changes to source files in `src/`
69
+ 2. Run `npm run build` to compile and validate
70
+ 3. Biome will automatically format and lint on save (if using VS Code)
71
+ 4. For configuration changes, edit `.projenrc.ts` and run `npx projen`
package/lib/index.js CHANGED
@@ -28,5 +28,5 @@ class CodebuildHostedGitHubActionsRunner extends constructs_1.Construct {
28
28
  }
29
29
  exports.CodebuildHostedGitHubActionsRunner = CodebuildHostedGitHubActionsRunner;
30
30
  _a = JSII_RTTI_SYMBOL_1;
31
- CodebuildHostedGitHubActionsRunner[_a] = { fqn: "@nikovirtala/cdk-codebuild-hosted-github-actions-runner.CodebuildHostedGitHubActionsRunner", version: "1.0.337" };
31
+ CodebuildHostedGitHubActionsRunner[_a] = { fqn: "@nikovirtala/cdk-codebuild-hosted-github-actions-runner.CodebuildHostedGitHubActionsRunner", version: "1.0.338" };
32
32
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBZ0U7QUFDaEUsMkNBQXVDO0FBK0J2QyxNQUFhLGtDQUFtQyxTQUFRLHNCQUFTO0lBRzdELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBOEM7UUFDcEYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFeEYsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNqQixNQUFNLE1BQU0sR0FBRyxnQ0FBa0IsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQztZQUVwRyxJQUFJLDJCQUFhLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFFO2dCQUN2RSxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7YUFDbEMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSwyQkFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3RELFdBQVcsRUFBRSxvQkFBb0IsSUFBSSxHQUFHLGVBQWUsSUFBSSxjQUFjLEVBQUU7WUFDM0UsTUFBTSxFQUFFLDJCQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDaEMsS0FBSyxFQUFFLGVBQWU7Z0JBQ3RCLElBQUksRUFBRSxjQUFjO2dCQUNwQixPQUFPLEVBQUUsSUFBSTtnQkFDYixjQUFjLEVBQUUsQ0FBQywyQkFBYSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsMkJBQWEsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUN2RyxDQUFDO1NBQ0wsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7QUF6QkwsZ0ZBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzX2NvZGVidWlsZCwgYXdzX3NlY3JldHNtYW5hZ2VyIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvZGVidWlsZEhvc3RlZEdpdEh1YkFjdGlvbnNSdW5uZXJQcm9wcyB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIENvZGVCdWlsZCBwcm9qZWN0LlxuICAgICAqIEBkZWZhdWx0IC0gQSBuYW1lIGlzIGdlbmVyYXRlZCBiYXNlZCBvbiB0aGUgcmVwb3NpdG9yeSBvd25lciBhbmQgbmFtZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBjb2RlQnVpbGRQcm9qZWN0TmFtZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBvd25lciBvZiB0aGUgR2l0SHViIHJlcG9zaXRvcnkuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVwb3NpdG9yeU93bmVyOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgR2l0SHViIHJlcG9zaXRvcnkuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVwb3NpdG9yeU5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBBUk4gb2YgdGhlIFNlY3JldHMgTWFuYWdlciBzZWNyZXQgY29udGFpbmluZyB0aGUgR2l0SHViIHRva2VuLlxuICAgICAqXG4gICAgICogTm90ZSEgQ29kZUJ1aWxkIG9ubHkgYWxsb3dzIGEgc2luZ2xlIGNyZWRlbnRpYWwgZm9yIEdpdEh1YlxuICAgICAqIHRvIGJlIHNhdmVkIGluIGEgZ2l2ZW4gQVdTIGFjY291bnQgaW4gYSBnaXZlbiByZWdpb24gLVxuICAgICAqIGFueSBhdHRlbXB0IHRvIGFkZCBtb3JlIHRoYW4gb25lIHdpbGwgcmVzdWx0IGluIGFuIGVycm9yLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBObyBHaXRIdWIgdG9rZW4gaXMgdXNlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSB0b2tlblNlY3JldEFybj86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIENvZGVidWlsZEhvc3RlZEdpdEh1YkFjdGlvbnNSdW5uZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBhd3NfY29kZWJ1aWxkLklQcm9qZWN0O1xuXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENvZGVidWlsZEhvc3RlZEdpdEh1YkFjdGlvbnNSdW5uZXJQcm9wcykge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgICAgIGNvbnN0IHsgY29kZUJ1aWxkUHJvamVjdE5hbWUsIHJlcG9zaXRvcnlPd25lciwgcmVwb3NpdG9yeU5hbWUsIHRva2VuU2VjcmV0QXJuIH0gPSBwcm9wcztcblxuICAgICAgICBpZiAodG9rZW5TZWNyZXRBcm4pIHtcbiAgICAgICAgICAgIGNvbnN0IHNlY3JldCA9IGF3c19zZWNyZXRzbWFuYWdlci5TZWNyZXQuZnJvbVNlY3JldENvbXBsZXRlQXJuKHRoaXMsIFwiR2l0SHViVG9rZW5cIiwgdG9rZW5TZWNyZXRBcm4pO1xuXG4gICAgICAgICAgICBuZXcgYXdzX2NvZGVidWlsZC5HaXRIdWJTb3VyY2VDcmVkZW50aWFscyh0aGlzLCBcIkdpdEh1YlNvdXJjZUNyZWRlbnRpYWxzXCIsIHtcbiAgICAgICAgICAgICAgICBhY2Nlc3NUb2tlbjogc2VjcmV0LnNlY3JldFZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByb2plY3QgPSBuZXcgYXdzX2NvZGVidWlsZC5Qcm9qZWN0KHRoaXMsIFwiUHJvamVjdFwiLCB7XG4gICAgICAgICAgICBwcm9qZWN0TmFtZTogY29kZUJ1aWxkUHJvamVjdE5hbWUgPz8gYCR7cmVwb3NpdG9yeU93bmVyfS0ke3JlcG9zaXRvcnlOYW1lfWAsXG4gICAgICAgICAgICBzb3VyY2U6IGF3c19jb2RlYnVpbGQuU291cmNlLmdpdEh1Yih7XG4gICAgICAgICAgICAgICAgb3duZXI6IHJlcG9zaXRvcnlPd25lcixcbiAgICAgICAgICAgICAgICByZXBvOiByZXBvc2l0b3J5TmFtZSxcbiAgICAgICAgICAgICAgICB3ZWJob29rOiB0cnVlLFxuICAgICAgICAgICAgICAgIHdlYmhvb2tGaWx0ZXJzOiBbYXdzX2NvZGVidWlsZC5GaWx0ZXJHcm91cC5pbkV2ZW50T2YoYXdzX2NvZGVidWlsZC5FdmVudEFjdGlvbi5XT1JLRkxPV19KT0JfUVVFVUVEKV0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
package/package.json CHANGED
@@ -45,7 +45,7 @@
45
45
  "publishConfig": {
46
46
  "access": "public"
47
47
  },
48
- "version": "1.0.337",
48
+ "version": "1.0.338",
49
49
  "types": "lib/index.d.ts",
50
50
  "stability": "stable",
51
51
  "jsii": {