Skip to content

Dev

Dev #35

Workflow file for this run

name: Main Test
on:
pull_request:
push:
branches:
- master
tags:
- '*'
jobs:
run-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Install Python
uses: actions/setup-python@v3
with:
python-version: '3.9'
- name: Install Dependencies
run: |
sudo $pythonLocation/bin/python3 -m pip install -r requirements.txt
sudo $pythonLocation/bin/python3 -m pip install pytest
sudo $pythonLocation/bin/python3 -m pip install -e .
# Current unit test is not consistent. Occasionally fails despite usually passing. Needs to be fixed.
- name: Run Unit Tests
run: |
$pythonLocation/bin/python3 -m pytest --import-mode=append tests/
test-build-pypi:
needs: run-tests
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Install Python
uses: actions/setup-python@v3
with:
python-version: "3.9"
- name: Install Twine
run: sudo $pythonLocation/bin/python3 -m pip install twine wheel
- name: Create the distribution
run: |
git fetch --prune --unshallow --tags
sudo $pythonLocation/bin/python3 setup.py sdist bdist_wheel
test-build-conda:
needs: run-tests
runs-on: ubuntu-latest
# sets default shell to remove need for source to run the conda shell
defaults:
run:
shell: bash -l {0}
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Install Python
uses: actions/setup-python@v3
with:
python-version: "3.9"
- name: Install Miniconda
uses: conda-incubator/setup-miniconda@v2
with:
auto-activate-base: true
activate-environment: ""
miniconda-version: "latest"
- name: Install the Mamba Dependencies
run: |
conda config --set always_yes yes --set auto_update_conda false
conda update conda
conda install mamba -n base -c conda-forge
conda install -n base conda-libmamba-solver
mamba install python=3.9 "conda-build=3.21" colorama pip ruamel ruamel.yaml rich mamba jsonschema -c conda-forge
$pythonLocation/bin/python3 -m pip install -e .
# run install twice due to client-size to ensure all files downloaded
# echo yes before login to prevent anaconda bug breaking automation
# git tags MUST be fetched otherwise output will be blank
# bash variables cannot be used in github actions, must use actions specific syntax and methods
- name: Build the Anaconda Package
id: mambabuild
run: |
mamba install anaconda-client
conda config --set anaconda_upload no
git fetch --prune --unshallow --tags
VERSION_FROM_GIT_TAG=$(git tag --list "v*[0-9]" --sort=version:refname | tail -1 | cut -c 2-) conda build . -c conda-forge -c stanfordcvxgrp --numpy 1.16.4
echo '::set-output name=gitversion::$(git tag --list "v*[0-9]" --sort=version:refname | tail -1 | cut -c 2-)'