Build #83
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: | |
pull_request: | |
schedule: | |
- cron: '0 1 * * *' | |
jobs: | |
build_oss: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install OSS-Cad-Suite | |
uses: YosysHQ/setup-oss-cad-suite@v3 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build | |
run: docker run --rm -v $(pwd):/work -v /home/runner/work/_temp/oss-cad-suite:/tabby yosyshq/plugin_build_x64:22.04 make | |
- name: Install | |
run: | | |
cp /home/runner/work/_temp/oss-cad-suite/bin/eqy . | |
make install PREFIX=/home/runner/work/_temp/oss-cad-suite | |
cp -f /home/runner/work/_temp/oss-cad-suite/bin/eqy /home/runner/work/_temp/oss-cad-suite/libexec/. | |
cp -f eqy /home/runner/work/_temp/oss-cad-suite/bin/. | |
- name: Test | |
run: make test | |
build_verific: | |
runs-on: [self-hosted, linux, x64] | |
steps: | |
- name: Checkout EQY | |
uses: actions/checkout@v4 | |
- name: Checkout Yosys | |
uses: actions/checkout@v4 | |
with: | |
repository: 'YosysHQ/yosys' | |
path: 'yosys' | |
- name: Runtime environment | |
run: | | |
echo "procs=$(nproc)" >> $GITHUB_ENV | |
- name: Build Yosys | |
run: | | |
cd yosys | |
make config-clang | |
echo "ENABLE_VERIFIC := 1" >> Makefile.conf | |
echo "ENABLE_VERIFIC_EDIF := 1" >> Makefile.conf | |
echo "ENABLE_VERIFIC_LIBERTY := 1" >> Makefile.conf | |
echo "ENABLE_CCACHE := 1" >> Makefile.conf | |
make -j${{ env.procs }} | |
make install DESTDIR=${GITHUB_WORKSPACE}/.local PREFIX= | |
sed -i 's,/usr/local/share,${GITHUB_WORKSPACE}/.local/share,g' ${GITHUB_WORKSPACE}/.local/bin/yosys-config | |
sed -i 's,/usr/local/include,${GITHUB_WORKSPACE}/.local/include,g' ${GITHUB_WORKSPACE}/.local/bin/yosys-config | |
sed -i 's,/usr/local/lib,${GITHUB_WORKSPACE}/.local/lib,g' ${GITHUB_WORKSPACE}/.local/bin/yosys-config | |
- name: Checkout SBY | |
uses: actions/checkout@v4 | |
with: | |
repository: 'YosysHQ/sby' | |
path: 'sby' | |
- name: Build SBY | |
run: | | |
make -C sby install DESTDIR=${GITHUB_WORKSPACE}/.local PREFIX= | |
- name: EQY Coverage | |
if: (github.event_name != 'schedule') | |
run: | | |
sed -i 's,clang,g,g' ${GITHUB_WORKSPACE}/.local/bin/yosys-config | |
sed -i 's,--gcov-tool $$PWD/llvm-gcov.sh,,g' Makefile | |
sed -i "s,--no-external,--no-external --exclude '*/.local/share/*',g" Makefile | |
make COVERAGE=1 | |
make coverage | |
lcov_cobertura coverage.info --excludes .local.share --demangle | |
- name: EQY Tests | |
if: (github.event_name == 'schedule') | |
run: | | |
make | |
make test EQY="python3 $(pwd)/src/eqy.py" | |
- name: Report | |
if: (github.event_name != 'schedule') | |
run: | | |
python3 .github/workflows/get_markdown.py coverage.xml 90 |