Skip to content

MPUSP/mpusp-github-actions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

MPUSP GitHub Actions

This repository contains reusable GitHub Actions workflows for the MPUSP, the Max Planck Unit for the Science of Pathogens.

Overview

These workflows are designed to streamline CI processes across MPUSP projects by providing standardized, reusable automation templates. Their main purpose is to secure a harmonized, easy-to-maintain, and up-to-date collection of reusable CI workflows for our Snakemake pipelines.

Workflows

Currently available workflows include:

  • snakemake-tests: Runs standardized tests for Snakemake workflows.
  • deploy-apptainer: Builds and deploys Apptainer containers for Snakemake workflows to GitHub Packages (GHCR). Note: work in progress, use carefully!
  • release-please: Automates the release process using the release-please tool.
  • conventional-prs: Lints pull requests for conventional commit messages.

Usage

To use these workflows in your repository, reference them in your workflow files as outlined below. Note: workflows can be pinned to a specific version tag (@v1.0), but it is recommended to use the latest stable version (@main) in order to keep manual intervention in workflows to a minimum.

Snakemake Tests

name: Snakemake Tests

on:
  pull_request:
    branches: [main]

jobs:
  snakemake-tests:
    uses: MPUSP/mpusp-github-actions/.github/workflows/snakemake-tests.yml@main
    with:
      cores: 2
      dryrun: false

Deploy Apptainer

name: Deploy Apptainer

on:
  workflow_run:
    workflows: ["Release Please"]
    types:
      - completed
  workflow_dispatch:

permissions:
  contents: read
  packages: write

jobs:
  deploy-apptainer:
    if: ${{ github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' }}
    uses: MPUSP/mpusp-github-actions/.github/workflows/deploy-apptainer.yml@main

Release Please

name: Release Please

on:
  push:
    branches: [main]

permissions:
  contents: write
  pull-requests: write
  issues: write

jobs:
  release-please:
    uses: MPUSP/mpusp-github-actions/.github/workflows/release-please.yml@main

Conventional PRs

name: Conventional PRs

on:
  pull_request_target:
    types:
      - opened
      - reopened
      - edited
      - synchronize

permissions:
  pull-requests: read

jobs:
  conventional-prs:
    uses: MPUSP/mpusp-github-actions/.github/workflows/conventional-prs.yml@main

Contributing

For issues and comments, please leave an issue on Github. For further questions, please contact bioinformatics@mpusp.mpg.de.

Authors