https://github.com/ccao-data/actions

GitHub Actions for CCAO Data projects

https://github.com/ccao-data/actions

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary

Keywords

ci gh-actions github-actions infrastructure

Keywords from Contributors

assessment property-taxes taxes
Last synced: 5 months ago · JSON representation

Repository

GitHub Actions for CCAO Data projects

Basic Info
  • Host: GitHub
  • Owner: ccao-data
  • Default Branch: main
  • Homepage:
  • Size: 48.8 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 9
  • Releases: 0
Topics
ci gh-actions github-actions infrastructure
Created over 2 years ago · Last pushed 9 months ago
Metadata Files
Readme

README.md

Actions

GitHub Actions for CCAO Data projects.

This repo also includes reusable workflows (stored in the .github/workflows/ directory) and bash scripts to support them (stored in the .github/workflow/scripts/ directory.)

Quick links

Actions

The following composite actions are available for use:

setup-terraform

Install and configure Terraform and AWS for the correct workspace (staging or prod).

Requirements

  • At least one Terraform (*.tf) config file must exist in the repo. The path to these files can be specified with the working-directory input variable (defaults to ".").
  • The calling workflow must grant the following permissions to the job that calls this action:
    • contents: read
    • id-token: write
  • Various required inputs and secrets must be passed in by the calling workflow. See the action file for details.

Sample usage

See the Setup Terraform step in the run job in the build-and-run-batch-job workflow.

cleanup-terraform

Delete all AWS resources managed by a Terraform configuration.

Requirements

See the requirements for setup-terraform.

Sample usage

See the sample usage for setup-terraform.

Workflows

The following reusable workflows are available for use:

build-and-run-batch-job

Build a Docker image, push it to the GitHub Container Registry, and then optionally use that container image to run a job on AWS Batch.

The Batch job will only run when the workflow is manually dispatched from the GitHub UI. Jobs are gated behind an environment called deploy, which can be configured to require approval before running. This is handy for intensive jobs that don't need to be run on every commit during development.

An optional cleanup step will run on the pull_request.closed event if the calling workflow is configured to run on that event as well. This step will delete all AWS resources provisioned by Terraform. No other steps will run on pull_request.closed.

The workflow is composed of three jobs:

  • build: Always runs, except on the pull_request.closed event. Builds a Docker image and pushes it to GHCR.
  • run: Runs after build only when manually dispatched and when the deploy environment is approved. Provisions a Batch compute environment, job queue, and job definition using the image built in the build step using Terraform, and then kicks off a job using that job definition. Waits for the job to complete before exiting.
  • cleanup: Deletes all AWS resources created by the workflow. Only runs on the pull_request.closed event, in which case neither build nor run will run.

Requirements

  • A Dockerfile must be defined in the root of the repo whose workflow is calling build-and-run-batch-job.
  • An environment called deploy must be configured in the calling repo. This environment can be used to gate the run job behind approval.
  • If you would like the cleanup step to run, the calling workflow must be configured to run on the pull_request.closed event.
  • Various AWS VPC and IAM resources that are used across jobs are assumed to already exist. These resources are defined as data entities in the Terraform config for the workflow. In the future we could factor this out to make these resource IDs configurable, but for now they are hardcoded to point to the corresponding resources in the CCAO Data AWS organization. See the Terraform config for details.
  • The calling workflow must grant the following permissions to the job that calls this workflow:
    • contents: read
    • id-token: write
    • packages: write
  • Various required inputs and secrets must be passed in by the calling workflow. See the workflow file for details.

Sample usage

See the build-and-run-model workflow in model-res-avm.

Owner

  • Name: Cook County Assessor's Office
  • Login: ccao-data
  • Kind: organization
  • Email: assessor.data@cookcountyil.gov

GitHub Events

Total
  • Issues event: 1
  • Delete event: 3
  • Issue comment event: 2
  • Push event: 23
  • Pull request review comment event: 3
  • Pull request review event: 5
  • Pull request event: 8
  • Create event: 5
Last Year
  • Issues event: 1
  • Delete event: 3
  • Issue comment event: 2
  • Push event: 23
  • Pull request review comment event: 3
  • Pull request review event: 5
  • Pull request event: 8
  • Create event: 5

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 24
  • Total Committers: 3
  • Avg Commits per committer: 8.0
  • Development Distribution Score (DDS): 0.375
Past Year
  • Commits: 4
  • Committers: 1
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Jean Cochrane j****e 15
Dan Snow 3****w 5
wagnerlmichael 9****l 4

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 13
  • Total pull requests: 29
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 3 days
  • Total issue authors: 2
  • Total pull request authors: 3
  • Average comments per issue: 0.54
  • Average comments per pull request: 0.21
  • Merged pull requests: 23
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 9
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 days
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.22
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • dfsnow (8)
  • jeancochrane (5)
Pull Request Authors
  • jeancochrane (27)
  • wagnerlmichael (10)
  • dfsnow (6)
Top Labels
Issue Labels
bug (2) enhancement (2)
Pull Request Labels

Dependencies

.github/workflows/build-and-run-batch-job.yaml actions
  • ./actions/cleanup-terraform * composite
  • ./actions/setup-terraform * composite
  • actions/checkout v4 composite
  • docker/build-push-action v5 composite
  • docker/login-action v3 composite
  • docker/metadata-action v5 composite
  • docker/setup-buildx-action v3 composite
.github/workflows/pre-commit.yaml actions
  • actions/cache v3 composite
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
cleanup-terraform/action.yaml actions
  • ./actions/setup-terraform * composite
setup-terraform/action.yaml actions
  • aws-actions/configure-aws-credentials v4 composite
  • hashicorp/setup-terraform v2 composite