@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
File details
Details for the file cdktf-github-actions-0.0.140.tar.gz
.
File metadata
- Download URL: cdktf-github-actions-0.0.140.tar.gz
- Upload date:
- Size: 225.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c64eb5b6e3b16c3bf20f68b6c73ecd38afef08eda8961ffd3b17d20210e8014b |
|
MD5 | 9aef0beddae59abfb496102bb42001a1 |
|
BLAKE2b-256 | 0fd716a779a73e4a8e855e0c48211d49f64e2ed38b75b49cfe5b691f11eca841 |
File details
Details for the file cdktf_github_actions-0.0.140-py3-none-any.whl
.
File metadata
- Download URL: cdktf_github_actions-0.0.140-py3-none-any.whl
- Upload date:
- Size: 223.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a5eb58ebfafc293fc681d3f6d2ec959d6ad816417d03616c2e04d66e9a50a70 |
|
MD5 | c0c5f003c1f1fb0c2001d694243c2839 |
|
BLAKE2b-256 | 3620d0fd2b0a3f344655ac030f5d6356c2021b8ff1ed81321caa818bfb5ad491 |