Enable Py3.9 and Py3.12 #113
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: build | |
on: | |
push: | |
branches: [ "master" ] | |
pull_request: | |
branches: [ "master" ] | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Release | |
jobs: | |
build: | |
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. | |
# You can convert this to a matrix build if you need cross-platform coverage. | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.7.13", "3.9.20", "3.12.8"] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
# Update references | |
- name: Git Sumbodule Update | |
run: | | |
git submodule update --init | |
- name: Install LLVM and Clang for CGRA-Mapper | |
uses: egor-tensin/setup-clang@v1 | |
with: | |
version: 12 | |
platform: x64 | |
- name: Configure CMake for CGRA-Mapper | |
run: cd CGRA-Mapper && mkdir build && cd build && cmake .. | |
- name: Build for CGRA-Mapper | |
working-directory: ${{github.workspace}}/CGRA-Mapper/build | |
run: make | |
- name: Test for CGRA-Mapper | |
working-directory: ${{github.workspace}}/CGRA-Mapper/test | |
run: sudo ln -sf /usr/bin/opt-12 /usr/bin/opt && source compile.sh | |
- name: Set up Python ${{ matrix.python-version }} for VectorCGRA | |
uses: actions/setup-python@v3 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: VectorCGRA Git Sumbodule Update | |
run: | | |
cd VectorCGRA | |
git submodule update --init | |
- name: Install Verilator for VectorCGRA | |
run: | | |
wget https://github.com/tancheng/pymtl-verilator/raw/master/verilator-travis-4.036.tar.gz | |
tar -C ${HOME} -xzf verilator-travis-4.036.tar.gz | |
echo "VERILATOR_ROOT=${HOME}/verilator" >> $GITHUB_ENV | |
echo "PYMTL_VERILATOR_INCLUDE_DIR=${HOME}/verilator/share/verilator/include" >> $GITHUB_ENV | |
echo "${HOME}/verilator/bin" >> $GITHUB_PATH | |
- name: Check Verilator for VectorCGRA | |
run: | | |
echo ${VERILATOR_ROOT} | |
echo ${PYMTL_VERILATOR_INCLUDE_DIR} | |
verilator --version | |
- name: Install dependencies for VectorCGRA | |
run: | | |
sudo apt-get install -y graphviz | |
sudo apt-get install git libffi-dev | |
python3 -m venv ${HOME}/venv | |
source ${HOME}/venv/bin/activate | |
pip install py==1.11.0 | |
pip install wheel | |
pip install -U git+https://github.com/tancheng/pymtl3.1@yo-struct-list-fix | |
pip install hypothesis | |
pip install pytest | |
pip list | |
- name: Test with pytest for VectorCGRA | |
run: | | |
cd VectorCGRA | |
mkdir -p build && cd build | |
source ${HOME}/venv/bin/activate | |
pytest .. -v --tb=short | |
- name: Install dependencies for mflowgen | |
run: | | |
sudo apt-get install -y yosys | |
- name: Build for mflowgen | |
working-directory: ${{github.workspace}}/tools/mflowgen | |
run: | | |
pip install -e . | |
- name: Test for mflowgen | |
working-directory: ${{github.workspace}}/tools/mflowgen | |
run: | | |
mkdir build && cd build | |
mflowgen run --design ../designs/GcdUnit | |
make 3 | |
- name: Build for cacti | |
working-directory: ${{github.workspace}}/tools/cacti | |
run: make | |
- name: Install dependencies for sv2v | |
run: stack upgrade | |
- name: Build for sv2v | |
working-directory: ${{github.workspace}}/tools/sv2v | |
run: make | |
- name: Install dependencies for tkinter | |
run: | | |
sudo apt-get install python3-tk | |
source ${HOME}/venv/bin/activate | |
pip install pillow | |
- name: Test for tkinter | |
working-directory: ${{github.workspace}}/ | |
run: | | |
mkdir build && cd build | |
source ${HOME}/venv/bin/activate | |