projen-pipelines 0.2.13 → 0.2.15
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 +913 -52
- package/API.md +1718 -160
- package/README.md +24 -0
- package/docs/drift-detection.md +264 -0
- package/lib/assign-approver/base.js +1 -1
- package/lib/assign-approver/github.js +1 -1
- package/lib/awscdk/base.js +1 -1
- package/lib/awscdk/bash.js +1 -1
- package/lib/awscdk/github.js +1 -1
- package/lib/awscdk/gitlab.js +1 -1
- package/lib/drift/base.d.ts +64 -0
- package/lib/drift/base.js +18 -0
- package/lib/drift/bash.d.ts +15 -0
- package/lib/drift/bash.js +170 -0
- package/lib/drift/detect-drift.d.ts +54 -0
- package/lib/drift/detect-drift.js +259 -0
- package/lib/drift/github.d.ts +21 -0
- package/lib/drift/github.js +232 -0
- package/lib/drift/gitlab.d.ts +20 -0
- package/lib/drift/gitlab.js +138 -0
- package/lib/drift/index.d.ts +5 -0
- package/lib/drift/index.js +22 -0
- package/lib/drift/step.d.ts +14 -0
- package/lib/drift/step.js +48 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/steps/artifact-steps.js +2 -2
- package/lib/steps/aws-assume-role.step.js +1 -1
- package/lib/steps/registries.d.ts +39 -0
- package/lib/steps/registries.js +43 -7
- package/lib/steps/step.d.ts +6 -1
- package/lib/steps/step.js +14 -10
- package/lib/versioning/computation.js +3 -3
- package/lib/versioning/config.js +2 -2
- package/lib/versioning/outputs.js +5 -5
- package/lib/versioning/setup.js +1 -1
- package/lib/versioning/strategy.js +1 -1
- package/lib/versioning/version-info.js +2 -2
- package/package.json +2 -1
package/.jsii
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
]
|
|
9
9
|
},
|
|
10
10
|
"bin": {
|
|
11
|
+
"detect-drift": "lib/drift/detect-drift.js",
|
|
11
12
|
"pipelines-release": "lib/release.js"
|
|
12
13
|
},
|
|
13
14
|
"bundled": {
|
|
@@ -105,7 +106,7 @@
|
|
|
105
106
|
},
|
|
106
107
|
"name": "projen-pipelines",
|
|
107
108
|
"readme": {
|
|
108
|
-
"markdown": "# Projen Pipelines\n\n[](https://www.npmjs.com/package/projen-pipelines)\n\nProjen Pipelines is an open-source project that automates the generation of CI/CD pipelines using Projen,\na project configuration tool created by the inventor of AWS CDK.\nIt provides high-level abstractions for defining continuous delivery (CD) pipelines for applications,\nspecifically designed to work with the projen project configuration engine.\n\n### Key Features\n\n* Automates code generation for CI/CD pipelines\n* Supports multiple CI/CD platforms (currently GitHub Actions and GitLab CI, with more in development)\n* Provides baked-in proven defaults for pipeline configurations\n* Enables compliance-as-code integration\n* Allows easy switching between different CI/CD platforms without rewriting pipeline configurations\n* Handles complex deployment scenarios with less code\n* Manages AWS infrastructure more efficiently and straightforwardly\n* Automatic versioning with flexible strategies and multiple output targets\n\n### Benefits\n\n* Reduces repetitive work in writing and maintaining pipeline configurations\n* Ensures consistency across projects by using proven defaults\n* Simplifies compliance management by integrating it directly into pipeline definitions\n* Facilitates platform migrations (e.g., from GitHub to GitLab) by abstracting pipeline definitions\n* Provides automatic version tracking and exposure through CloudFormation and SSM Parameter Store\n\n## Beyond AWS CDK: A Vision for Universal CI/CD Pipeline Generation\n\nWhile Projen Pipelines currently focuses on AWS CDK applications, our vision extends far beyond this initial scope.\nWe aim to evolve into a universal CI/CD pipeline generator capable of supporting a wide variety of application types and deployment targets.\n\n### Future Direction:\n\n1. Diverse Application Support: We plan to expand our capabilities to generate pipelines for various application types, including but not limited to:\n * Traditional web applications\n * Terraform / OpenTOFU projects\n * Winglang applications\n1. Multi-Cloud Deployment: While we started with AWS, we aim to support deployments to other major cloud providers like Azure, Google Cloud Platform, and others.\n1. On-Premises and Hybrid Scenarios: We recognize the importance of on-premises and hybrid cloud setups and plan to cater to these deployment models.\n1. Framework Agnostic: Our goal is to make Projen Pipelines adaptable to work with various development frameworks and tools, not just those related to AWS or cloud deployments.\n1. Extensibility: We're designing the system to be easily extensible, allowing the community to contribute modules for new application types, deployment targets, or CI/CD platforms.\n\nBy broadening our scope, we aim to create a tool that can standardize and simplify CI/CD pipeline creation across the entire spectrum of modern application development and deployment scenarios.\nWe invite the community to join us in this journey, contributing ideas, use cases, and code to help realize this vision.\n\n## How Projen Pipelines work\n\n\nUnder the hood, after you define the pipeline and select the target engine you want to work on, we use code generation methods to create the required CI/CD pipeline in your project.\n\nWe are considering allowing the selection of multiple engines going forward - please let us know if this is a feature you would use!\n\n## Getting Started\n\n### Installation\n\nTo install the package, add the package `projen-pipelines` to your projects devDeps in your projen configuration file.\n\nAfter installing the package, you can import and use the constructs to define your CDK Pipelines.\n\nYou will also have to setup an IAM role that can be used by GitHub Actions. For example, create a role named `GithubDeploymentRole` in your deployment account (`123456789012`) with a policy like this to assume the CDK roles of the pipeline stages (AWS account IDs `123456789013` and `123456789014`):\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"Statement1\",\n \"Effect\": \"Allow\",\n \"Action\": \"sts:AssumeRole\",\n \"Resource\": [\n \"arn:aws:iam::123456789013:role/cdk-*-123456789013-*\",\n \"arn:aws:iam::123456789014:role/cdk-*-123456789014-*\"\n ]\n }\n ]\n}\n```\n\nAdd a trust policy to this role as described in this tutorial: [Configuring OpenID Connect in Amazon Web Services](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services)\n\n### Usage with AWS CDK\n\nYou can start using the constructs provided by Projen Pipelines in your AWS CDK applications. Here's a brief example:\n\n```typescript\nimport { awscdk } from 'projen';\nimport { GithubCDKPipeline } from 'projen-pipelines';\n\n// Define your AWS CDK TypeScript App\nconst app = new awscdk.AwsCdkTypeScriptApp({\n cdkVersion: '2.150.0',\n name: 'my-awesome-app',\n defaultReleaseBranch: 'main',\n devDeps: [\n 'projen-pipelines',\n ],\n});\n\n// Create the pipeline\nnew GithubCDKPipeline(app, {\n stackPrefix: 'MyApp',\n iamRoleArns: {\n default: 'arn:aws:iam::123456789012:role/GithubDeploymentRole',\n },\n pkgNamespace: '@company-assemblies',\n useGithubPackagesForAssembly: true,\n stages: [\n {\n name: 'dev',\n env: { account: '123456789013', region: 'eu-central-1' },\n }, {\n name: 'prod',\n manualApproval: true,\n env: { account: '123456789014', region: 'eu-central-1' },\n }],\n});\n```\n\nAfter running projen (`npx projen`) a new file called `src/app.ts` will be created and contain a specialized CDK App class for your project.\n\nYou can then use this in your `main.ts` to configure your deployment.\n\n```typescript\nimport { PipelineApp } from './app';\nimport { BackendStack } from './stack';\n\nconst app = new PipelineApp({\n provideDevStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: 'api-dev',\n myConfigSetting: 'value-for-dev',\n });\n },\n provideProdStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: 'api',\n myConfigSetting: 'value-for-prod',\n });\n },\n providePersonalStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: `api-${props.stageName}`,\n myConfigSetting: 'value-for-personal-stage',\n });\n },\n});\n\napp.synth();\n```\n\n### Setting Up Trust Relationships Between Accounts\n\nWhen planning to manage multiple staging environments, you will need to establish trust relationships. This process centralizes deployment control, improving operational efficiency and security by consolidating deployment management through a singular, monitored channel. Here is a simplified diagram for the setup:\n\n\n\n#### Step 1: Bootstrapping Each Account\n\nBootstrapping initializes the AWS CDK environment in each account. It prepares the account to work with AWS CDK apps deployed from other accounts. Use the `cdk bootstrap` command for this purpose. Replace `<deployment_account_id>` with the actual AWS account ID of your deployment account.\n\nYou can use the [CloudShell](https://aws.amazon.com/cloudshell/) to bootstrap each staging account:\n\n```bash\ncdk bootstrap --trust <deployment_account_id> --cloudformation-execution-policies \"arn:aws:iam::aws:policy/AdministratorAccess\"\n```\n\n**Note:**\n\nWhile `AdministratorAccess` grants full access to all AWS services and resources, it's not recommended for production environments due to security risks. Instead, create custom IAM policies that grant only the necessary permissions required for deployment operations.\n\n### Deployment\n\nThe `<Engine>CDKPipeline` class creates and adds several tasks to the projen project that then can be used in your pipeline to deploy your application to AWS.\n\nHere's a brief description of each one:\n\n1. **deploy:personal** - This task deploys the application's personal stage, which is a distinct, isolated deployment of the application. The personal stage is intended for personal use, such as testing and development.\n\n2. **watch:personal** - This task deploys the personal stage of the application in watch mode. In this mode, the AWS CDK monitors your application source files for changes, automatically re-synthesizing and deploying when it detects any changes.\n\n3. **diff:personal** - This task compares the deployed personal stage with the current state of the application code. It's used to understand what changes would be made if the application were deployed.\n\n4. **destroy:personal** - This task destroys the resources created for the personal stage of the application.\n\n5. **deploy:feature** - This task deploys the application's feature stage. The feature stage is used for new features testing before these are merged into the main branch.\n\n6. **diff:feature** - This task is similar to `diff:personal`, but for the feature stage.\n\n7. **destroy:feature** - This task destroys the resources created for the feature stage of the application.\n\n8. **deploy:<stageName>** - This task deploys a specific stage of the application (like 'dev' or 'prod').\n\n9. **diff:<stageName>** - This task compares the specified application stage with the current state of the application code.\n\n10. **publish:assets** - This task publishes the CDK assets to all accounts. This is useful when the CDK application uses assets like Docker images or files from the S3 bucket.\n\n11. **bump** - This task bumps the version based on the latest git tag and pushes the updated tag to the git repository.\n\n12. **release:push-assembly** - This task creates a manifest, bumps the version without creating a git tag, and publishes the cloud assembly to your registry.\n\nRemember that these tasks are created and managed automatically by the `CDKPipeline` class. You can run these tasks using the `npx projen TASK_NAME` command.\n\n## Versioning\n\nProjen Pipelines includes a comprehensive versioning system that automatically tracks and exposes deployment versions through various AWS services. This feature enables deployment traceability, automated rollback decisions, and comprehensive audit trails.\n\n### Basic Versioning Configuration\n\nTo enable versioning in your pipeline, add the `versioning` configuration:\n\n```typescript\nimport { awscdk } from 'projen';\nimport { GithubCDKPipeline, VersioningStrategy, VersioningOutputs } from 'projen-pipelines';\n\nconst app = new awscdk.AwsCdkTypeScriptApp({\n // ... other config\n});\n\nnew GithubCDKPipeline(app, {\n // ... other pipeline config\n\n versioning: {\n enabled: true,\n strategy: VersioningStrategy.commitCount(),\n outputs: VersioningOutputs.standard()\n }\n});\n```\n\n### Versioning Strategies\n\nProjen Pipelines provides several built-in versioning strategies:\n\n#### Git Tag Strategy\nUses git tags as the version source, with optional prefix stripping:\n\n```typescript\n// Basic git tag strategy\nconst strategy = VersioningStrategy.gitTag();\n\n// With custom configuration\nconst strategy = VersioningStrategy.gitTag({\n stripPrefix: 'v', // Strip 'v' from tags (v1.2.3 → 1.2.3)\n annotatedOnly: true, // Only use annotated tags\n includeSinceTag: true // Include commits since tag\n});\n```\n\n#### Package.json Strategy\nUses the version from your package.json file:\n\n```typescript\n// Basic package.json strategy\nconst strategy = VersioningStrategy.packageJson();\n\n// With custom configuration\nconst strategy = VersioningStrategy.packageJson({\n path: './package.json',\n includePrerelease: true,\n appendCommitInfo: true\n});\n```\n\n#### Commit Count Strategy\nUses the number of commits as the version:\n\n```typescript\n// Basic commit count strategy\nconst strategy = VersioningStrategy.commitCount();\n\n// With custom configuration\nconst strategy = VersioningStrategy.commitCount({\n countFrom: 'all', // 'all' | 'since-tag'\n includeBranch: true, // Include branch name\n padding: 5 // Zero-pad count (00001)\n});\n```\n\n#### Build Number Strategy\nCreates a version from build metadata:\n\n```typescript\n// Basic build number strategy\nconst strategy = VersioningStrategy.buildNumber();\n\n// With custom configuration\nconst strategy = VersioningStrategy.buildNumber({\n prefix: 'release',\n commitCount: { countFrom: 'all', padding: 5 }\n});\n// Output: release-01234-3a4b5c6d\n```\n\n#### Custom Composite Strategy\nCreate your own version format using template variables:\n\n```typescript\nconst strategy = VersioningStrategy.create(\n '{git-tag}+{commit-count}-{commit-hash:8}',\n {\n gitTag: { stripPrefix: 'v' },\n commitCount: { countFrom: 'since-tag' }\n }\n);\n// Output: 1.2.3+45-3a4b5c6d\n```\n\n### Version Output Configurations\n\nControl how and where version information is exposed:\n\n#### CloudFormation Outputs\nExport version information as CloudFormation stack outputs:\n\n```typescript\n// Basic CloudFormation output\nconst outputs = VersioningOutputs.cloudFormationOnly();\n\n// With custom configuration\nconst outputs = VersioningOutputs.cloudFormationOnly({\n exportName: 'MyApp-{stage}-Version'\n});\n```\n\n#### SSM Parameter Store\nStore version information in AWS Systems Manager Parameter Store:\n\n```typescript\n// Basic parameter store\nconst outputs = VersioningOutputs.parameterStoreOnly('/myapp/{stage}/version');\n\n// Hierarchical parameters\nconst outputs = VersioningOutputs.hierarchicalParameters('/myapp/{stage}/version', {\n includeCloudFormation: true\n});\n```\n\nThis creates parameters like:\n- `/myapp/prod/version` → Full version JSON\n- `/myapp/prod/version/commit` → Commit hash\n- `/myapp/prod/version/tag` → Git tag\n- `/myapp/prod/version/count` → Commit count\n\n#### Standard Configuration\nThe recommended configuration that uses CloudFormation outputs with optional Parameter Store:\n\n```typescript\nconst outputs = VersioningOutputs.standard({\n parameterName: '/myapp/{stage}/version',\n});\n```\n\n### Output Formats\n\nVersion information can be output in two formats:\n\n**Plain Format:** Simple string values in CloudFormation\n```yaml\nOutputs:\n AppVersion:\n Value: \"1.2.3+45-3a4b5c6d\"\n Description: \"Application version\"\n AppCommitHash:\n Value: \"3a4b5c6def1234567890\"\n Description: \"Git commit hash\"\n```\n\n**Structured Format:** JSON object with comprehensive metadata in SSM\n```json\n{\n \"version\": \"1.2.3\",\n \"commitHash\": \"3a4b5c6def1234567890\",\n \"commitCount\": 1234,\n \"commitsSinceTag\": 45,\n \"branch\": \"main\",\n \"tag\": \"v1.2.3\",\n \"deployedAt\": \"2024-01-15T10:30:00Z\",\n \"deployedBy\": \"github-actions\",\n \"buildNumber\": \"456\",\n \"environment\": \"production\"\n}\n```\n\n### Stage-Specific Overrides\n\nConfigure different versioning strategies for different stages:\n\n```typescript\nnew GithubCDKPipeline(app, {\n versioning: {\n enabled: true,\n strategy: VersioningStrategy.gitTag(),\n outputs: VersioningOutputs.standard(),\n stageOverrides: {\n dev: {\n strategy: VersioningStrategy.commitCount(),\n outputs: VersioningOutputs.minimal()\n },\n prod: {\n validation: {\n requireTag: true,\n tagPattern: /^v\\d+\\.\\d+\\.\\d+$/\n }\n }\n }\n }\n});\n```\n\n### Template Variables\n\nAll strategies support these template variables:\n- `{git-tag}` - Git tag (with optional prefix stripping)\n- `{package-version}` - Version from package.json\n- `{commit-count}` - Number of commits\n- `{commit-hash}` - Full commit hash\n- `{commit-hash:8}` - Short commit hash (8 characters)\n- `{branch}` - Git branch name\n- `{build-number}` - CI/CD build number\n\n### Benefits of Versioning\n\n1. **Deployment Traceability**: Always know exactly which code version is deployed\n2. **Automated Rollback**: Use version information for automated rollback decisions\n3. **Audit Trail**: Comprehensive deployment history with metadata\n4. **Multi-Stage Support**: Different versioning strategies per environment\n5. **Zero Configuration**: Works out-of-the-box with sensible defaults\n6. **CI/CD Integration**: Automatically detects version info from CI/CD environments\n\n### Feature Branch Deployments\n\nProjen Pipelines supports automated feature branch deployments for GitHub Actions. This allows you to deploy and test your changes in isolated environments before merging to the main branch. Gitlab support is currently missing.\n\n#### Configuration\n\nTo enable feature branch deployments, add the `featureStages` configuration to your pipeline:\n\n```typescript\nnew GithubCDKPipeline(app, {\n stackPrefix: 'MyApp',\n iamRoleArns: {\n default: 'arn:aws:iam::123456789012:role/GithubDeploymentRole',\n },\n featureStages: {\n env: { account: '123456789013', region: 'eu-central-1' },\n },\n stages: [\n // ... your regular stages\n ],\n});\n```\n\n#### How It Works\n\nWhen feature stages are configured, two GitHub workflows are created:\n\n1. **deploy-feature** - Automatically deploys your feature branch when a pull request is labeled with `feature-deployment`\n2. **destroy-feature** - Automatically destroys the feature deployment when:\n - The pull request is closed\n - The `feature-deployment` label is removed from the pull request\n\n#### Using Feature Deployments\n\n1. Create a pull request with your changes\n2. Add the `feature-deployment` label to trigger deployment\n3. The feature environment will be deployed with a stack name including your branch name\n4. Remove the label or close the PR to destroy the feature environment\n\nThe feature deployment uses the `--force` flag when destroying to ensure cleanup without manual confirmation.\n\n## Current Status\n\nProjen-Pipelines is currently in version 0.x, awaiting Projen's 1.0 release. Despite its pre-1.0 status, it's being used in several production environments.\n\n## Contributing\n\n### By raising feature requests or issues\n\nUse the Github integrated \"[Issues](https://github.com/taimos/projen-pipelines/issues/new)\" view to create an item that you would love to have added to our open source project.\n\n***No request is too big or too small*** - get your thoughts created and we'll get back to you if we have questions!\n\n### By committing code\n\nWe welcome all contributions to Projen Pipelines! Here's how you can get started:\n\n1. **Fork the Repository**: Click the 'Fork' button at the top right of this page to duplicate this repository in your GitHub account.\n\n2. **Clone your Fork**: Clone the forked repository to your local machine.\n\n```bash\ngit clone https://github.com/<your_username>/projen-pipelines.git\n```\n\n3. **Create a Branch**: To keep your work organized, create a branch for your contribution.\n\n```bash\ngit checkout -b my-branch\n```\n\n4. **Make your Changes**: Make your changes, additions, or fixes to the codebase. Remember to follow the existing code style.\n\n5. **Test your Changes**: Before committing your changes, make sure to test them to ensure they work as expected and do not introduce bugs.\n\n6. **Commit your Changes**: Commit your changes with a descriptive commit message using conventional commit messages.\n\n```bash\ngit commit -m \"feat: Your descriptive commit message\"\n```\n\n7. **Push to your Fork**: Push your commits to the branch in your forked repository.\n\n```bash\ngit push -u origin my-branch\n```\n\n8. **Submit a Pull Request**: Once your changes are ready to be reviewed, create a pull request from your forked repository's branch into the `main` branch of this repository.\n\nYour pull request will be reviewed and hopefully merged quickly. Thanks for contributing!\n\n### How to test changes?\nThe best way currently is to test things locally or - if you have a working stall of all supported CI/CD tools - manually test the functionalities there in diferent projects.\n\n_For local testing:_\nUsing `yalc push` you can install the project locally to your local yalc package manager. You can also use `npm run local-push` instead of this.\n\nWith `yalc add projen-pipelines` you can then use it in a local project.\n\n\n## Future Plans\n\n* Move the project to the Open Construct Foundation for broader community involvement\n* Continue expanding support for different CI/CD platforms and project types\n\nJoin us in elevating CI/CD pipeline discussions from implementation details to fundamental building blocks, and help create a more efficient, standardized approach to pipeline development!\n\n## Known issues\n\n### Environment variable not recognized during `npx projen`\n\nWhen attempting to run `npx projen`, users may encounter an error related to environment variable substitution within configuration files. Specifically, the `${GITHUB_TOKEN}` placeholder fails to be replaced.\n\n#### Solution\n\nTo resolve this issue, prefix the `npx projen` command with the `GITHUB_TOKEN=` environment variable:\n\n```bash\nGITHUB_TOKEN= npx projen\n```\n"
|
|
109
|
+
"markdown": "# Projen Pipelines\n\n[](https://www.npmjs.com/package/projen-pipelines)\n\nProjen Pipelines is an open-source project that automates the generation of CI/CD pipelines using Projen,\na project configuration tool created by the inventor of AWS CDK.\nIt provides high-level abstractions for defining continuous delivery (CD) pipelines for applications,\nspecifically designed to work with the projen project configuration engine.\n\n### Key Features\n\n* Automates code generation for CI/CD pipelines\n* Supports multiple CI/CD platforms (currently GitHub Actions and GitLab CI, with more in development)\n* Provides baked-in proven defaults for pipeline configurations\n* Enables compliance-as-code integration\n* Allows easy switching between different CI/CD platforms without rewriting pipeline configurations\n* Handles complex deployment scenarios with less code\n* Manages AWS infrastructure more efficiently and straightforwardly\n* Automated drift detection for CloudFormation/CDK stacks with scheduled checks and issue creation\n* Automatic versioning with flexible strategies and multiple output targets\n\n### Benefits\n\n* Reduces repetitive work in writing and maintaining pipeline configurations\n* Ensures consistency across projects by using proven defaults\n* Simplifies compliance management by integrating it directly into pipeline definitions\n* Facilitates platform migrations (e.g., from GitHub to GitLab) by abstracting pipeline definitions\n* Provides automatic version tracking and exposure through CloudFormation and SSM Parameter Store\n\n## Beyond AWS CDK: A Vision for Universal CI/CD Pipeline Generation\n\nWhile Projen Pipelines currently focuses on AWS CDK applications, our vision extends far beyond this initial scope.\nWe aim to evolve into a universal CI/CD pipeline generator capable of supporting a wide variety of application types and deployment targets.\n\n### Future Direction:\n\n1. Diverse Application Support: We plan to expand our capabilities to generate pipelines for various application types, including but not limited to:\n * Traditional web applications\n * Terraform / OpenTOFU projects\n * Winglang applications\n1. Multi-Cloud Deployment: While we started with AWS, we aim to support deployments to other major cloud providers like Azure, Google Cloud Platform, and others.\n1. On-Premises and Hybrid Scenarios: We recognize the importance of on-premises and hybrid cloud setups and plan to cater to these deployment models.\n1. Framework Agnostic: Our goal is to make Projen Pipelines adaptable to work with various development frameworks and tools, not just those related to AWS or cloud deployments.\n1. Extensibility: We're designing the system to be easily extensible, allowing the community to contribute modules for new application types, deployment targets, or CI/CD platforms.\n\nBy broadening our scope, we aim to create a tool that can standardize and simplify CI/CD pipeline creation across the entire spectrum of modern application development and deployment scenarios.\nWe invite the community to join us in this journey, contributing ideas, use cases, and code to help realize this vision.\n\n## How Projen Pipelines work\n\n\nUnder the hood, after you define the pipeline and select the target engine you want to work on, we use code generation methods to create the required CI/CD pipeline in your project.\n\nWe are considering allowing the selection of multiple engines going forward - please let us know if this is a feature you would use!\n\n## Getting Started\n\n### Installation\n\nTo install the package, add the package `projen-pipelines` to your projects devDeps in your projen configuration file.\n\nAfter installing the package, you can import and use the constructs to define your CDK Pipelines.\n\nYou will also have to setup an IAM role that can be used by GitHub Actions. For example, create a role named `GithubDeploymentRole` in your deployment account (`123456789012`) with a policy like this to assume the CDK roles of the pipeline stages (AWS account IDs `123456789013` and `123456789014`):\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"Statement1\",\n \"Effect\": \"Allow\",\n \"Action\": \"sts:AssumeRole\",\n \"Resource\": [\n \"arn:aws:iam::123456789013:role/cdk-*-123456789013-*\",\n \"arn:aws:iam::123456789014:role/cdk-*-123456789014-*\"\n ]\n }\n ]\n}\n```\n\nAdd a trust policy to this role as described in this tutorial: [Configuring OpenID Connect in Amazon Web Services](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services)\n\n### Usage with AWS CDK\n\nYou can start using the constructs provided by Projen Pipelines in your AWS CDK applications. Here's a brief example:\n\n```typescript\nimport { awscdk } from 'projen';\nimport { GithubCDKPipeline } from 'projen-pipelines';\n\n// Define your AWS CDK TypeScript App\nconst app = new awscdk.AwsCdkTypeScriptApp({\n cdkVersion: '2.150.0',\n name: 'my-awesome-app',\n defaultReleaseBranch: 'main',\n devDeps: [\n 'projen-pipelines',\n ],\n});\n\n// Create the pipeline\nnew GithubCDKPipeline(app, {\n stackPrefix: 'MyApp',\n iamRoleArns: {\n default: 'arn:aws:iam::123456789012:role/GithubDeploymentRole',\n },\n pkgNamespace: '@company-assemblies',\n useGithubPackagesForAssembly: true,\n stages: [\n {\n name: 'dev',\n env: { account: '123456789013', region: 'eu-central-1' },\n }, {\n name: 'prod',\n manualApproval: true,\n env: { account: '123456789014', region: 'eu-central-1' },\n }],\n});\n```\n\nAfter running projen (`npx projen`) a new file called `src/app.ts` will be created and contain a specialized CDK App class for your project.\n\nYou can then use this in your `main.ts` to configure your deployment.\n\n```typescript\nimport { PipelineApp } from './app';\nimport { BackendStack } from './stack';\n\nconst app = new PipelineApp({\n provideDevStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: 'api-dev',\n myConfigSetting: 'value-for-dev',\n });\n },\n provideProdStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: 'api',\n myConfigSetting: 'value-for-prod',\n });\n },\n providePersonalStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: `api-${props.stageName}`,\n myConfigSetting: 'value-for-personal-stage',\n });\n },\n});\n\napp.synth();\n```\n\n### Drift Detection\n\nProjen Pipelines includes built-in support for automated drift detection of your CloudFormation/CDK stacks. This feature helps you identify when your deployed infrastructure has diverged from your code definitions.\n\n```typescript\nimport { GitHubDriftDetectionWorkflow } from 'projen-pipelines';\n\nnew GitHubDriftDetectionWorkflow(app, {\n schedule: '0 0 * * *', // Daily at midnight\n createIssues: true, // Automatically create GitHub issues\n stages: [\n {\n name: 'production',\n region: 'us-east-1',\n roleArn: 'arn:aws:iam::123456789012:role/DriftDetectionRole',\n failOnDrift: true,\n },\n ],\n});\n```\n\nSee the [drift detection documentation](docs/drift-detection.md) for detailed configuration options and examples.\n\n### Setting Up Trust Relationships Between Accounts\n\nWhen planning to manage multiple staging environments, you will need to establish trust relationships. This process centralizes deployment control, improving operational efficiency and security by consolidating deployment management through a singular, monitored channel. Here is a simplified diagram for the setup:\n\n\n\n#### Step 1: Bootstrapping Each Account\n\nBootstrapping initializes the AWS CDK environment in each account. It prepares the account to work with AWS CDK apps deployed from other accounts. Use the `cdk bootstrap` command for this purpose. Replace `<deployment_account_id>` with the actual AWS account ID of your deployment account.\n\nYou can use the [CloudShell](https://aws.amazon.com/cloudshell/) to bootstrap each staging account:\n\n```bash\ncdk bootstrap --trust <deployment_account_id> --cloudformation-execution-policies \"arn:aws:iam::aws:policy/AdministratorAccess\"\n```\n\n**Note:**\n\nWhile `AdministratorAccess` grants full access to all AWS services and resources, it's not recommended for production environments due to security risks. Instead, create custom IAM policies that grant only the necessary permissions required for deployment operations.\n\n### Deployment\n\nThe `<Engine>CDKPipeline` class creates and adds several tasks to the projen project that then can be used in your pipeline to deploy your application to AWS.\n\nHere's a brief description of each one:\n\n1. **deploy:personal** - This task deploys the application's personal stage, which is a distinct, isolated deployment of the application. The personal stage is intended for personal use, such as testing and development.\n\n2. **watch:personal** - This task deploys the personal stage of the application in watch mode. In this mode, the AWS CDK monitors your application source files for changes, automatically re-synthesizing and deploying when it detects any changes.\n\n3. **diff:personal** - This task compares the deployed personal stage with the current state of the application code. It's used to understand what changes would be made if the application were deployed.\n\n4. **destroy:personal** - This task destroys the resources created for the personal stage of the application.\n\n5. **deploy:feature** - This task deploys the application's feature stage. The feature stage is used for new features testing before these are merged into the main branch.\n\n6. **diff:feature** - This task is similar to `diff:personal`, but for the feature stage.\n\n7. **destroy:feature** - This task destroys the resources created for the feature stage of the application.\n\n8. **deploy:<stageName>** - This task deploys a specific stage of the application (like 'dev' or 'prod').\n\n9. **diff:<stageName>** - This task compares the specified application stage with the current state of the application code.\n\n10. **publish:assets** - This task publishes the CDK assets to all accounts. This is useful when the CDK application uses assets like Docker images or files from the S3 bucket.\n\n11. **bump** - This task bumps the version based on the latest git tag and pushes the updated tag to the git repository.\n\n12. **release:push-assembly** - This task creates a manifest, bumps the version without creating a git tag, and publishes the cloud assembly to your registry.\n\nRemember that these tasks are created and managed automatically by the `CDKPipeline` class. You can run these tasks using the `npx projen TASK_NAME` command.\n\n## Versioning\n\nProjen Pipelines includes a comprehensive versioning system that automatically tracks and exposes deployment versions through various AWS services. This feature enables deployment traceability, automated rollback decisions, and comprehensive audit trails.\n\n### Basic Versioning Configuration\n\nTo enable versioning in your pipeline, add the `versioning` configuration:\n\n```typescript\nimport { awscdk } from 'projen';\nimport { GithubCDKPipeline, VersioningStrategy, VersioningOutputs } from 'projen-pipelines';\n\nconst app = new awscdk.AwsCdkTypeScriptApp({\n // ... other config\n});\n\nnew GithubCDKPipeline(app, {\n // ... other pipeline config\n\n versioning: {\n enabled: true,\n strategy: VersioningStrategy.commitCount(),\n outputs: VersioningOutputs.standard()\n }\n});\n```\n\n### Versioning Strategies\n\nProjen Pipelines provides several built-in versioning strategies:\n\n#### Git Tag Strategy\nUses git tags as the version source, with optional prefix stripping:\n\n```typescript\n// Basic git tag strategy\nconst strategy = VersioningStrategy.gitTag();\n\n// With custom configuration\nconst strategy = VersioningStrategy.gitTag({\n stripPrefix: 'v', // Strip 'v' from tags (v1.2.3 → 1.2.3)\n annotatedOnly: true, // Only use annotated tags\n includeSinceTag: true // Include commits since tag\n});\n```\n\n#### Package.json Strategy\nUses the version from your package.json file:\n\n```typescript\n// Basic package.json strategy\nconst strategy = VersioningStrategy.packageJson();\n\n// With custom configuration\nconst strategy = VersioningStrategy.packageJson({\n path: './package.json',\n includePrerelease: true,\n appendCommitInfo: true\n});\n```\n\n#### Commit Count Strategy\nUses the number of commits as the version:\n\n```typescript\n// Basic commit count strategy\nconst strategy = VersioningStrategy.commitCount();\n\n// With custom configuration\nconst strategy = VersioningStrategy.commitCount({\n countFrom: 'all', // 'all' | 'since-tag'\n includeBranch: true, // Include branch name\n padding: 5 // Zero-pad count (00001)\n});\n```\n\n#### Build Number Strategy\nCreates a version from build metadata:\n\n```typescript\n// Basic build number strategy\nconst strategy = VersioningStrategy.buildNumber();\n\n// With custom configuration\nconst strategy = VersioningStrategy.buildNumber({\n prefix: 'release',\n commitCount: { countFrom: 'all', padding: 5 }\n});\n// Output: release-01234-3a4b5c6d\n```\n\n#### Custom Composite Strategy\nCreate your own version format using template variables:\n\n```typescript\nconst strategy = VersioningStrategy.create(\n '{git-tag}+{commit-count}-{commit-hash:8}',\n {\n gitTag: { stripPrefix: 'v' },\n commitCount: { countFrom: 'since-tag' }\n }\n);\n// Output: 1.2.3+45-3a4b5c6d\n```\n\n### Version Output Configurations\n\nControl how and where version information is exposed:\n\n#### CloudFormation Outputs\nExport version information as CloudFormation stack outputs:\n\n```typescript\n// Basic CloudFormation output\nconst outputs = VersioningOutputs.cloudFormationOnly();\n\n// With custom configuration\nconst outputs = VersioningOutputs.cloudFormationOnly({\n exportName: 'MyApp-{stage}-Version'\n});\n```\n\n#### SSM Parameter Store\nStore version information in AWS Systems Manager Parameter Store:\n\n```typescript\n// Basic parameter store\nconst outputs = VersioningOutputs.parameterStoreOnly('/myapp/{stage}/version');\n\n// Hierarchical parameters\nconst outputs = VersioningOutputs.hierarchicalParameters('/myapp/{stage}/version', {\n includeCloudFormation: true\n});\n```\n\nThis creates parameters like:\n- `/myapp/prod/version` → Full version JSON\n- `/myapp/prod/version/commit` → Commit hash\n- `/myapp/prod/version/tag` → Git tag\n- `/myapp/prod/version/count` → Commit count\n\n#### Standard Configuration\nThe recommended configuration that uses CloudFormation outputs with optional Parameter Store:\n\n```typescript\nconst outputs = VersioningOutputs.standard({\n parameterName: '/myapp/{stage}/version',\n});\n```\n\n### Output Formats\n\nVersion information can be output in two formats:\n\n**Plain Format:** Simple string values in CloudFormation\n```yaml\nOutputs:\n AppVersion:\n Value: \"1.2.3+45-3a4b5c6d\"\n Description: \"Application version\"\n AppCommitHash:\n Value: \"3a4b5c6def1234567890\"\n Description: \"Git commit hash\"\n```\n\n**Structured Format:** JSON object with comprehensive metadata in SSM\n```json\n{\n \"version\": \"1.2.3\",\n \"commitHash\": \"3a4b5c6def1234567890\",\n \"commitCount\": 1234,\n \"commitsSinceTag\": 45,\n \"branch\": \"main\",\n \"tag\": \"v1.2.3\",\n \"deployedAt\": \"2024-01-15T10:30:00Z\",\n \"deployedBy\": \"github-actions\",\n \"buildNumber\": \"456\",\n \"environment\": \"production\"\n}\n```\n\n### Stage-Specific Overrides\n\nConfigure different versioning strategies for different stages:\n\n```typescript\nnew GithubCDKPipeline(app, {\n versioning: {\n enabled: true,\n strategy: VersioningStrategy.gitTag(),\n outputs: VersioningOutputs.standard(),\n stageOverrides: {\n dev: {\n strategy: VersioningStrategy.commitCount(),\n outputs: VersioningOutputs.minimal()\n },\n prod: {\n validation: {\n requireTag: true,\n tagPattern: /^v\\d+\\.\\d+\\.\\d+$/\n }\n }\n }\n }\n});\n```\n\n### Template Variables\n\nAll strategies support these template variables:\n- `{git-tag}` - Git tag (with optional prefix stripping)\n- `{package-version}` - Version from package.json\n- `{commit-count}` - Number of commits\n- `{commit-hash}` - Full commit hash\n- `{commit-hash:8}` - Short commit hash (8 characters)\n- `{branch}` - Git branch name\n- `{build-number}` - CI/CD build number\n\n### Benefits of Versioning\n\n1. **Deployment Traceability**: Always know exactly which code version is deployed\n2. **Automated Rollback**: Use version information for automated rollback decisions\n3. **Audit Trail**: Comprehensive deployment history with metadata\n4. **Multi-Stage Support**: Different versioning strategies per environment\n5. **Zero Configuration**: Works out-of-the-box with sensible defaults\n6. **CI/CD Integration**: Automatically detects version info from CI/CD environments\n\n### Feature Branch Deployments\n\nProjen Pipelines supports automated feature branch deployments for GitHub Actions. This allows you to deploy and test your changes in isolated environments before merging to the main branch. Gitlab support is currently missing.\n\n#### Configuration\n\nTo enable feature branch deployments, add the `featureStages` configuration to your pipeline:\n\n```typescript\nnew GithubCDKPipeline(app, {\n stackPrefix: 'MyApp',\n iamRoleArns: {\n default: 'arn:aws:iam::123456789012:role/GithubDeploymentRole',\n },\n featureStages: {\n env: { account: '123456789013', region: 'eu-central-1' },\n },\n stages: [\n // ... your regular stages\n ],\n});\n```\n\n#### How It Works\n\nWhen feature stages are configured, two GitHub workflows are created:\n\n1. **deploy-feature** - Automatically deploys your feature branch when a pull request is labeled with `feature-deployment`\n2. **destroy-feature** - Automatically destroys the feature deployment when:\n - The pull request is closed\n - The `feature-deployment` label is removed from the pull request\n\n#### Using Feature Deployments\n\n1. Create a pull request with your changes\n2. Add the `feature-deployment` label to trigger deployment\n3. The feature environment will be deployed with a stack name including your branch name\n4. Remove the label or close the PR to destroy the feature environment\n\nThe feature deployment uses the `--force` flag when destroying to ensure cleanup without manual confirmation.\n\n## Current Status\n\nProjen-Pipelines is currently in version 0.x, awaiting Projen's 1.0 release. Despite its pre-1.0 status, it's being used in several production environments.\n\n## Contributing\n\n### By raising feature requests or issues\n\nUse the Github integrated \"[Issues](https://github.com/taimos/projen-pipelines/issues/new)\" view to create an item that you would love to have added to our open source project.\n\n***No request is too big or too small*** - get your thoughts created and we'll get back to you if we have questions!\n\n### By committing code\n\nWe welcome all contributions to Projen Pipelines! Here's how you can get started:\n\n1. **Fork the Repository**: Click the 'Fork' button at the top right of this page to duplicate this repository in your GitHub account.\n\n2. **Clone your Fork**: Clone the forked repository to your local machine.\n\n```bash\ngit clone https://github.com/<your_username>/projen-pipelines.git\n```\n\n3. **Create a Branch**: To keep your work organized, create a branch for your contribution.\n\n```bash\ngit checkout -b my-branch\n```\n\n4. **Make your Changes**: Make your changes, additions, or fixes to the codebase. Remember to follow the existing code style.\n\n5. **Test your Changes**: Before committing your changes, make sure to test them to ensure they work as expected and do not introduce bugs.\n\n6. **Commit your Changes**: Commit your changes with a descriptive commit message using conventional commit messages.\n\n```bash\ngit commit -m \"feat: Your descriptive commit message\"\n```\n\n7. **Push to your Fork**: Push your commits to the branch in your forked repository.\n\n```bash\ngit push -u origin my-branch\n```\n\n8. **Submit a Pull Request**: Once your changes are ready to be reviewed, create a pull request from your forked repository's branch into the `main` branch of this repository.\n\nYour pull request will be reviewed and hopefully merged quickly. Thanks for contributing!\n\n### How to test changes?\nThe best way currently is to test things locally or - if you have a working stall of all supported CI/CD tools - manually test the functionalities there in diferent projects.\n\n_For local testing:_\nUsing `yalc push` you can install the project locally to your local yalc package manager. You can also use `npm run local-push` instead of this.\n\nWith `yalc add projen-pipelines` you can then use it in a local project.\n\n\n## Future Plans\n\n* Move the project to the Open Construct Foundation for broader community involvement\n* Continue expanding support for different CI/CD platforms and project types\n\nJoin us in elevating CI/CD pipeline discussions from implementation details to fundamental building blocks, and help create a more efficient, standardized approach to pipeline development!\n\n## Known issues\n\n### Environment variable not recognized during `npx projen`\n\nWhen attempting to run `npx projen`, users may encounter an error related to environment variable substitution within configuration files. Specifically, the `${GITHUB_TOKEN}` placeholder fails to be replaced.\n\n#### Solution\n\nTo resolve this issue, prefix the `npx projen` command with the `GITHUB_TOKEN=` environment variable:\n\n```bash\nGITHUB_TOKEN= npx projen\n```\n"
|
|
109
110
|
},
|
|
110
111
|
"repository": {
|
|
111
112
|
"type": "git",
|
|
@@ -543,6 +544,82 @@
|
|
|
543
544
|
"name": "BashCDKPipelineOptions",
|
|
544
545
|
"symbolId": "src/awscdk/bash:BashCDKPipelineOptions"
|
|
545
546
|
},
|
|
547
|
+
"projen-pipelines.BashDriftDetectionWorkflow": {
|
|
548
|
+
"assembly": "projen-pipelines",
|
|
549
|
+
"base": "projen-pipelines.DriftDetectionWorkflow",
|
|
550
|
+
"docs": {
|
|
551
|
+
"stability": "stable"
|
|
552
|
+
},
|
|
553
|
+
"fqn": "projen-pipelines.BashDriftDetectionWorkflow",
|
|
554
|
+
"initializer": {
|
|
555
|
+
"docs": {
|
|
556
|
+
"stability": "stable"
|
|
557
|
+
},
|
|
558
|
+
"locationInModule": {
|
|
559
|
+
"filename": "src/drift/bash.ts",
|
|
560
|
+
"line": 16
|
|
561
|
+
},
|
|
562
|
+
"parameters": [
|
|
563
|
+
{
|
|
564
|
+
"name": "project",
|
|
565
|
+
"type": {
|
|
566
|
+
"fqn": "projen.Project"
|
|
567
|
+
}
|
|
568
|
+
},
|
|
569
|
+
{
|
|
570
|
+
"name": "options",
|
|
571
|
+
"type": {
|
|
572
|
+
"fqn": "projen-pipelines.BashDriftDetectionWorkflowOptions"
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
]
|
|
576
|
+
},
|
|
577
|
+
"kind": "class",
|
|
578
|
+
"locationInModule": {
|
|
579
|
+
"filename": "src/drift/bash.ts",
|
|
580
|
+
"line": 13
|
|
581
|
+
},
|
|
582
|
+
"name": "BashDriftDetectionWorkflow",
|
|
583
|
+
"symbolId": "src/drift/bash:BashDriftDetectionWorkflow"
|
|
584
|
+
},
|
|
585
|
+
"projen-pipelines.BashDriftDetectionWorkflowOptions": {
|
|
586
|
+
"assembly": "projen-pipelines",
|
|
587
|
+
"datatype": true,
|
|
588
|
+
"docs": {
|
|
589
|
+
"stability": "stable"
|
|
590
|
+
},
|
|
591
|
+
"fqn": "projen-pipelines.BashDriftDetectionWorkflowOptions",
|
|
592
|
+
"interfaces": [
|
|
593
|
+
"projen-pipelines.DriftDetectionWorkflowOptions"
|
|
594
|
+
],
|
|
595
|
+
"kind": "interface",
|
|
596
|
+
"locationInModule": {
|
|
597
|
+
"filename": "src/drift/bash.ts",
|
|
598
|
+
"line": 5
|
|
599
|
+
},
|
|
600
|
+
"name": "BashDriftDetectionWorkflowOptions",
|
|
601
|
+
"properties": [
|
|
602
|
+
{
|
|
603
|
+
"abstract": true,
|
|
604
|
+
"docs": {
|
|
605
|
+
"default": "\"drift-detection.sh\"",
|
|
606
|
+
"stability": "stable",
|
|
607
|
+
"summary": "Path to the output script."
|
|
608
|
+
},
|
|
609
|
+
"immutable": true,
|
|
610
|
+
"locationInModule": {
|
|
611
|
+
"filename": "src/drift/bash.ts",
|
|
612
|
+
"line": 10
|
|
613
|
+
},
|
|
614
|
+
"name": "scriptPath",
|
|
615
|
+
"optional": true,
|
|
616
|
+
"type": {
|
|
617
|
+
"primitive": "string"
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
],
|
|
621
|
+
"symbolId": "src/drift/bash:BashDriftDetectionWorkflowOptions"
|
|
622
|
+
},
|
|
546
623
|
"projen-pipelines.BashStepConfig": {
|
|
547
624
|
"assembly": "projen-pipelines",
|
|
548
625
|
"datatype": true,
|
|
@@ -1725,7 +1802,9 @@
|
|
|
1725
1802
|
"assembly": "projen-pipelines",
|
|
1726
1803
|
"base": "projen-pipelines.StepSequence",
|
|
1727
1804
|
"docs": {
|
|
1728
|
-
"
|
|
1805
|
+
"remarks": "The environment variable name can be configured to avoid conflicts with other environment variables.\nThe default is CODEARTIFACT_AUTH_TOKEN.",
|
|
1806
|
+
"stability": "stable",
|
|
1807
|
+
"summary": "Step to login to CodeArtifact."
|
|
1729
1808
|
},
|
|
1730
1809
|
"fqn": "projen-pipelines.CodeArtifactLoginStep",
|
|
1731
1810
|
"initializer": {
|
|
@@ -1734,7 +1813,7 @@
|
|
|
1734
1813
|
},
|
|
1735
1814
|
"locationInModule": {
|
|
1736
1815
|
"filename": "src/steps/registries.ts",
|
|
1737
|
-
"line":
|
|
1816
|
+
"line": 96
|
|
1738
1817
|
},
|
|
1739
1818
|
"parameters": [
|
|
1740
1819
|
{
|
|
@@ -1757,7 +1836,7 @@
|
|
|
1757
1836
|
"kind": "class",
|
|
1758
1837
|
"locationInModule": {
|
|
1759
1838
|
"filename": "src/steps/registries.ts",
|
|
1760
|
-
"line":
|
|
1839
|
+
"line": 95
|
|
1761
1840
|
},
|
|
1762
1841
|
"name": "CodeArtifactLoginStep",
|
|
1763
1842
|
"properties": [
|
|
@@ -1767,7 +1846,7 @@
|
|
|
1767
1846
|
},
|
|
1768
1847
|
"locationInModule": {
|
|
1769
1848
|
"filename": "src/steps/registries.ts",
|
|
1770
|
-
"line":
|
|
1849
|
+
"line": 96
|
|
1771
1850
|
},
|
|
1772
1851
|
"name": "options",
|
|
1773
1852
|
"protected": true,
|
|
@@ -1782,13 +1861,14 @@
|
|
|
1782
1861
|
"assembly": "projen-pipelines",
|
|
1783
1862
|
"datatype": true,
|
|
1784
1863
|
"docs": {
|
|
1785
|
-
"stability": "stable"
|
|
1864
|
+
"stability": "stable",
|
|
1865
|
+
"summary": "Options for the CodeArtifactLoginStep."
|
|
1786
1866
|
},
|
|
1787
1867
|
"fqn": "projen-pipelines.CodeArtifactLoginStepOptions",
|
|
1788
1868
|
"kind": "interface",
|
|
1789
1869
|
"locationInModule": {
|
|
1790
1870
|
"filename": "src/steps/registries.ts",
|
|
1791
|
-
"line":
|
|
1871
|
+
"line": 75
|
|
1792
1872
|
},
|
|
1793
1873
|
"name": "CodeArtifactLoginStepOptions",
|
|
1794
1874
|
"properties": [
|
|
@@ -1800,7 +1880,7 @@
|
|
|
1800
1880
|
"immutable": true,
|
|
1801
1881
|
"locationInModule": {
|
|
1802
1882
|
"filename": "src/steps/registries.ts",
|
|
1803
|
-
"line":
|
|
1883
|
+
"line": 78
|
|
1804
1884
|
},
|
|
1805
1885
|
"name": "domainName",
|
|
1806
1886
|
"type": {
|
|
@@ -1815,7 +1895,7 @@
|
|
|
1815
1895
|
"immutable": true,
|
|
1816
1896
|
"locationInModule": {
|
|
1817
1897
|
"filename": "src/steps/registries.ts",
|
|
1818
|
-
"line":
|
|
1898
|
+
"line": 76
|
|
1819
1899
|
},
|
|
1820
1900
|
"name": "ownerAccount",
|
|
1821
1901
|
"type": {
|
|
@@ -1830,7 +1910,7 @@
|
|
|
1830
1910
|
"immutable": true,
|
|
1831
1911
|
"locationInModule": {
|
|
1832
1912
|
"filename": "src/steps/registries.ts",
|
|
1833
|
-
"line":
|
|
1913
|
+
"line": 77
|
|
1834
1914
|
},
|
|
1835
1915
|
"name": "region",
|
|
1836
1916
|
"type": {
|
|
@@ -1845,12 +1925,30 @@
|
|
|
1845
1925
|
"immutable": true,
|
|
1846
1926
|
"locationInModule": {
|
|
1847
1927
|
"filename": "src/steps/registries.ts",
|
|
1848
|
-
"line":
|
|
1928
|
+
"line": 79
|
|
1849
1929
|
},
|
|
1850
1930
|
"name": "role",
|
|
1851
1931
|
"type": {
|
|
1852
1932
|
"primitive": "string"
|
|
1853
1933
|
}
|
|
1934
|
+
},
|
|
1935
|
+
{
|
|
1936
|
+
"abstract": true,
|
|
1937
|
+
"docs": {
|
|
1938
|
+
"default": "'CODEARTIFACT_AUTH_TOKEN'",
|
|
1939
|
+
"stability": "stable",
|
|
1940
|
+
"summary": "The environment variable name to set."
|
|
1941
|
+
},
|
|
1942
|
+
"immutable": true,
|
|
1943
|
+
"locationInModule": {
|
|
1944
|
+
"filename": "src/steps/registries.ts",
|
|
1945
|
+
"line": 86
|
|
1946
|
+
},
|
|
1947
|
+
"name": "envVariableName",
|
|
1948
|
+
"optional": true,
|
|
1949
|
+
"type": {
|
|
1950
|
+
"primitive": "string"
|
|
1951
|
+
}
|
|
1854
1952
|
}
|
|
1855
1953
|
],
|
|
1856
1954
|
"symbolId": "src/steps/registries:CodeArtifactLoginStepOptions"
|
|
@@ -2520,6 +2618,442 @@
|
|
|
2520
2618
|
],
|
|
2521
2619
|
"symbolId": "src/steps/artifact-steps:DownloadArtifactStepConfig"
|
|
2522
2620
|
},
|
|
2621
|
+
"projen-pipelines.DriftDetectionStageOptions": {
|
|
2622
|
+
"assembly": "projen-pipelines",
|
|
2623
|
+
"datatype": true,
|
|
2624
|
+
"docs": {
|
|
2625
|
+
"stability": "stable"
|
|
2626
|
+
},
|
|
2627
|
+
"fqn": "projen-pipelines.DriftDetectionStageOptions",
|
|
2628
|
+
"kind": "interface",
|
|
2629
|
+
"locationInModule": {
|
|
2630
|
+
"filename": "src/drift/base.ts",
|
|
2631
|
+
"line": 3
|
|
2632
|
+
},
|
|
2633
|
+
"name": "DriftDetectionStageOptions",
|
|
2634
|
+
"properties": [
|
|
2635
|
+
{
|
|
2636
|
+
"abstract": true,
|
|
2637
|
+
"docs": {
|
|
2638
|
+
"stability": "stable",
|
|
2639
|
+
"summary": "Name of the stage."
|
|
2640
|
+
},
|
|
2641
|
+
"immutable": true,
|
|
2642
|
+
"locationInModule": {
|
|
2643
|
+
"filename": "src/drift/base.ts",
|
|
2644
|
+
"line": 7
|
|
2645
|
+
},
|
|
2646
|
+
"name": "name",
|
|
2647
|
+
"type": {
|
|
2648
|
+
"primitive": "string"
|
|
2649
|
+
}
|
|
2650
|
+
},
|
|
2651
|
+
{
|
|
2652
|
+
"abstract": true,
|
|
2653
|
+
"docs": {
|
|
2654
|
+
"stability": "stable",
|
|
2655
|
+
"summary": "AWS region for this stage."
|
|
2656
|
+
},
|
|
2657
|
+
"immutable": true,
|
|
2658
|
+
"locationInModule": {
|
|
2659
|
+
"filename": "src/drift/base.ts",
|
|
2660
|
+
"line": 12
|
|
2661
|
+
},
|
|
2662
|
+
"name": "region",
|
|
2663
|
+
"type": {
|
|
2664
|
+
"primitive": "string"
|
|
2665
|
+
}
|
|
2666
|
+
},
|
|
2667
|
+
{
|
|
2668
|
+
"abstract": true,
|
|
2669
|
+
"docs": {
|
|
2670
|
+
"stability": "stable",
|
|
2671
|
+
"summary": "Environment variables for this stage."
|
|
2672
|
+
},
|
|
2673
|
+
"immutable": true,
|
|
2674
|
+
"locationInModule": {
|
|
2675
|
+
"filename": "src/drift/base.ts",
|
|
2676
|
+
"line": 33
|
|
2677
|
+
},
|
|
2678
|
+
"name": "environment",
|
|
2679
|
+
"optional": true,
|
|
2680
|
+
"type": {
|
|
2681
|
+
"collection": {
|
|
2682
|
+
"elementtype": {
|
|
2683
|
+
"primitive": "string"
|
|
2684
|
+
},
|
|
2685
|
+
"kind": "map"
|
|
2686
|
+
}
|
|
2687
|
+
}
|
|
2688
|
+
},
|
|
2689
|
+
{
|
|
2690
|
+
"abstract": true,
|
|
2691
|
+
"docs": {
|
|
2692
|
+
"default": "true",
|
|
2693
|
+
"stability": "stable",
|
|
2694
|
+
"summary": "Whether to fail if drift is detected."
|
|
2695
|
+
},
|
|
2696
|
+
"immutable": true,
|
|
2697
|
+
"locationInModule": {
|
|
2698
|
+
"filename": "src/drift/base.ts",
|
|
2699
|
+
"line": 28
|
|
2700
|
+
},
|
|
2701
|
+
"name": "failOnDrift",
|
|
2702
|
+
"optional": true,
|
|
2703
|
+
"type": {
|
|
2704
|
+
"primitive": "boolean"
|
|
2705
|
+
}
|
|
2706
|
+
},
|
|
2707
|
+
{
|
|
2708
|
+
"abstract": true,
|
|
2709
|
+
"docs": {
|
|
2710
|
+
"stability": "stable",
|
|
2711
|
+
"summary": "Role to assume for drift detection."
|
|
2712
|
+
},
|
|
2713
|
+
"immutable": true,
|
|
2714
|
+
"locationInModule": {
|
|
2715
|
+
"filename": "src/drift/base.ts",
|
|
2716
|
+
"line": 17
|
|
2717
|
+
},
|
|
2718
|
+
"name": "roleArn",
|
|
2719
|
+
"optional": true,
|
|
2720
|
+
"type": {
|
|
2721
|
+
"primitive": "string"
|
|
2722
|
+
}
|
|
2723
|
+
},
|
|
2724
|
+
{
|
|
2725
|
+
"abstract": true,
|
|
2726
|
+
"docs": {
|
|
2727
|
+
"stability": "stable",
|
|
2728
|
+
"summary": "Stack names to check in this stage."
|
|
2729
|
+
},
|
|
2730
|
+
"immutable": true,
|
|
2731
|
+
"locationInModule": {
|
|
2732
|
+
"filename": "src/drift/base.ts",
|
|
2733
|
+
"line": 22
|
|
2734
|
+
},
|
|
2735
|
+
"name": "stackNames",
|
|
2736
|
+
"optional": true,
|
|
2737
|
+
"type": {
|
|
2738
|
+
"collection": {
|
|
2739
|
+
"elementtype": {
|
|
2740
|
+
"primitive": "string"
|
|
2741
|
+
},
|
|
2742
|
+
"kind": "array"
|
|
2743
|
+
}
|
|
2744
|
+
}
|
|
2745
|
+
}
|
|
2746
|
+
],
|
|
2747
|
+
"symbolId": "src/drift/base:DriftDetectionStageOptions"
|
|
2748
|
+
},
|
|
2749
|
+
"projen-pipelines.DriftDetectionStep": {
|
|
2750
|
+
"assembly": "projen-pipelines",
|
|
2751
|
+
"base": "projen-pipelines.StepSequence",
|
|
2752
|
+
"docs": {
|
|
2753
|
+
"stability": "stable"
|
|
2754
|
+
},
|
|
2755
|
+
"fqn": "projen-pipelines.DriftDetectionStep",
|
|
2756
|
+
"initializer": {
|
|
2757
|
+
"docs": {
|
|
2758
|
+
"stability": "stable"
|
|
2759
|
+
},
|
|
2760
|
+
"locationInModule": {
|
|
2761
|
+
"filename": "src/drift/step.ts",
|
|
2762
|
+
"line": 35
|
|
2763
|
+
},
|
|
2764
|
+
"parameters": [
|
|
2765
|
+
{
|
|
2766
|
+
"docs": {
|
|
2767
|
+
"summary": "- The projen project reference."
|
|
2768
|
+
},
|
|
2769
|
+
"name": "project",
|
|
2770
|
+
"type": {
|
|
2771
|
+
"fqn": "projen.Project"
|
|
2772
|
+
}
|
|
2773
|
+
},
|
|
2774
|
+
{
|
|
2775
|
+
"name": "props",
|
|
2776
|
+
"type": {
|
|
2777
|
+
"fqn": "projen-pipelines.DriftDetectionStepProps"
|
|
2778
|
+
}
|
|
2779
|
+
}
|
|
2780
|
+
]
|
|
2781
|
+
},
|
|
2782
|
+
"kind": "class",
|
|
2783
|
+
"locationInModule": {
|
|
2784
|
+
"filename": "src/drift/step.ts",
|
|
2785
|
+
"line": 13
|
|
2786
|
+
},
|
|
2787
|
+
"name": "DriftDetectionStep",
|
|
2788
|
+
"symbolId": "src/drift/step:DriftDetectionStep"
|
|
2789
|
+
},
|
|
2790
|
+
"projen-pipelines.DriftDetectionStepProps": {
|
|
2791
|
+
"assembly": "projen-pipelines",
|
|
2792
|
+
"datatype": true,
|
|
2793
|
+
"docs": {
|
|
2794
|
+
"stability": "stable"
|
|
2795
|
+
},
|
|
2796
|
+
"fqn": "projen-pipelines.DriftDetectionStepProps",
|
|
2797
|
+
"interfaces": [
|
|
2798
|
+
"projen-pipelines.DriftDetectionStageOptions"
|
|
2799
|
+
],
|
|
2800
|
+
"kind": "interface",
|
|
2801
|
+
"locationInModule": {
|
|
2802
|
+
"filename": "src/drift/step.ts",
|
|
2803
|
+
"line": 5
|
|
2804
|
+
},
|
|
2805
|
+
"name": "DriftDetectionStepProps",
|
|
2806
|
+
"properties": [
|
|
2807
|
+
{
|
|
2808
|
+
"abstract": true,
|
|
2809
|
+
"docs": {
|
|
2810
|
+
"default": "30",
|
|
2811
|
+
"stability": "stable",
|
|
2812
|
+
"summary": "Timeout in minutes for drift detection."
|
|
2813
|
+
},
|
|
2814
|
+
"immutable": true,
|
|
2815
|
+
"locationInModule": {
|
|
2816
|
+
"filename": "src/drift/step.ts",
|
|
2817
|
+
"line": 10
|
|
2818
|
+
},
|
|
2819
|
+
"name": "timeout",
|
|
2820
|
+
"optional": true,
|
|
2821
|
+
"type": {
|
|
2822
|
+
"primitive": "number"
|
|
2823
|
+
}
|
|
2824
|
+
}
|
|
2825
|
+
],
|
|
2826
|
+
"symbolId": "src/drift/step:DriftDetectionStepProps"
|
|
2827
|
+
},
|
|
2828
|
+
"projen-pipelines.DriftDetectionWorkflow": {
|
|
2829
|
+
"abstract": true,
|
|
2830
|
+
"assembly": "projen-pipelines",
|
|
2831
|
+
"base": "projen.Component",
|
|
2832
|
+
"docs": {
|
|
2833
|
+
"stability": "stable"
|
|
2834
|
+
},
|
|
2835
|
+
"fqn": "projen-pipelines.DriftDetectionWorkflow",
|
|
2836
|
+
"initializer": {
|
|
2837
|
+
"docs": {
|
|
2838
|
+
"stability": "stable"
|
|
2839
|
+
},
|
|
2840
|
+
"locationInModule": {
|
|
2841
|
+
"filename": "src/drift/base.ts",
|
|
2842
|
+
"line": 77
|
|
2843
|
+
},
|
|
2844
|
+
"parameters": [
|
|
2845
|
+
{
|
|
2846
|
+
"name": "project",
|
|
2847
|
+
"type": {
|
|
2848
|
+
"fqn": "projen.Project"
|
|
2849
|
+
}
|
|
2850
|
+
},
|
|
2851
|
+
{
|
|
2852
|
+
"name": "options",
|
|
2853
|
+
"type": {
|
|
2854
|
+
"fqn": "projen-pipelines.DriftDetectionWorkflowOptions"
|
|
2855
|
+
}
|
|
2856
|
+
}
|
|
2857
|
+
]
|
|
2858
|
+
},
|
|
2859
|
+
"kind": "class",
|
|
2860
|
+
"locationInModule": {
|
|
2861
|
+
"filename": "src/drift/base.ts",
|
|
2862
|
+
"line": 72
|
|
2863
|
+
},
|
|
2864
|
+
"name": "DriftDetectionWorkflow",
|
|
2865
|
+
"properties": [
|
|
2866
|
+
{
|
|
2867
|
+
"docs": {
|
|
2868
|
+
"stability": "stable"
|
|
2869
|
+
},
|
|
2870
|
+
"immutable": true,
|
|
2871
|
+
"locationInModule": {
|
|
2872
|
+
"filename": "src/drift/base.ts",
|
|
2873
|
+
"line": 73
|
|
2874
|
+
},
|
|
2875
|
+
"name": "name",
|
|
2876
|
+
"type": {
|
|
2877
|
+
"primitive": "string"
|
|
2878
|
+
}
|
|
2879
|
+
},
|
|
2880
|
+
{
|
|
2881
|
+
"docs": {
|
|
2882
|
+
"stability": "stable"
|
|
2883
|
+
},
|
|
2884
|
+
"immutable": true,
|
|
2885
|
+
"locationInModule": {
|
|
2886
|
+
"filename": "src/drift/base.ts",
|
|
2887
|
+
"line": 74
|
|
2888
|
+
},
|
|
2889
|
+
"name": "schedule",
|
|
2890
|
+
"type": {
|
|
2891
|
+
"primitive": "string"
|
|
2892
|
+
}
|
|
2893
|
+
},
|
|
2894
|
+
{
|
|
2895
|
+
"docs": {
|
|
2896
|
+
"stability": "stable"
|
|
2897
|
+
},
|
|
2898
|
+
"immutable": true,
|
|
2899
|
+
"locationInModule": {
|
|
2900
|
+
"filename": "src/drift/base.ts",
|
|
2901
|
+
"line": 75
|
|
2902
|
+
},
|
|
2903
|
+
"name": "stages",
|
|
2904
|
+
"protected": true,
|
|
2905
|
+
"type": {
|
|
2906
|
+
"collection": {
|
|
2907
|
+
"elementtype": {
|
|
2908
|
+
"fqn": "projen-pipelines.DriftDetectionStageOptions"
|
|
2909
|
+
},
|
|
2910
|
+
"kind": "array"
|
|
2911
|
+
}
|
|
2912
|
+
}
|
|
2913
|
+
}
|
|
2914
|
+
],
|
|
2915
|
+
"symbolId": "src/drift/base:DriftDetectionWorkflow"
|
|
2916
|
+
},
|
|
2917
|
+
"projen-pipelines.DriftDetectionWorkflowOptions": {
|
|
2918
|
+
"assembly": "projen-pipelines",
|
|
2919
|
+
"datatype": true,
|
|
2920
|
+
"docs": {
|
|
2921
|
+
"stability": "stable"
|
|
2922
|
+
},
|
|
2923
|
+
"fqn": "projen-pipelines.DriftDetectionWorkflowOptions",
|
|
2924
|
+
"kind": "interface",
|
|
2925
|
+
"locationInModule": {
|
|
2926
|
+
"filename": "src/drift/base.ts",
|
|
2927
|
+
"line": 53
|
|
2928
|
+
},
|
|
2929
|
+
"name": "DriftDetectionWorkflowOptions",
|
|
2930
|
+
"properties": [
|
|
2931
|
+
{
|
|
2932
|
+
"abstract": true,
|
|
2933
|
+
"docs": {
|
|
2934
|
+
"stability": "stable",
|
|
2935
|
+
"summary": "Drift detection configurations for different environments."
|
|
2936
|
+
},
|
|
2937
|
+
"immutable": true,
|
|
2938
|
+
"locationInModule": {
|
|
2939
|
+
"filename": "src/drift/base.ts",
|
|
2940
|
+
"line": 69
|
|
2941
|
+
},
|
|
2942
|
+
"name": "stages",
|
|
2943
|
+
"type": {
|
|
2944
|
+
"collection": {
|
|
2945
|
+
"elementtype": {
|
|
2946
|
+
"fqn": "projen-pipelines.DriftDetectionStageOptions"
|
|
2947
|
+
},
|
|
2948
|
+
"kind": "array"
|
|
2949
|
+
}
|
|
2950
|
+
}
|
|
2951
|
+
},
|
|
2952
|
+
{
|
|
2953
|
+
"abstract": true,
|
|
2954
|
+
"docs": {
|
|
2955
|
+
"default": "\"drift-detection\"",
|
|
2956
|
+
"stability": "stable",
|
|
2957
|
+
"summary": "Name of the workflow."
|
|
2958
|
+
},
|
|
2959
|
+
"immutable": true,
|
|
2960
|
+
"locationInModule": {
|
|
2961
|
+
"filename": "src/drift/base.ts",
|
|
2962
|
+
"line": 58
|
|
2963
|
+
},
|
|
2964
|
+
"name": "name",
|
|
2965
|
+
"optional": true,
|
|
2966
|
+
"type": {
|
|
2967
|
+
"primitive": "string"
|
|
2968
|
+
}
|
|
2969
|
+
},
|
|
2970
|
+
{
|
|
2971
|
+
"abstract": true,
|
|
2972
|
+
"docs": {
|
|
2973
|
+
"default": "\"0 0 * * *\" (daily at midnight)",
|
|
2974
|
+
"stability": "stable",
|
|
2975
|
+
"summary": "Cron schedule for drift detection."
|
|
2976
|
+
},
|
|
2977
|
+
"immutable": true,
|
|
2978
|
+
"locationInModule": {
|
|
2979
|
+
"filename": "src/drift/base.ts",
|
|
2980
|
+
"line": 64
|
|
2981
|
+
},
|
|
2982
|
+
"name": "schedule",
|
|
2983
|
+
"optional": true,
|
|
2984
|
+
"type": {
|
|
2985
|
+
"primitive": "string"
|
|
2986
|
+
}
|
|
2987
|
+
}
|
|
2988
|
+
],
|
|
2989
|
+
"symbolId": "src/drift/base:DriftDetectionWorkflowOptions"
|
|
2990
|
+
},
|
|
2991
|
+
"projen-pipelines.DriftErrorHandler": {
|
|
2992
|
+
"assembly": "projen-pipelines",
|
|
2993
|
+
"datatype": true,
|
|
2994
|
+
"docs": {
|
|
2995
|
+
"stability": "stable"
|
|
2996
|
+
},
|
|
2997
|
+
"fqn": "projen-pipelines.DriftErrorHandler",
|
|
2998
|
+
"kind": "interface",
|
|
2999
|
+
"locationInModule": {
|
|
3000
|
+
"filename": "src/drift/base.ts",
|
|
3001
|
+
"line": 36
|
|
3002
|
+
},
|
|
3003
|
+
"name": "DriftErrorHandler",
|
|
3004
|
+
"properties": [
|
|
3005
|
+
{
|
|
3006
|
+
"abstract": true,
|
|
3007
|
+
"docs": {
|
|
3008
|
+
"stability": "stable",
|
|
3009
|
+
"summary": "Action to take when pattern matches."
|
|
3010
|
+
},
|
|
3011
|
+
"immutable": true,
|
|
3012
|
+
"locationInModule": {
|
|
3013
|
+
"filename": "src/drift/base.ts",
|
|
3014
|
+
"line": 45
|
|
3015
|
+
},
|
|
3016
|
+
"name": "action",
|
|
3017
|
+
"type": {
|
|
3018
|
+
"primitive": "string"
|
|
3019
|
+
}
|
|
3020
|
+
},
|
|
3021
|
+
{
|
|
3022
|
+
"abstract": true,
|
|
3023
|
+
"docs": {
|
|
3024
|
+
"stability": "stable",
|
|
3025
|
+
"summary": "Pattern to match stack names."
|
|
3026
|
+
},
|
|
3027
|
+
"immutable": true,
|
|
3028
|
+
"locationInModule": {
|
|
3029
|
+
"filename": "src/drift/base.ts",
|
|
3030
|
+
"line": 40
|
|
3031
|
+
},
|
|
3032
|
+
"name": "pattern",
|
|
3033
|
+
"type": {
|
|
3034
|
+
"primitive": "string"
|
|
3035
|
+
}
|
|
3036
|
+
},
|
|
3037
|
+
{
|
|
3038
|
+
"abstract": true,
|
|
3039
|
+
"docs": {
|
|
3040
|
+
"stability": "stable",
|
|
3041
|
+
"summary": "Optional message to display."
|
|
3042
|
+
},
|
|
3043
|
+
"immutable": true,
|
|
3044
|
+
"locationInModule": {
|
|
3045
|
+
"filename": "src/drift/base.ts",
|
|
3046
|
+
"line": 50
|
|
3047
|
+
},
|
|
3048
|
+
"name": "message",
|
|
3049
|
+
"optional": true,
|
|
3050
|
+
"type": {
|
|
3051
|
+
"primitive": "string"
|
|
3052
|
+
}
|
|
3053
|
+
}
|
|
3054
|
+
],
|
|
3055
|
+
"symbolId": "src/drift/base:DriftErrorHandler"
|
|
3056
|
+
},
|
|
2523
3057
|
"projen-pipelines.Environment": {
|
|
2524
3058
|
"assembly": "projen-pipelines",
|
|
2525
3059
|
"datatype": true,
|
|
@@ -2649,55 +3183,153 @@
|
|
|
2649
3183
|
"filename": "src/assign-approver/github.ts",
|
|
2650
3184
|
"line": 44
|
|
2651
3185
|
},
|
|
2652
|
-
"name": "setupWorkflow",
|
|
2653
|
-
"protected": true
|
|
2654
|
-
}
|
|
2655
|
-
],
|
|
2656
|
-
"name": "GitHubAssignApprover",
|
|
2657
|
-
"symbolId": "src/assign-approver/github:GitHubAssignApprover"
|
|
3186
|
+
"name": "setupWorkflow",
|
|
3187
|
+
"protected": true
|
|
3188
|
+
}
|
|
3189
|
+
],
|
|
3190
|
+
"name": "GitHubAssignApprover",
|
|
3191
|
+
"symbolId": "src/assign-approver/github:GitHubAssignApprover"
|
|
3192
|
+
},
|
|
3193
|
+
"projen-pipelines.GitHubAssignApproverOptions": {
|
|
3194
|
+
"assembly": "projen-pipelines",
|
|
3195
|
+
"datatype": true,
|
|
3196
|
+
"docs": {
|
|
3197
|
+
"stability": "stable"
|
|
3198
|
+
},
|
|
3199
|
+
"fqn": "projen-pipelines.GitHubAssignApproverOptions",
|
|
3200
|
+
"interfaces": [
|
|
3201
|
+
"projen-pipelines.AssignApproverOptions"
|
|
3202
|
+
],
|
|
3203
|
+
"kind": "interface",
|
|
3204
|
+
"locationInModule": {
|
|
3205
|
+
"filename": "src/assign-approver/github.ts",
|
|
3206
|
+
"line": 5
|
|
3207
|
+
},
|
|
3208
|
+
"name": "GitHubAssignApproverOptions",
|
|
3209
|
+
"properties": [
|
|
3210
|
+
{
|
|
3211
|
+
"abstract": true,
|
|
3212
|
+
"docs": {
|
|
3213
|
+
"default": "['ubuntu-latest']",
|
|
3214
|
+
"stability": "stable",
|
|
3215
|
+
"summary": "runner tags to use to select runners."
|
|
3216
|
+
},
|
|
3217
|
+
"immutable": true,
|
|
3218
|
+
"locationInModule": {
|
|
3219
|
+
"filename": "src/assign-approver/github.ts",
|
|
3220
|
+
"line": 12
|
|
3221
|
+
},
|
|
3222
|
+
"name": "runnerTags",
|
|
3223
|
+
"optional": true,
|
|
3224
|
+
"type": {
|
|
3225
|
+
"collection": {
|
|
3226
|
+
"elementtype": {
|
|
3227
|
+
"primitive": "string"
|
|
3228
|
+
},
|
|
3229
|
+
"kind": "array"
|
|
3230
|
+
}
|
|
3231
|
+
}
|
|
3232
|
+
}
|
|
3233
|
+
],
|
|
3234
|
+
"symbolId": "src/assign-approver/github:GitHubAssignApproverOptions"
|
|
3235
|
+
},
|
|
3236
|
+
"projen-pipelines.GitHubDriftDetectionWorkflow": {
|
|
3237
|
+
"assembly": "projen-pipelines",
|
|
3238
|
+
"base": "projen-pipelines.DriftDetectionWorkflow",
|
|
3239
|
+
"docs": {
|
|
3240
|
+
"stability": "stable"
|
|
3241
|
+
},
|
|
3242
|
+
"fqn": "projen-pipelines.GitHubDriftDetectionWorkflow",
|
|
3243
|
+
"initializer": {
|
|
3244
|
+
"docs": {
|
|
3245
|
+
"stability": "stable"
|
|
3246
|
+
},
|
|
3247
|
+
"locationInModule": {
|
|
3248
|
+
"filename": "src/drift/github.ts",
|
|
3249
|
+
"line": 25
|
|
3250
|
+
},
|
|
3251
|
+
"parameters": [
|
|
3252
|
+
{
|
|
3253
|
+
"name": "project",
|
|
3254
|
+
"type": {
|
|
3255
|
+
"fqn": "projen.Project"
|
|
3256
|
+
}
|
|
3257
|
+
},
|
|
3258
|
+
{
|
|
3259
|
+
"name": "options",
|
|
3260
|
+
"type": {
|
|
3261
|
+
"fqn": "projen-pipelines.GitHubDriftDetectionWorkflowOptions"
|
|
3262
|
+
}
|
|
3263
|
+
}
|
|
3264
|
+
]
|
|
3265
|
+
},
|
|
3266
|
+
"kind": "class",
|
|
3267
|
+
"locationInModule": {
|
|
3268
|
+
"filename": "src/drift/github.ts",
|
|
3269
|
+
"line": 20
|
|
3270
|
+
},
|
|
3271
|
+
"name": "GitHubDriftDetectionWorkflow",
|
|
3272
|
+
"symbolId": "src/drift/github:GitHubDriftDetectionWorkflow"
|
|
2658
3273
|
},
|
|
2659
|
-
"projen-pipelines.
|
|
3274
|
+
"projen-pipelines.GitHubDriftDetectionWorkflowOptions": {
|
|
2660
3275
|
"assembly": "projen-pipelines",
|
|
2661
3276
|
"datatype": true,
|
|
2662
3277
|
"docs": {
|
|
2663
3278
|
"stability": "stable"
|
|
2664
3279
|
},
|
|
2665
|
-
"fqn": "projen-pipelines.
|
|
3280
|
+
"fqn": "projen-pipelines.GitHubDriftDetectionWorkflowOptions",
|
|
2666
3281
|
"interfaces": [
|
|
2667
|
-
"projen-pipelines.
|
|
3282
|
+
"projen-pipelines.DriftDetectionWorkflowOptions"
|
|
2668
3283
|
],
|
|
2669
3284
|
"kind": "interface",
|
|
2670
3285
|
"locationInModule": {
|
|
2671
|
-
"filename": "src/
|
|
2672
|
-
"line":
|
|
3286
|
+
"filename": "src/drift/github.ts",
|
|
3287
|
+
"line": 7
|
|
2673
3288
|
},
|
|
2674
|
-
"name": "
|
|
3289
|
+
"name": "GitHubDriftDetectionWorkflowOptions",
|
|
2675
3290
|
"properties": [
|
|
2676
3291
|
{
|
|
2677
3292
|
"abstract": true,
|
|
2678
3293
|
"docs": {
|
|
2679
|
-
"default": "
|
|
3294
|
+
"default": "false",
|
|
2680
3295
|
"stability": "stable",
|
|
2681
|
-
"summary": "
|
|
3296
|
+
"summary": "Whether to create issues on drift detection."
|
|
2682
3297
|
},
|
|
2683
3298
|
"immutable": true,
|
|
2684
3299
|
"locationInModule": {
|
|
2685
|
-
"filename": "src/
|
|
2686
|
-
"line":
|
|
3300
|
+
"filename": "src/drift/github.ts",
|
|
3301
|
+
"line": 17
|
|
2687
3302
|
},
|
|
2688
|
-
"name": "
|
|
3303
|
+
"name": "createIssues",
|
|
3304
|
+
"optional": true,
|
|
3305
|
+
"type": {
|
|
3306
|
+
"primitive": "boolean"
|
|
3307
|
+
}
|
|
3308
|
+
},
|
|
3309
|
+
{
|
|
3310
|
+
"abstract": true,
|
|
3311
|
+
"docs": {
|
|
3312
|
+
"stability": "stable",
|
|
3313
|
+
"summary": "Additional permissions for GitHub workflow."
|
|
3314
|
+
},
|
|
3315
|
+
"immutable": true,
|
|
3316
|
+
"locationInModule": {
|
|
3317
|
+
"filename": "src/drift/github.ts",
|
|
3318
|
+
"line": 11
|
|
3319
|
+
},
|
|
3320
|
+
"name": "permissions",
|
|
2689
3321
|
"optional": true,
|
|
2690
3322
|
"type": {
|
|
2691
3323
|
"collection": {
|
|
2692
3324
|
"elementtype": {
|
|
2693
3325
|
"primitive": "string"
|
|
2694
3326
|
},
|
|
2695
|
-
"kind": "
|
|
3327
|
+
"kind": "map"
|
|
2696
3328
|
}
|
|
2697
3329
|
}
|
|
2698
3330
|
}
|
|
2699
3331
|
],
|
|
2700
|
-
"symbolId": "src/
|
|
3332
|
+
"symbolId": "src/drift/github:GitHubDriftDetectionWorkflowOptions"
|
|
2701
3333
|
},
|
|
2702
3334
|
"projen-pipelines.GitInfo": {
|
|
2703
3335
|
"assembly": "projen-pipelines",
|
|
@@ -2919,6 +3551,104 @@
|
|
|
2919
3551
|
],
|
|
2920
3552
|
"symbolId": "src/versioning/types:GitInfoInput"
|
|
2921
3553
|
},
|
|
3554
|
+
"projen-pipelines.GitLabDriftDetectionWorkflow": {
|
|
3555
|
+
"assembly": "projen-pipelines",
|
|
3556
|
+
"base": "projen-pipelines.DriftDetectionWorkflow",
|
|
3557
|
+
"docs": {
|
|
3558
|
+
"stability": "stable"
|
|
3559
|
+
},
|
|
3560
|
+
"fqn": "projen-pipelines.GitLabDriftDetectionWorkflow",
|
|
3561
|
+
"initializer": {
|
|
3562
|
+
"docs": {
|
|
3563
|
+
"stability": "stable"
|
|
3564
|
+
},
|
|
3565
|
+
"locationInModule": {
|
|
3566
|
+
"filename": "src/drift/gitlab.ts",
|
|
3567
|
+
"line": 23
|
|
3568
|
+
},
|
|
3569
|
+
"parameters": [
|
|
3570
|
+
{
|
|
3571
|
+
"name": "project",
|
|
3572
|
+
"type": {
|
|
3573
|
+
"fqn": "projen.Project"
|
|
3574
|
+
}
|
|
3575
|
+
},
|
|
3576
|
+
{
|
|
3577
|
+
"name": "options",
|
|
3578
|
+
"type": {
|
|
3579
|
+
"fqn": "projen-pipelines.GitLabDriftDetectionWorkflowOptions"
|
|
3580
|
+
}
|
|
3581
|
+
}
|
|
3582
|
+
]
|
|
3583
|
+
},
|
|
3584
|
+
"kind": "class",
|
|
3585
|
+
"locationInModule": {
|
|
3586
|
+
"filename": "src/drift/gitlab.ts",
|
|
3587
|
+
"line": 18
|
|
3588
|
+
},
|
|
3589
|
+
"name": "GitLabDriftDetectionWorkflow",
|
|
3590
|
+
"symbolId": "src/drift/gitlab:GitLabDriftDetectionWorkflow"
|
|
3591
|
+
},
|
|
3592
|
+
"projen-pipelines.GitLabDriftDetectionWorkflowOptions": {
|
|
3593
|
+
"assembly": "projen-pipelines",
|
|
3594
|
+
"datatype": true,
|
|
3595
|
+
"docs": {
|
|
3596
|
+
"stability": "stable"
|
|
3597
|
+
},
|
|
3598
|
+
"fqn": "projen-pipelines.GitLabDriftDetectionWorkflowOptions",
|
|
3599
|
+
"interfaces": [
|
|
3600
|
+
"projen-pipelines.DriftDetectionWorkflowOptions"
|
|
3601
|
+
],
|
|
3602
|
+
"kind": "interface",
|
|
3603
|
+
"locationInModule": {
|
|
3604
|
+
"filename": "src/drift/gitlab.ts",
|
|
3605
|
+
"line": 5
|
|
3606
|
+
},
|
|
3607
|
+
"name": "GitLabDriftDetectionWorkflowOptions",
|
|
3608
|
+
"properties": [
|
|
3609
|
+
{
|
|
3610
|
+
"abstract": true,
|
|
3611
|
+
"docs": {
|
|
3612
|
+
"default": "\"node:18\"",
|
|
3613
|
+
"stability": "stable",
|
|
3614
|
+
"summary": "Docker image to use for drift detection."
|
|
3615
|
+
},
|
|
3616
|
+
"immutable": true,
|
|
3617
|
+
"locationInModule": {
|
|
3618
|
+
"filename": "src/drift/gitlab.ts",
|
|
3619
|
+
"line": 15
|
|
3620
|
+
},
|
|
3621
|
+
"name": "image",
|
|
3622
|
+
"optional": true,
|
|
3623
|
+
"type": {
|
|
3624
|
+
"primitive": "string"
|
|
3625
|
+
}
|
|
3626
|
+
},
|
|
3627
|
+
{
|
|
3628
|
+
"abstract": true,
|
|
3629
|
+
"docs": {
|
|
3630
|
+
"stability": "stable",
|
|
3631
|
+
"summary": "GitLab runner tags."
|
|
3632
|
+
},
|
|
3633
|
+
"immutable": true,
|
|
3634
|
+
"locationInModule": {
|
|
3635
|
+
"filename": "src/drift/gitlab.ts",
|
|
3636
|
+
"line": 9
|
|
3637
|
+
},
|
|
3638
|
+
"name": "runnerTags",
|
|
3639
|
+
"optional": true,
|
|
3640
|
+
"type": {
|
|
3641
|
+
"collection": {
|
|
3642
|
+
"elementtype": {
|
|
3643
|
+
"primitive": "string"
|
|
3644
|
+
},
|
|
3645
|
+
"kind": "array"
|
|
3646
|
+
}
|
|
3647
|
+
}
|
|
3648
|
+
}
|
|
3649
|
+
],
|
|
3650
|
+
"symbolId": "src/drift/gitlab:GitLabDriftDetectionWorkflowOptions"
|
|
3651
|
+
},
|
|
2922
3652
|
"projen-pipelines.GitTagConfig": {
|
|
2923
3653
|
"assembly": "projen-pipelines",
|
|
2924
3654
|
"datatype": true,
|
|
@@ -3267,7 +3997,9 @@
|
|
|
3267
3997
|
"assembly": "projen-pipelines",
|
|
3268
3998
|
"base": "projen-pipelines.PipelineStep",
|
|
3269
3999
|
"docs": {
|
|
3270
|
-
"
|
|
4000
|
+
"remarks": "Only supported for GitHub as it is GitHub specific.",
|
|
4001
|
+
"stability": "stable",
|
|
4002
|
+
"summary": "Step to set the GITHUB_TOKEN environment variable from a secret."
|
|
3271
4003
|
},
|
|
3272
4004
|
"fqn": "projen-pipelines.GithubPackagesLoginStep",
|
|
3273
4005
|
"initializer": {
|
|
@@ -3276,7 +4008,7 @@
|
|
|
3276
4008
|
},
|
|
3277
4009
|
"locationInModule": {
|
|
3278
4010
|
"filename": "src/steps/registries.ts",
|
|
3279
|
-
"line":
|
|
4011
|
+
"line": 23
|
|
3280
4012
|
},
|
|
3281
4013
|
"parameters": [
|
|
3282
4014
|
{
|
|
@@ -3299,7 +4031,7 @@
|
|
|
3299
4031
|
"kind": "class",
|
|
3300
4032
|
"locationInModule": {
|
|
3301
4033
|
"filename": "src/steps/registries.ts",
|
|
3302
|
-
"line":
|
|
4034
|
+
"line": 21
|
|
3303
4035
|
},
|
|
3304
4036
|
"methods": [
|
|
3305
4037
|
{
|
|
@@ -3310,7 +4042,7 @@
|
|
|
3310
4042
|
},
|
|
3311
4043
|
"locationInModule": {
|
|
3312
4044
|
"filename": "src/steps/registries.ts",
|
|
3313
|
-
"line":
|
|
4045
|
+
"line": 27
|
|
3314
4046
|
},
|
|
3315
4047
|
"name": "toGithub",
|
|
3316
4048
|
"overrides": "projen-pipelines.PipelineStep",
|
|
@@ -4583,6 +5315,104 @@
|
|
|
4583
5315
|
],
|
|
4584
5316
|
"symbolId": "src/awscdk/base:NamedStageOptions"
|
|
4585
5317
|
},
|
|
5318
|
+
"projen-pipelines.NpmSecretStep": {
|
|
5319
|
+
"assembly": "projen-pipelines",
|
|
5320
|
+
"base": "projen-pipelines.PipelineStep",
|
|
5321
|
+
"docs": {
|
|
5322
|
+
"remarks": "Currently only supported and needed for GitHub.\nGitlab sets the NPM_TOKEN environment variable automatically from the project's settings.",
|
|
5323
|
+
"stability": "stable",
|
|
5324
|
+
"summary": "Step to set the NPM_TOKEN environment variable from a secret."
|
|
5325
|
+
},
|
|
5326
|
+
"fqn": "projen-pipelines.NpmSecretStep",
|
|
5327
|
+
"initializer": {
|
|
5328
|
+
"docs": {
|
|
5329
|
+
"stability": "stable"
|
|
5330
|
+
},
|
|
5331
|
+
"locationInModule": {
|
|
5332
|
+
"filename": "src/steps/registries.ts",
|
|
5333
|
+
"line": 56
|
|
5334
|
+
},
|
|
5335
|
+
"parameters": [
|
|
5336
|
+
{
|
|
5337
|
+
"docs": {
|
|
5338
|
+
"summary": "- The projen project reference."
|
|
5339
|
+
},
|
|
5340
|
+
"name": "project",
|
|
5341
|
+
"type": {
|
|
5342
|
+
"fqn": "projen.Project"
|
|
5343
|
+
}
|
|
5344
|
+
},
|
|
5345
|
+
{
|
|
5346
|
+
"name": "options",
|
|
5347
|
+
"type": {
|
|
5348
|
+
"fqn": "projen-pipelines.NpmSecretStepOptions"
|
|
5349
|
+
}
|
|
5350
|
+
}
|
|
5351
|
+
]
|
|
5352
|
+
},
|
|
5353
|
+
"kind": "class",
|
|
5354
|
+
"locationInModule": {
|
|
5355
|
+
"filename": "src/steps/registries.ts",
|
|
5356
|
+
"line": 54
|
|
5357
|
+
},
|
|
5358
|
+
"methods": [
|
|
5359
|
+
{
|
|
5360
|
+
"docs": {
|
|
5361
|
+
"remarks": "Should be implemented by subclasses.",
|
|
5362
|
+
"stability": "stable",
|
|
5363
|
+
"summary": "Generates a configuration for a GitHub Actions step."
|
|
5364
|
+
},
|
|
5365
|
+
"locationInModule": {
|
|
5366
|
+
"filename": "src/steps/registries.ts",
|
|
5367
|
+
"line": 60
|
|
5368
|
+
},
|
|
5369
|
+
"name": "toGithub",
|
|
5370
|
+
"overrides": "projen-pipelines.PipelineStep",
|
|
5371
|
+
"returns": {
|
|
5372
|
+
"type": {
|
|
5373
|
+
"fqn": "projen-pipelines.GithubStepConfig"
|
|
5374
|
+
}
|
|
5375
|
+
}
|
|
5376
|
+
}
|
|
5377
|
+
],
|
|
5378
|
+
"name": "NpmSecretStep",
|
|
5379
|
+
"symbolId": "src/steps/registries:NpmSecretStep"
|
|
5380
|
+
},
|
|
5381
|
+
"projen-pipelines.NpmSecretStepOptions": {
|
|
5382
|
+
"assembly": "projen-pipelines",
|
|
5383
|
+
"datatype": true,
|
|
5384
|
+
"docs": {
|
|
5385
|
+
"stability": "stable"
|
|
5386
|
+
},
|
|
5387
|
+
"fqn": "projen-pipelines.NpmSecretStepOptions",
|
|
5388
|
+
"kind": "interface",
|
|
5389
|
+
"locationInModule": {
|
|
5390
|
+
"filename": "src/steps/registries.ts",
|
|
5391
|
+
"line": 39
|
|
5392
|
+
},
|
|
5393
|
+
"name": "NpmSecretStepOptions",
|
|
5394
|
+
"properties": [
|
|
5395
|
+
{
|
|
5396
|
+
"abstract": true,
|
|
5397
|
+
"docs": {
|
|
5398
|
+
"default": "'NPM_TOKEN'",
|
|
5399
|
+
"stability": "stable",
|
|
5400
|
+
"summary": "Name of the secret to set for the environment variable NPM_TOKEN."
|
|
5401
|
+
},
|
|
5402
|
+
"immutable": true,
|
|
5403
|
+
"locationInModule": {
|
|
5404
|
+
"filename": "src/steps/registries.ts",
|
|
5405
|
+
"line": 45
|
|
5406
|
+
},
|
|
5407
|
+
"name": "secretName",
|
|
5408
|
+
"optional": true,
|
|
5409
|
+
"type": {
|
|
5410
|
+
"primitive": "string"
|
|
5411
|
+
}
|
|
5412
|
+
}
|
|
5413
|
+
],
|
|
5414
|
+
"symbolId": "src/steps/registries:NpmSecretStepOptions"
|
|
5415
|
+
},
|
|
4586
5416
|
"projen-pipelines.OutputConfigBase": {
|
|
4587
5417
|
"abstract": true,
|
|
4588
5418
|
"assembly": "projen-pipelines",
|
|
@@ -5215,7 +6045,7 @@
|
|
|
5215
6045
|
},
|
|
5216
6046
|
"locationInModule": {
|
|
5217
6047
|
"filename": "src/steps/step.ts",
|
|
5218
|
-
"line":
|
|
6048
|
+
"line": 176
|
|
5219
6049
|
},
|
|
5220
6050
|
"parameters": [
|
|
5221
6051
|
{
|
|
@@ -5245,7 +6075,7 @@
|
|
|
5245
6075
|
"kind": "class",
|
|
5246
6076
|
"locationInModule": {
|
|
5247
6077
|
"filename": "src/steps/step.ts",
|
|
5248
|
-
"line":
|
|
6078
|
+
"line": 175
|
|
5249
6079
|
},
|
|
5250
6080
|
"name": "ProjenScriptStep",
|
|
5251
6081
|
"symbolId": "src/steps/step:ProjenScriptStep"
|
|
@@ -5265,7 +6095,7 @@
|
|
|
5265
6095
|
},
|
|
5266
6096
|
"locationInModule": {
|
|
5267
6097
|
"filename": "src/steps/step.ts",
|
|
5268
|
-
"line":
|
|
6098
|
+
"line": 122
|
|
5269
6099
|
},
|
|
5270
6100
|
"parameters": [
|
|
5271
6101
|
{
|
|
@@ -5290,6 +6120,18 @@
|
|
|
5290
6120
|
"kind": "array"
|
|
5291
6121
|
}
|
|
5292
6122
|
}
|
|
6123
|
+
},
|
|
6124
|
+
{
|
|
6125
|
+
"name": "env",
|
|
6126
|
+
"optional": true,
|
|
6127
|
+
"type": {
|
|
6128
|
+
"collection": {
|
|
6129
|
+
"elementtype": {
|
|
6130
|
+
"primitive": "string"
|
|
6131
|
+
},
|
|
6132
|
+
"kind": "map"
|
|
6133
|
+
}
|
|
6134
|
+
}
|
|
5293
6135
|
}
|
|
5294
6136
|
]
|
|
5295
6137
|
},
|
|
@@ -5306,7 +6148,7 @@
|
|
|
5306
6148
|
},
|
|
5307
6149
|
"locationInModule": {
|
|
5308
6150
|
"filename": "src/steps/step.ts",
|
|
5309
|
-
"line":
|
|
6151
|
+
"line": 143
|
|
5310
6152
|
},
|
|
5311
6153
|
"name": "toBash",
|
|
5312
6154
|
"overrides": "projen-pipelines.PipelineStep",
|
|
@@ -5323,7 +6165,7 @@
|
|
|
5323
6165
|
},
|
|
5324
6166
|
"locationInModule": {
|
|
5325
6167
|
"filename": "src/steps/step.ts",
|
|
5326
|
-
"line":
|
|
6168
|
+
"line": 166
|
|
5327
6169
|
},
|
|
5328
6170
|
"name": "toCodeCatalyst",
|
|
5329
6171
|
"overrides": "projen-pipelines.PipelineStep",
|
|
@@ -5340,7 +6182,7 @@
|
|
|
5340
6182
|
},
|
|
5341
6183
|
"locationInModule": {
|
|
5342
6184
|
"filename": "src/steps/step.ts",
|
|
5343
|
-
"line":
|
|
6185
|
+
"line": 155
|
|
5344
6186
|
},
|
|
5345
6187
|
"name": "toGithub",
|
|
5346
6188
|
"overrides": "projen-pipelines.PipelineStep",
|
|
@@ -5357,7 +6199,7 @@
|
|
|
5357
6199
|
},
|
|
5358
6200
|
"locationInModule": {
|
|
5359
6201
|
"filename": "src/steps/step.ts",
|
|
5360
|
-
"line":
|
|
6202
|
+
"line": 131
|
|
5361
6203
|
},
|
|
5362
6204
|
"name": "toGitlab",
|
|
5363
6205
|
"overrides": "projen-pipelines.PipelineStep",
|
|
@@ -5388,6 +6230,25 @@
|
|
|
5388
6230
|
"kind": "array"
|
|
5389
6231
|
}
|
|
5390
6232
|
}
|
|
6233
|
+
},
|
|
6234
|
+
{
|
|
6235
|
+
"docs": {
|
|
6236
|
+
"stability": "stable"
|
|
6237
|
+
},
|
|
6238
|
+
"locationInModule": {
|
|
6239
|
+
"filename": "src/steps/step.ts",
|
|
6240
|
+
"line": 115
|
|
6241
|
+
},
|
|
6242
|
+
"name": "env",
|
|
6243
|
+
"protected": true,
|
|
6244
|
+
"type": {
|
|
6245
|
+
"collection": {
|
|
6246
|
+
"elementtype": {
|
|
6247
|
+
"primitive": "string"
|
|
6248
|
+
},
|
|
6249
|
+
"kind": "map"
|
|
6250
|
+
}
|
|
6251
|
+
}
|
|
5391
6252
|
}
|
|
5392
6253
|
],
|
|
5393
6254
|
"symbolId": "src/steps/step:SimpleCommandStep"
|
|
@@ -5546,7 +6407,7 @@
|
|
|
5546
6407
|
},
|
|
5547
6408
|
"locationInModule": {
|
|
5548
6409
|
"filename": "src/steps/step.ts",
|
|
5549
|
-
"line":
|
|
6410
|
+
"line": 191
|
|
5550
6411
|
},
|
|
5551
6412
|
"parameters": [
|
|
5552
6413
|
{
|
|
@@ -5577,7 +6438,7 @@
|
|
|
5577
6438
|
"kind": "class",
|
|
5578
6439
|
"locationInModule": {
|
|
5579
6440
|
"filename": "src/steps/step.ts",
|
|
5580
|
-
"line":
|
|
6441
|
+
"line": 182
|
|
5581
6442
|
},
|
|
5582
6443
|
"methods": [
|
|
5583
6444
|
{
|
|
@@ -5586,7 +6447,7 @@
|
|
|
5586
6447
|
},
|
|
5587
6448
|
"locationInModule": {
|
|
5588
6449
|
"filename": "src/steps/step.ts",
|
|
5589
|
-
"line":
|
|
6450
|
+
"line": 276
|
|
5590
6451
|
},
|
|
5591
6452
|
"name": "addSteps",
|
|
5592
6453
|
"parameters": [
|
|
@@ -5606,7 +6467,7 @@
|
|
|
5606
6467
|
},
|
|
5607
6468
|
"locationInModule": {
|
|
5608
6469
|
"filename": "src/steps/step.ts",
|
|
5609
|
-
"line":
|
|
6470
|
+
"line": 280
|
|
5610
6471
|
},
|
|
5611
6472
|
"name": "prependSteps",
|
|
5612
6473
|
"parameters": [
|
|
@@ -5627,7 +6488,7 @@
|
|
|
5627
6488
|
},
|
|
5628
6489
|
"locationInModule": {
|
|
5629
6490
|
"filename": "src/steps/step.ts",
|
|
5630
|
-
"line":
|
|
6491
|
+
"line": 222
|
|
5631
6492
|
},
|
|
5632
6493
|
"name": "toBash",
|
|
5633
6494
|
"overrides": "projen-pipelines.PipelineStep",
|
|
@@ -5644,7 +6505,7 @@
|
|
|
5644
6505
|
},
|
|
5645
6506
|
"locationInModule": {
|
|
5646
6507
|
"filename": "src/steps/step.ts",
|
|
5647
|
-
"line":
|
|
6508
|
+
"line": 259
|
|
5648
6509
|
},
|
|
5649
6510
|
"name": "toCodeCatalyst",
|
|
5650
6511
|
"overrides": "projen-pipelines.PipelineStep",
|
|
@@ -5661,7 +6522,7 @@
|
|
|
5661
6522
|
},
|
|
5662
6523
|
"locationInModule": {
|
|
5663
6524
|
"filename": "src/steps/step.ts",
|
|
5664
|
-
"line":
|
|
6525
|
+
"line": 234
|
|
5665
6526
|
},
|
|
5666
6527
|
"name": "toGithub",
|
|
5667
6528
|
"overrides": "projen-pipelines.PipelineStep",
|
|
@@ -5678,7 +6539,7 @@
|
|
|
5678
6539
|
},
|
|
5679
6540
|
"locationInModule": {
|
|
5680
6541
|
"filename": "src/steps/step.ts",
|
|
5681
|
-
"line":
|
|
6542
|
+
"line": 199
|
|
5682
6543
|
},
|
|
5683
6544
|
"name": "toGitlab",
|
|
5684
6545
|
"overrides": "projen-pipelines.PipelineStep",
|
|
@@ -5697,7 +6558,7 @@
|
|
|
5697
6558
|
},
|
|
5698
6559
|
"locationInModule": {
|
|
5699
6560
|
"filename": "src/steps/step.ts",
|
|
5700
|
-
"line":
|
|
6561
|
+
"line": 184
|
|
5701
6562
|
},
|
|
5702
6563
|
"name": "steps",
|
|
5703
6564
|
"protected": true,
|
|
@@ -7453,6 +8314,6 @@
|
|
|
7453
8314
|
"symbolId": "src/versioning/types:VersioningStrategyComponents"
|
|
7454
8315
|
}
|
|
7455
8316
|
},
|
|
7456
|
-
"version": "0.2.
|
|
7457
|
-
"fingerprint": "
|
|
8317
|
+
"version": "0.2.15",
|
|
8318
|
+
"fingerprint": "tDsuHtGrYYERV1y8ypSmkxlSH8oh0ZgkIAFEdZOyXKQ="
|
|
7458
8319
|
}
|