@awlsring/cdktf-github-actions
Project description
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
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cdktf-github-actions-0.0.240.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52d61f7a4f4d55b6101d50565119c2a2bb2c8fc8cce14541e2d9dc9e6f892ee4 |
|
MD5 | 839a2664238d5508fb58d4c676ecae7f |
|
BLAKE2b-256 | f2dc90b7e9f874e29ba4d03d182a2a7300d4c41e0a741c3d7dff6749386c184e |
Hashes for cdktf_github_actions-0.0.240-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a71793e07c886ddc2d1a026bdeeb08d4aec286e99260096d4d47058154e920f4 |
|
MD5 | 931cc6f9087230d7f60dca64f7eff4a9 |
|
BLAKE2b-256 | 53b4d9366c274ff59f6708582f17a8c86d46ac94ad6cb093ce0ef817f0e4fcc3 |