Skip to content

pybag-pr-ci

pybag-pr-ci #42

Workflow file for this run

# CI flow
name: pybag-pr-ci
on:
push:
schedule:
- cron: '0 9 * * *' # 9AM UTC = 2AM PST
env:
CONDA_ENV_NAME: bag_py3d7_c
jobs:
build:
runs-on: ubuntu-20.04
defaults:
run:
shell: bash -el {0}
continue-on-error: true
outputs:
pytestOutput: ${{ steps.unit-tests.outputs.test }}
strategy:
matrix:
python-version: ["3.7"]
steps:
- name: Install packages
run: |
sudo apt update
sudo apt -y install \
autoconf \
curl \
gcc-8 \
g++-8 \
git \
libtool \
libltdl-dev \
pkg-config \
make \
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Setup conda
uses: conda-incubator/[email protected]
with:
activate-environment: ${{ env.CONDA_ENV_NAME }}
python-version: ${{ matrix.python-version }}
auto-activate-base: false
- name: Save Conda Env
# Workaround, this isn't working otherwise.
run: |
echo "CONDA=$CONDA"
echo "CONDA=$CONDA" >> "$GITHUB_ENV"
- name: Cache Conda env
uses: actions/cache@v3
with:
path: ${{ env.CONDA }}/envs/${{ env.CONDA_ENV_NAME }}
key:
conda-${{ runner.os }}--${{ runner.arch }}--${{
steps.get-date.outputs.today }}-${{
hashFiles('environment.yml') }}-${{
env.CACHE_NUMBER }}
env:
# Increase this value to reset cache if etc/example-environment.yml has not changed
CACHE_NUMBER: 0
id: cache-conda
- name: Update conda environment
run: |
echo "CONDA=$CONDA"
conda env update -n ${{ env.CONDA_ENV_NAME }} -f environment.yml
if: steps.cache-conda.outputs.cache-hit != 'true'
- name: Install additional dependencies
if: steps.cache-conda.outputs.cache-hit != 'true'
run: |
cd setup
mkdir install
cp setup_script.sh install/
cp render_template.py install/
cp project-config.template install/
cd install
./setup_script.sh
cd ../../
- name: Build cbag and pybag
id: cpp-build
run: |
export PYBAG_PYTHON=python
echo "PYBAG_PYTHON=$PYBAG_PYTHON"
./run_test.sh
- name: Cache pybag build
uses: actions/cache@v3
with:
path: _build
key:
build-${{ runner.os }}--${{ runner.arch }}--${{
steps.get-date.outputs.today }}-${{
env.CACHE_NUMBER }}
env:
# Increase this value to reset cache if etc/example-environment.yml has not changed
CACHE_NUMBER: 0
id: cache-pybag
test:
needs: build
runs-on: ubuntu-20.04
defaults:
run:
shell: bash -el {0}
continue-on-error: true
outputs:
pytestOutput: ${{ steps.unit-tests.outputs.test }}
strategy:
matrix:
python-version: ["3.7"]
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Setup conda
uses: conda-incubator/[email protected]
with:
activate-environment: bag_py3d7_c
python-version: ${{ matrix.python-version }}
auto-activate-base: false
- name: Save Conda Env
# Workaround, this isn't working otherwise.
run: |
echo "CONDA=$CONDA"
echo "CONDA=$CONDA" >> "$GITHUB_ENV"
- name: Cache Conda env
uses: actions/cache@v3
with:
path: ${{ env.CONDA }}/envs/${{ env.CONDA_ENV_NAME }}
key:
conda-${{ runner.os }}--${{ runner.arch }}--${{
steps.get-date.outputs.today }}-${{
hashFiles('environment.yml') }}-${{
env.CACHE_NUMBER }}
env:
# Increase this value to reset cache if etc/example-environment.yml has not changed
CACHE_NUMBER: 0
id: cache-conda
- name: Cache pybag build
uses: actions/cache@v3
with:
path: _build
key:
build-${{ runner.os }}--${{ runner.arch }}--${{
steps.get-date.outputs.today }}-${{
env.CACHE_NUMBER }}
env:
# Increase this value to reset cache if etc/example-environment.yml has not changed
CACHE_NUMBER: 0
id: cache-pybag
- name: Run test
id: run-pytest
run: |
which pytest
pytest tests -v