cdktf-github-actions
This is a library to help define GitHub Actions workflows using CDKTF. This package vends constructs for defining a workflow that will be synthesized to a workflow yaml file in your repos .github/workflows directory.
Development
This project is in early development. The constructs are likely to change as the needs of the project evolve.
A few items I'm currently working towards:
- More github resource synthesis
- Higher test coverage
- More indepth documentation
Usage
Example
import { Construct } from 'constructs';
import { App, TerraformStack } from 'cdktf';
import { Workflow, Job } from 'cdktf-github-actions';
const app = new App();
class MyWorkflowStack executes TerraformStack {
constructor(scope: Construct, name: string) {
super(scope, name);
let echoJob = new Job(this, 'build-job', {
steps: [
{
name: 'echo',
run: 'echo "Hello World"',
},
],
});
const wf = new Workflow(this, 'workflow', {
repoName: 'my-repo',
jobs: [echoJob],
});
}
}
const stack = new MyWorkflowStack(app, 'test');
app.synth();
The constructs support the ability to define github resources and create them using the github terrafrom provider. The following example shows how to create a create a workflow with secrets that will be stored in the repository.
import { Construct } from 'constructs';
import { App, TerraformStack } from 'cdktf';
import { Workflow, Job } from 'cdktf-github-actions';
const app = new App();
class MyWorkflowStack executes TerraformStack {
constructor(scope: Construct, name: string) {
super(scope, name);
let echoJob = new Job(this, 'build-job', {
steps: [
{
name: 'echo',
run: 'echo "Hello World"',
withSecrets: [
{
referencedName: 'token',
secretName: 'MY_SECRET',
secretValue: '123',
},
],
},
],
});
const wf = new Workflow(this, 'workflow', {
repoName: 'my-repo',
jobs: [echoJob],
});
}
}
const stack = new MyWorkflowStack(app, 'test');
app.synth();
The example above will create a secret with the name MY_SECRET and the value 123 in the repository. The secret will be referenced in the workflow using the name token.
Metadata
Release files for cdktf-github-actions 0.0.333
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cdktf-github-actions-0.0.333.tar.gz | 224.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cdktf_github_actions-0.0.333-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 447.8 kB
Release files / cdktf-github-actions-0.0.333.tar.gz
| Download URL | cdktf-github-actions-0.0.333.tar.gz |
|---|---|
| Size | 224.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
59476f321fe58f67b2c3ebee387f45733bb0356239efa6109e25dafe4d08aa93
|
|
BLAKE2b-256 checksum How to use checksums |
4f7f473e776ee19e2fa3dc18884115c094d642d233b9cafc29375e5bbd0ce562
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.12.1
|
Release files / cdktf_github_actions-0.0.333-py3-none-any.whl
| Download URL | cdktf_github_actions-0.0.333-py3-none-any.whl |
|---|---|
| Size | 223.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8b38c975d85c534551148cbc96bb3ce9ec5f8518289e6dd121c3e75992ed11a7
|
|
BLAKE2b-256 checksum How to use checksums |
632f68788a545c258c35bcf108386dda7b0627b55f766e4137b2f23b21da3117
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.12.1
|