Skip to content

darior/actions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 

Repository files navigation

Actions

A collection of reusable github actions for facilitating CI/CD at MyOme.

How to use
Docker workflows
Python workflows

How to use

In your .github/workflows directory, create a yaml file (such as main.yaml). Add a job for each desired workflow with the uses keyword. Use the with keyword to pass any desired variables.

Example:

on: [push]

jobs:
  lint:
    uses: myome/actions/.github/workflows/pylint.yaml@main
    with:
      src: "src"
  black:
    uses: myome/actions/.github/workflows/black.yaml@main
    with:
      src: "src"
      py-version: "3.9"

Docker

build-and-push-to-shr-ecr:

Inputs
dockerfile: dockerfile to build (defaults to "Dockerfile")
build_context: build context for docker build command (defaults to ".")

Secrets
aws-access-key-id: SHR_ECR_CI_ACCESS_KEY_ID as stored in secrets manager
aws-secret-access-key: SHR_ECR_CI_SECRET_ACCESS_KEY as stored in secrets manager

Nextflow

nextflow-smoke-test:

Inputs
config: Workflow config file (defaults to "workflow/nextflow_smoke_test.config")
entry: Entry point for specific workflow (defaults to "command_line")

Secrets
aws-access-key-id: SHR_S3_FLOWS_CI_ACCESS_KEY_ID as stored in secrets manager
aws-secret-access-key: SHR_S3_FLOWS_CI_SECRET_ACCESS_KEY as stored in secrets manager

tag-and-ship-nf-workflow:

Inputs
bucket: AWS s3 bucket to ship workflow to (defaults to "myome-shr-flows")
region: AWS region where target bucket exists (defaults to "us-east-2")

Secrets
aws-access-key-id: SHR_S3_FLOWS_CI_ACCESS_KEY_ID as stored in secrets manager
aws-secret-access-key: SHR_S3_FLOWS_CI_SECRET_ACCESS_KEY as stored in secrets manager

Python

bandit: code security checks

Inputs
src: source directory (defaults to ".")
options: bandit flags (defaults to "-r")
py-version: version of python to use (defaults to "3.x")

black: code formatting

Inputs
src: source directory (defaults to ".")
options: black flags
py-version: version of python to use (defaults to "3.x")

flake8: style guide enforcement

Inputs
src: source directory (defaults to ".")
options: flake8 flags

mypy: static type checking

Inputs
src: source directory (defaults to ".")
options: mypy flags (defaults to "-v")

publish: upload packages to Myome SHR pypi

Inputs
py-version: version of python to use (defaults to "3.x")

Secrets
pypi-pw: SHR_PYPI_CICD_UPLOAD_PWD stored as Github secret

pylint: static code analysis

Inputs
src: source directory (defaults to ".")
options: pylint flags

pytest: test code runner

Inputs
src: source directory (defaults to ".")
options: pytest flags (defaults to "-v")


References

About

reusable github workflows

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •