A collection of reusable github actions for facilitating CI/CD at MyOme.
How to use
Docker workflows
Python workflows
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"
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
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
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
Inputs
src
: source directory (defaults to ".")
options
: bandit flags (defaults to "-r")
py-version
: version of python to use (defaults to "3.x")
Inputs
src
: source directory (defaults to ".")
options
: black flags
py-version
: version of python to use (defaults to "3.x")
Inputs
src
: source directory (defaults to ".")
options
: flake8 flags
Inputs
src
: source directory (defaults to ".")
options
: mypy flags (defaults to "-v")
Inputs
py-version
: version of python to use (defaults to "3.x")
Secrets
pypi-pw
: SHR_PYPI_CICD_UPLOAD_PWD stored as Github secret
Inputs
src
: source directory (defaults to ".")
options
: pylint flags
Inputs
src
: source directory (defaults to ".")
options
: pytest flags (defaults to "-v")