Skip to content

Merge pull request #582 from EpistasisLab/dependabot/npm_and_yarn/lab… #469

Merge pull request #582 from EpistasisLab/dependabot/npm_and_yarn/lab…

Merge pull request #582 from EpistasisLab/dependabot/npm_and_yarn/lab… #469

Workflow file for this run

name: Aliro CI/CD
# Controls when the action will run.
on:
push:
branches:
- master
pull_request:
branches:
- master
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build_int_test:
name: Integration Tests
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
# Runs a single command using the runners shell
- name: Build Docker Images
run: docker-compose -f ./docker-compose-int-test.yml build -m 8g
# Runs a set of commands using the runners shell
- name: Run Integration Tests
run: |
docker-compose -f ./docker-compose-int-test.yml run tester bash -c "sh /root/wait_pennai.sh && npm test"
docker-compose -f ./docker-compose-int-test.yml down
build_web_app:
name: Unit Tests for Webapp
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.7'
# Runs a single command using the runners shell
- name: Build Docker Images
run: |
docker-compose -f ./docker-compose-unit-test.yml build -m 8g
# Runs a set of commands using the runners shell
- name: Run Unit Tests
run: |
git lfs fetch --all
docker-compose -f ./docker-compose-unit-test.yml up --abort-on-container-exit -V
- name: Coveralls
uses: AndreMiras/coveralls-python-action@develop
with:
parallel: true
flag-name: Unit Test for webapp
build_pypkg:
name: Unit Tests for scikit-learn API
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.7'
- name: Build Docker Images
run: |
pip install coveralls
docker-compose -f ./docker-compose-unit-test.yml build -m 8g
# Runs a set of commands using the runners shell
- name: Run Unit Tests
run: |
git lfs fetch --all
git lfs pull
docker run -v $(pwd):/appsrc -w /appsrc aliro_unit_tester coverage run -m nose -s -v ai/tests/test_sklearn_api.py
coverage combine
- name: Coveralls
uses: AndreMiras/coveralls-python-action@develop
with:
parallel: true
flag-name: Unit Test for scikit-learn api
coveralls_finish:
name: Publish Coveralls
needs: [build_web_app, build_pypkg]
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: AndreMiras/coveralls-python-action@develop
with:
parallel-finished: true
deploy_pypkg:
if: ${{ github.event_name == 'release' && github.event.action == 'published' }}
name: Deploy python package
needs: build_pypkg
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.7'
- name: Install dependencies
if: ${{ github.event_name == 'release' && github.event.action == 'published' }}
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine
- name: Build and publish
if: ${{ github.event_name == 'release' && github.event.action == 'published' && success()}}
env:
TWINE_USERNAME: "__token__"
TWINE_PASSWORD: ${{ secrets.PENNAI_TOKEN }}
run: |
python setup.py sdist bdist_wheel
twine upload dist/*
build_docs:
# Only publish docs on master branch
if: github.ref == 'refs/heads/master'
name: Publish Docs
needs: [build_int_test, build_web_app, build_pypkg]
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.7'
- name: Build Docker Images
run: |
docker-compose -f ./docker-compose-doc-builder.yml build -m 8g
# Building docs # Tell GitHub not to use jekyll to compile the docs
- name: Building Docs
run: |
docker-compose -f ./docker-compose-doc-builder.yml up --abort-on-container-exit --force-recreate
sudo touch target/ai_docs/html/.nojekyll
- name: Deploy
uses: JamesIves/github-pages-deploy-action@3.7.1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages
FOLDER: target/ai_docs/html/
CLEAN: false # Automatically remove deleted files from the deploy branch