Skip to content

Commit 0489ccc

Browse files
[CI] Added GCC-13 as a Compatability Test
Ubuntu 24.04 uses GCC-13 as its default GCC version. The CI should ensure that VTR builds for this version of GCC. Also added the version of Clang that would come with Ubuntu 24.04 Versions of tools were found from here: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md Added as its own workflow which is manually dispatched since the Noble runners are still in beta.
1 parent df5f6f5 commit 0489ccc

File tree

3 files changed

+121
-4
lines changed

3 files changed

+121
-4
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
#!/usr/bin/env bash
2+
3+
sudo apt update
4+
5+
sudo apt install -y \
6+
autoconf \
7+
automake \
8+
bash \
9+
bison \
10+
binutils \
11+
binutils-gold \
12+
build-essential \
13+
capnproto \
14+
exuberant-ctags \
15+
curl \
16+
doxygen \
17+
flex \
18+
fontconfig \
19+
gdb \
20+
git \
21+
gperf \
22+
libcairo2-dev \
23+
libcapnp-dev \
24+
libgtk-3-dev \
25+
libevent-dev \
26+
libfontconfig1-dev \
27+
liblist-moreutils-perl \
28+
libncurses5-dev \
29+
libx11-dev \
30+
libxft-dev \
31+
libxml2-utils \
32+
libxml++2.6-dev \
33+
libreadline-dev \
34+
tcllib \
35+
tcl8.6-dev \
36+
libffi-dev \
37+
perl \
38+
pkg-config \
39+
texinfo \
40+
time \
41+
valgrind \
42+
zip \
43+
qtbase5-dev \
44+
uuid-dev \
45+
default-jdk \
46+
g++-9 \
47+
gcc-9 \
48+
g++-10 \
49+
gcc-10 \
50+
g++-11 \
51+
gcc-11 \
52+
g++-12 \
53+
gcc-12 \
54+
g++-13 \
55+
gcc-13 \
56+
clang-14 \
57+
clang-18 \
58+
clang-format-14 \
59+
libtbb-dev
60+
61+
pip install -r requirements.txt
62+
63+
git clone https://github.com/capnproto/capnproto-java.git $GITHUB_WORKSPACE/env/capnproto-java
64+
pushd $GITHUB_WORKSPACE/env/capnproto-java
65+
make
66+
sudo make install
67+
popd

.github/workflows/noble.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# This workflow is designed to test that VTR can run on Ubuntu 24.04. Since
2+
# the Ubuntu 24.04 GitHub runners are still in Beta, this is left as a workflow
3+
# that must be dispatched manually. In the future this workflow should be
4+
# removed and made the default (integrated into test.yml).
5+
name: Noble
6+
7+
on:
8+
workflow_dispatch:
9+
schedule:
10+
- cron: '0 0 * * *' # daily
11+
12+
# We want to cancel previous runs for a given PR or branch / ref if another CI
13+
# run is requested.
14+
# See: https://docs.github.com/en/actions/using-jobs/using-concurrency
15+
concurrency:
16+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
17+
cancel-in-progress: true
18+
19+
env:
20+
MATRIX_EVAL: "CC=gcc-13 && CXX=g++-13"
21+
22+
jobs:
23+
FutureCompatibility:
24+
runs-on: ubuntu-24.04
25+
strategy:
26+
fail-fast: false
27+
matrix:
28+
include:
29+
- { name: 'GCC 13 (Ubuntu Noble - 24.04)', eval: 'CC=gcc-13 && CXX=g++-13', }
30+
- { name: 'Clang 18 (Ubuntu Noble - 24.04)', eval: 'CC=clang-18 && CXX=clang++-18', }
31+
name: 'B: ${{ matrix.name }}'
32+
steps:
33+
- uses: actions/setup-python@v5
34+
with:
35+
python-version: 3.12.3
36+
- uses: actions/checkout@v4
37+
with:
38+
submodules: 'true'
39+
- run: ./.github/scripts/install_noble_dependencies.sh
40+
41+
- uses: hendrikmuhs/[email protected]
42+
43+
- name: Test
44+
env:
45+
CMAKE_PARAMS: "-DVTR_ASSERT_LEVEL=3 -DVTR_IPO_BUILD=off"
46+
MATRIX_EVAL: ${{ matrix.eval }}
47+
BUILD_TYPE: release
48+
run: |
49+
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
50+
./.github/scripts/build.sh
51+

.github/workflows/test.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -421,9 +421,9 @@ jobs:
421421
matrix:
422422
include:
423423
- { name: 'GCC 9 (Ubuntu Jammy - 22.04)', eval: 'CC=gcc-9 && CXX=g++-9', }
424-
- { name: 'GCC 10 (Ubuntu Jammy - 22.04)', eval: 'CC=gcc-10 && CXX=g++-10', }
425-
- { name: 'GCC 11 (Ubuntu Jammy - 22.04)', eval: 'CC=gcc-11 && CXX=g++-11', }
426-
- { name: 'GCC 12 (Ubuntu Jammy - 22.04)', eval: 'CC=gcc-12 && CXX=g++-12', }
424+
- { name: 'GCC 10 (Ubuntu Jammy - 22.04)', eval: 'CC=gcc-10 && CXX=g++-10', }
425+
- { name: 'GCC 11 (Ubuntu Jammy - 22.04)', eval: 'CC=gcc-11 && CXX=g++-11', }
426+
- { name: 'GCC 12 (Ubuntu Jammy - 22.04)', eval: 'CC=gcc-12 && CXX=g++-12', }
427427
- { name: 'Clang 11 (Ubuntu Jammy - 22.04)', eval: 'CC=clang-11 && CXX=clang++-11', }
428428
- { name: 'Clang 12 (Ubuntu Jammy - 22.04)', eval: 'CC=clang-12 && CXX=clang++-12', }
429429
- { name: 'Clang 13 (Ubuntu Jammy - 22.04)', eval: 'CC=clang-13 && CXX=clang++-13', }
@@ -450,7 +450,6 @@ jobs:
450450
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
451451
./.github/scripts/build.sh
452452
453-
454453
Coverity:
455454
name: 'Coverity Scan'
456455
needs:

0 commit comments

Comments
 (0)