Skip to content

felleslosninger/github-workflows

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

273 Commits
 
 
 
 
 
 

Repository files navigation

github-workflows

Overview

This repository contains reusable GitHub Workflows and composite Actions for common CI/CD tasks. Workflows are organized by purpose and application type.

Composite actions

We have a set of composite actions that contain reusable steps to avoid duplication, and to reduce maintenance for the Platform team

  • acr-login: This composite action is designed to login to Azure Container Registry via federated credentials
  • image-metadata: This composite action generates Docker image metadata for workflows that need a consistent image name and tag
  • image-signing: This composite action is designed to sign our container images using keyless signing with Cosign, Fulcio CA and Rekor transparency log
  • json-to-summary: This composite action is designed to write JSON content to the step summary
  • sh-scan: This composite action is designed to scan for indicators of compromise (IOCs) related to Shai-Hulud supply chain attacks in NPM
  • trivy-sbom: This composite action is designed to generate and upload a Software Bill of Materials (SBOM) using Trivy
  • trivy-scan: This composite action is designed to perform scanning using Trivy on container images or filesystem paths
  • zap-scan: This composite action is designed to perform ZAP (OWASP Zed Attack Proxy) Dynamic Application Security Testing (DAST) scanning

These actions are used as part of our golden path workflows, but can also be included in custom workflows depending on your needs. Check out the READMEs in the corresponding action directories for more information on how to use them.

Golden path workflows (recommended)

For new projects, you should use the following workflows depending on your needs.

PR Checks

ci-pr-checks.yml: Golden path for PRs to main. Handles Maven library builds and containerized applications. Verifies PR titles, runs builds and security scans, optionally builds container images with Paketo buildpacks, and can auto-merge Dependabot PRs. If build container image is set to true, it will run one of the following application-specific workflows

and optionally runs the Dependabot auto-merge workflow

Check out the internal usage docs for more information.

Build and publish container images

ci-build-publish-image.yml: Proxy workflow for building and publishing images after commits to main. Automatically triggers the appropriate workflow (Spring Boot, Quarkus, or custom Docker) based on application type, with Trivy vulnerability scanning and optional image signing (default true). This workflow will trigger one of the following application-specific workflows

Check out the internal usage docs for more information.

Build and publish Maven libraries

Workflows for building and publishing Maven libraries after commits to main

Check out the internal usage docs for more information.

Other utility workflows

Deprecated Workflows

Maven workflows

The following Maven PR workflows can be considered deprecated as all functionality should be covered by our golde path ci-pr-checks.yml workflow

Custom workflows

The following workflows are not really maintained by the Platform team, and app repos using them should most likely migrate to the docker type ci-build-publish-image.yml workflow

Note that the Platform team might still update these to use new composite actions when applicable.

Development guidelines

Check out the internal usage docs for more information.

About

Collection of Digdir GitHub workflows and actions

Topics

Resources

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors