-
Notifications
You must be signed in to change notification settings - Fork 5
91 lines (76 loc) · 2.83 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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
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 clean
make COVERAGE=1
make coverage
lcov_cobertura coverage.info --excludes .local.share --demangle
- name: Report
uses: 5monkeys/cobertura-action@master
with:
path: coverage.xml
minimum_coverage: 90
skip_covered: false
fail_below_threshold: true