refactor: update Dockerfile #44
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: | |
pull_request: | |
branches: | |
- dev | |
push: | |
branches: | |
- '*' | |
jobs: | |
static-code-analysis: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
- name: Setup Conda/Mamba | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
mamba-version: "*" | |
auto-update-conda: true | |
activate-environment: scrnasim | |
environment-file: environment.yml | |
auto-activate-base: false | |
- name: Update scrnasim env with dev packages | |
run: mamba env update -n scrnasim -f environment-dev.yml | |
- name: Display environment info | |
run: | | |
conda info -a | |
conda list | |
- name: flake8 | |
run: flake8 | |
- name: pylint | |
run: pylint --rcfile pylint.cfg setup.py scRNAsim_toolz/ | |
- name: mypy | |
run: mypy scRNAsim_toolz | |
unit-testing: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup Conda/Mamba | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
mamba-version: "*" | |
auto-update-conda: true | |
activate-environment: scrnasim | |
environment-file: environment.yml | |
auto-activate-base: false | |
- name: Update scrnasim env with dev packages | |
run: mamba env update -n scrnasim -f environment-dev.yml | |
- name: Display environment info | |
run: | | |
conda info -a | |
conda list | |
- name: Run unit tests | |
run: | | |
coverage run --source scRNAsim_toolz -m pytest | |
coverage xml | |
- name: Submit coverage report | |
uses: codecov/codecov-action@v2 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: ./coverage.xml | |
verbose: true | |
fail_ci_if_error: false | |
publish: | |
name: build and publish app image | |
runs-on: ubuntu-latest | |
if: | | |
github.event_name == 'push' && | |
github.ref == format('refs/heads/{0}', github.event.repository.default_branch) | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
- name: Generate tag | |
run: | | |
echo "TAG=$(date '+%Y%m%d')" >> $GITHUB_ENV | |
- name: Build and publish image | |
id: docker | |
uses: philips-software/[email protected] | |
with: | |
dockerfile: . | |
image-name: "scrnasim-toolz" | |
tags: "latest ${{ env.TAG }}" | |
push-branches: "${{ github.event.repository.default_branch }}" | |
env: | |
REGISTRY_USERNAME: ${{ secrets.DOCKERHUB_LOGIN }} | |
REGISTRY_TOKEN: "${{ secrets.DOCKERHUB_TOKEN }}" | |
DOCKER_ORGANIZATION: ${{ secrets.DOCKERHUB_ORG }} | |
GITHUB_ORGANIZATION: ${{ github.repository_owner }} | |
- name: Verify that image was pushed | |
run: | | |
echo "Push indicator: ${{ steps.docker.outputs.push-indicator }}" | |
echo "# Set to 'true' if image was pushed, empty string otherwise" | |
test "${{ steps.docker.outputs.push-indicator }}" == "true" |