Skip to main content

A TypeScript library for creating and managing GitHub Actions workflows using Constructs, enabling type-safe and modular CI/CD automation.

Project description

🚧 GitHub Actions CDK

github-actions-cdk is a TypeScript library that simplifies the creation and management of GitHub Actions workflows using Constructs. With this library, developers can define workflows in a structured and type-safe manner, making it easier to automate CI/CD pipelines on GitHub.

Features

  • Type-Safe Workflows: Leverage TypeScript's strong typing to define your GitHub Actions workflows and ensure correctness.
  • Modular Design: Easily create and manage jobs, triggers, and options for your workflows.
  • Built-In Support for GitHub Events: Configure workflows based on various GitHub events such as push, pull request, issue comments, and more.
  • Customizable Options: Define environment variables, permissions, concurrency settings, and default job settings.

Installation

To get started with github-actions-cdk, install the package using npm or yarn:

npm install github-actions-cdk

or

yarn add github-actions-cdk

Getting Started

Basic Usage

Here's a simple example of how to create a GitHub Actions workflow using github-actions-cdk:

import { PermissionLevel, Project } from 'github-actions-cdk';
import { Checkout, SetupNode } from 'github-actions-cdk/actions';

const project = new Project();

const workflow = project.addWorkflow('build', {
    name: "Build",
    triggers: {
        push: { branches: ['main'] },
        workflowDispatch: {}
    },
    permissions: {
        contents: PermissionLevel.READ,
    }
});

const job = workflow.addJob('build', {
	env: {
		CI: 'true',
	},
});

job.addAction(
  new Checkout("checkout", {
    name: "Checkout Code",
    version: "v4",
  }),
);

job.addAction(
  new SetupNode("setup-node", {
    name: "Set up Node.js",
    version: "v4",
    nodeVersion: "20.x",
  }),
);

project.synth();

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md for details on how to get involved.

License

This project is licensed under the MIT License. See the LICENSE file for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

github_actions_cdk-0.0.10.tar.gz (239.0 kB view details)

Uploaded Source

Built Distribution

github_actions_cdk-0.0.10-py3-none-any.whl (237.4 kB view details)

Uploaded Python 3

File details

Details for the file github_actions_cdk-0.0.10.tar.gz.

File metadata

  • Download URL: github_actions_cdk-0.0.10.tar.gz
  • Upload date:
  • Size: 239.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for github_actions_cdk-0.0.10.tar.gz
Algorithm Hash digest
SHA256 5c7e4c805309df9e01fbd6063ae8ff5ad9a4b3becacb173cc8d791ea3d00e13a
MD5 ff8c3b22b50f732cc52b77af6b7b34a5
BLAKE2b-256 4d0737fb2250ac74aaf2159ff75df1944be07f8b40a63afe476bf3fb65c5ddad

See more details on using hashes here.

File details

Details for the file github_actions_cdk-0.0.10-py3-none-any.whl.

File metadata

File hashes

Hashes for github_actions_cdk-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 2ff5b209b84449cec951a36f26e5b2ad7dc87a8a14cc2654c2ba57b236e13bbb
MD5 c3a136950483f72b19cb86dd2477e250
BLAKE2b-256 b643afd24b702f95ab7de023df1543b8c6c0b4e8f3a9d6a545cd04df80174345

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page