Skip to content

Commit 656d5f1

Browse files
committed
Merge main into PR #629 review branch
2 parents f21f363 + 80ffd77 commit 656d5f1

554 files changed

Lines changed: 45119 additions & 15819 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
name: Build and Test Dynamatic on Ubuntu Latest
2+
3+
on:
4+
# Make sure that settings are set to require permission
5+
# to run workflows by external contributors!
6+
pull_request:
7+
paths-ignore:
8+
- 'docs/**'
9+
branches: ["main"]
10+
types: [opened, synchronize, reopened, ready_for_review]
11+
12+
push:
13+
paths-ignore:
14+
- 'docs/**'
15+
branches: ["main"]
16+
17+
concurrency:
18+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
19+
cancel-in-progress: true
20+
21+
jobs:
22+
build-release:
23+
runs-on: ubuntu-latest
24+
env:
25+
DEBIAN_FRONTEND: noninteractive
26+
27+
steps:
28+
- name: Checkout repository
29+
uses: actions/checkout@v4
30+
31+
- name: Update apt and install prerequisites
32+
run: |
33+
sudo apt-get -y update
34+
sudo apt-get -y install software-properties-common
35+
sudo add-apt-repository ppa:deadsnakes/ppa
36+
37+
- name: Install system dependencies
38+
run: |
39+
sudo apt-get install -y \
40+
--option APT::Immediate-Configure=false \
41+
sudo vim clang lld ccache cmake wget \
42+
ninja-build python3 graphviz git curl \
43+
gzip libreadline-dev \
44+
libboost-all-dev pkg-config python3.12 \
45+
python3.12-venv python3.12-dev \
46+
ghdl verilator
47+
48+
- name: Verify Python 3.12
49+
run: python3.12 --version
50+
51+
- name: Build Dynamatic (release, prebuilt LLVM)
52+
run: |
53+
bash ./build.sh --release --use-prebuilt-llvm --enable-cbc
54+
55+
build-debug:
56+
runs-on: ubuntu-latest
57+
env:
58+
DEBIAN_FRONTEND: noninteractive
59+
60+
steps:
61+
- name: Checkout repository
62+
uses: actions/checkout@v4
63+
64+
- name: Update apt and install prerequisites
65+
run: |
66+
sudo apt-get -y update
67+
sudo apt-get -y install software-properties-common
68+
sudo add-apt-repository ppa:deadsnakes/ppa
69+
70+
- name: Install system dependencies
71+
run: |
72+
sudo apt-get install -y \
73+
--option APT::Immediate-Configure=false \
74+
sudo vim clang lld ccache cmake wget \
75+
ninja-build python3 graphviz git curl \
76+
gzip libreadline-dev \
77+
libboost-all-dev pkg-config python3.12 \
78+
python3.12-venv python3.12-dev \
79+
ghdl verilator
80+
81+
- name: Verify Python 3.12
82+
run: python3.12 --version
83+
84+
- name: Build Dynamatic (debug, prebuilt LLVM)
85+
run: |
86+
bash ./build.sh --use-prebuilt-llvm --enable-cbc
87+
88+
build-release-docker-image:
89+
runs-on: ubuntu-latest
90+
91+
steps:
92+
- name: Checkout repository
93+
uses: actions/checkout@v4
94+
95+
- name: Set up Docker Buildx
96+
uses: docker/setup-buildx-action@v3
97+
98+
- name: Build Docker image
99+
run: docker build -t dynamatic-image . --build-arg UID=$(id -u) --build-arg GID=$(id -g)
100+
101+
102+
- name: Run container tests (release, prebuilt LLVM)
103+
run: docker run -u $(id -u):$(id -g) -v "$(pwd):/home/ubuntu/dynamatic" -w "/home/ubuntu/dynamatic" dynamatic-image /bin/bash build.sh --use-prebuilt-llvm --release

.github/workflows/ci.yml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,20 @@ on:
44
# Make sure that settings are set to require permission
55
# to run workflows by external contributors!
66
pull_request:
7+
paths-ignore:
8+
- 'docs/**'
79
branches: ["main"]
810
types: [opened, synchronize, reopened, ready_for_review]
911

1012
push:
13+
paths-ignore:
14+
- 'docs/**'
1115
branches: ["main"]
1216

17+
concurrency:
18+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
19+
cancel-in-progress: true
20+
1321
jobs:
1422
check-format:
1523
runs-on: ubuntu-latest
@@ -76,7 +84,7 @@ jobs:
7684
repository: ${{github.event.pull_request.head.repo.full_name}}
7785

7886
- name: build
79-
run: ./build.sh --release --force
87+
run: ./build.sh --release --enable-cbc --force
8088

8189
- name: check-dynamatic
8290
if: steps.build.outputs.exit_code == 0
@@ -86,6 +94,10 @@ jobs:
8694
if: steps.build.outputs.exit_code == 0
8795
run: ninja -C build check-dynamatic-experimental
8896

97+
- name: check-constraint-programming-library
98+
if: steps.build.outputs.exit_code == 0
99+
run: ninja -C build run-constraint-programming-test
100+
89101
- name: integration-test
90102
if: steps.build.outputs.exit_code == 0
91103
run: ninja -C build run-ci-integration-tests
@@ -122,4 +134,9 @@ jobs:
122134
integration-test/*/out*/comp
123135
integration-test/*/out*/sim/report.txt
124136
integration-test/*/out/dynamatic_out.txt
137+
integration-test/*/out/dynamatic_err.txt
138+
integration-test/memory/*/out*/comp
139+
integration-test/memory/*/out*/sim/report.txt
140+
integration-test/memory/*/out/dynamatic_out.txt
141+
integration-test/memory/*/out/dynamatic_err.txt
125142

.github/workflows/unittests.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: unittests
2+
3+
on:
4+
# Make sure that settings are set to require permission
5+
# to run workflows by external contributors!
6+
pull_request:
7+
paths-ignore:
8+
- 'docs/**'
9+
branches: ["main"]
10+
types: [opened, synchronize, reopened, ready_for_review]
11+
12+
push:
13+
paths-ignore:
14+
- 'docs/**'
15+
branches: ["main"]
16+
17+
concurrency:
18+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
19+
cancel-in-progress: true
20+
21+
jobs:
22+
unittests:
23+
runs-on: ubuntu-latest
24+
25+
steps:
26+
- name: cleanup
27+
run: |
28+
echo "Emptying folder"
29+
rm -rf -- * .*
30+
echo "Folder contents"
31+
ls -la
32+
33+
- name: Checkout repository
34+
uses: actions/checkout@v4
35+
36+
- name: Update apt and install prerequisites
37+
run: |
38+
sudo apt-get -y update
39+
sudo apt-get -y install software-properties-common
40+
sudo add-apt-repository ppa:deadsnakes/ppa
41+
42+
- name: Install system dependencies
43+
run: |
44+
sudo apt-get install -y \
45+
--option APT::Immediate-Configure=false \
46+
sudo vim clang lld ccache cmake wget \
47+
ninja-build python3 graphviz git curl \
48+
gzip libreadline-dev \
49+
libboost-all-dev pkg-config python3.12 \
50+
python3.12-venv python3.12-dev \
51+
ghdl verilator
52+
53+
- name: Verify Python 3.12
54+
run: python3.12 --version
55+
56+
- name: build
57+
run: ./build.sh --release --use-prebuilt-llvm --enable-abc --enable-cbc --force
58+
59+
- name: check-blif-importer-exporter
60+
if: steps.build.outputs.exit_code == 0
61+
run: ninja run-blif-equiv-tests
62+
working-directory: build
63+
64+

.gitmodules

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
1-
[submodule "polygeist"]
2-
path = polygeist
3-
url = https://github.com/EPFL-LAP/Polygeist.git
4-
branch = main
5-
shallow = true
6-
71
[submodule "visual-dataflow/godot-cpp"]
82
path = visual-dataflow/godot-cpp
93
url = https://github.com/godotengine/godot-cpp
@@ -12,3 +6,7 @@
126
[submodule "data/aig"]
137
path = data/aig
148
url = https://github.com/ETHZ-DYNAMO/dataflow-aig-library
9+
[submodule "llvm-project"]
10+
path = llvm-project
11+
url = https://github.com/EPFL-LAP/llvm-project.git
12+
shallow = true

0 commit comments

Comments
 (0)