Skip to content

Commit 4078294

Browse files
committed
Add linux ci
1 parent 275f7bc commit 4078294

File tree

1 file changed

+113
-0
lines changed

1 file changed

+113
-0
lines changed

.github/workflows/linux.yaml

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
name: Linux
2+
on:
3+
push:
4+
branches:
5+
- master
6+
- releases/gcc-*
7+
tags:
8+
- releases/gcc-*
9+
pull_request:
10+
branches:
11+
- master
12+
- releases/gcc-*
13+
tags:
14+
- releases/gcc-*
15+
16+
concurrency:
17+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
18+
cancel-in-progress: true
19+
20+
jobs:
21+
build:
22+
name: ${{ matrix.name }}-build
23+
runs-on: ubuntu-latest
24+
strategy:
25+
matrix:
26+
include:
27+
- name: ubuntu-x64
28+
target: x86_64
29+
30+
fail-fast: false
31+
steps:
32+
- uses: actions/checkout@v3
33+
with:
34+
fetch-depth: 2
35+
36+
- name: Install dependencies
37+
run: |
38+
sudo apt-get -qq update
39+
sudo apt install -y gcc-multilib build-essential flex zlib1g-dev gnat gdc
40+
41+
- name: Install dependencies for aarch64
42+
if: success() && contains(matrix.target, 'aarch64')
43+
run: |
44+
sudo apt-get -y install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu binutils-aarch64-linux-gnu
45+
46+
- name: Download prerequisites
47+
if: success()
48+
run: |
49+
./contrib/download_prerequisites
50+
51+
- name: Configure x86_64
52+
if: success() && matrix.target == 'x86_64'
53+
run: |
54+
unset ADA_INCLUDE_PATH
55+
unset ADA_OBJECT_PATH
56+
cd ../
57+
mkdir build
58+
cd build
59+
../gcc/configure \
60+
--enable-languages=c,c++,go,d,fortran,objc,obj-c++,m2 \
61+
--prefix=/usr \
62+
--with-gcc-major-version-only \
63+
--program-prefix=x86_64-linux-gnu- \
64+
--enable-shared \
65+
--enable-linker-build-id \
66+
--libexecdir=/usr/lib \
67+
--without-included-gettext \
68+
--enable-threads=posix \
69+
--libdir=/usr/lib \
70+
--enable-nls \
71+
--enable-clocale=gnu \
72+
--enable-libstdcxx-debug \
73+
--enable-libstdcxx-time=yes \
74+
--with-default-libstdcxx-abi=new \
75+
--enable-gnu-unique-object \
76+
--disable-vtable-verify \
77+
--enable-plugin \
78+
--enable-default-pie \
79+
--with-system-zlib \
80+
--with-target-system-zlib=auto \
81+
--enable-objc-gc=auto \
82+
--enable-multiarch \
83+
--disable-werror \
84+
--with-arch-32=i686 \
85+
--with-abi=m64 \
86+
--with-multilib-list=m32,m64,mx32 \
87+
--enable-multilib \
88+
--with-tune=generic \
89+
--without-cuda-driver \
90+
--enable-checking=release \
91+
--build=x86_64-linux-gnu \
92+
--host=x86_64-linux-gnu \
93+
--target=x86_64-linux-gnu
94+
95+
- name: Make bootstrap
96+
if: success()
97+
run: |
98+
cd ../build
99+
make bootstrap -j$(nproc)
100+
101+
- name: Make install
102+
if: success()
103+
run: |
104+
cd ../build
105+
sudo make install
106+
107+
- name: Tests
108+
if: success()
109+
run: |
110+
/usr/bin/x86_64-linux-gnu-gcc --version
111+
/usr/bin/x86_64-linux-gnu-gcc -v
112+
cd ../build
113+
make -k check

0 commit comments

Comments
 (0)