add save all #5
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
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
name: tests | |
on: | |
- push | |
- pull_request | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
container: tpluck95/vlsir-test-container | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- name: Checkout VLSIR Repo | |
uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
run: | | |
apt-get update | |
apt-get install -y python${{ matrix.python-version }} | |
apt-get install -y python${{ matrix.python-version }}-dev | |
apt-get install -y python${{ matrix.python-version }}-venv | |
apt-get install -y python${{ matrix.python-version }}-distutils | |
#! The bizarre insanity of ". ./venv/..." is an Ubuntu sh translation of | |
#! "source venv/..." seen in most Python documentation | |
- name: pytest `bindings/python` | |
run: | | |
python${{ matrix.python-version }} -m venv ./venv | |
. ./venv/bin/activate | |
cd bindings/python | |
python${{ matrix.python-version }} -m pip install -e ".[dev]" | |
python${{ matrix.python-version }} -m pytest -sv --cov=./ --cov-report=xml | |
- name: pytest `VlsirTools` | |
run: | | |
python${{ matrix.python-version }} -m venv ./venv | |
. ./venv/bin/activate | |
cd VlsirTools | |
python${{ matrix.python-version }} -m pip install -e ".[dev]" | |
python${{ matrix.python-version }} -m pytest -sv --cov=./ --cov-report=xml --simulator_test_mode required --spectre disabled | |
check-formatting: | |
name: Black Formatting Check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Black Formatting Check | |
uses: psf/black@stable | |
with: | |
version: "22.6" | |
options: "--check --diff --verbose --exclude bindings/" | |
build-bindings: | |
name: Build Bindings | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Install protoc | |
uses: arduino/setup-protoc@v1 | |
with: | |
version: '3.x' | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Install 2to3, protobuf and black | |
run: pip3 install 2to3 protobuf black | |
- name: Setup node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 22 | |
- name: Install TypeScript Dependencies | |
run: yarn | |
working-directory: bindings/ts/ | |
- name: Run build script | |
run: scripts/build_all_recipes.sh |