Skip to content

Commit 551975d

Browse files
authored
Create other-gccs.yml
1 parent 9dd079f commit 551975d

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

.github/workflows/other-gccs.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Perl CI with Inline::C and OpenMP
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build:
7+
runs-on: ${{ matrix.os }}
8+
strategy:
9+
fail-fast: false # Ensure all jobs run even if one fails
10+
matrix:
11+
os: ["ubuntu-latest"]
12+
perl: ["5.40"] # , "5.38", "5.36", "5.34", "5.32", "5.30", "5.28", "5.26", "5.24", "5.22", "5.20", "5.18", "5.16", "5.14", "5.12"]
13+
gcc: ["13", "11", "9"] # Different GCC versions to test
14+
15+
name: Perl ${{ matrix.perl }} with GCC-${{ matrix.gcc }} on ${{ matrix.os }}
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
# Install the requested GCC version
21+
- name: Install GCC-${{ matrix.gcc }}
22+
run: |
23+
sudo apt update
24+
sudo apt install -y gcc-${{ matrix.gcc }} g++-${{ matrix.gcc }}
25+
echo "Using GCC version:"
26+
gcc-${{ matrix.gcc }} --version
27+
28+
# Set the selected GCC version as default
29+
- name: Configure GCC-${{ matrix.gcc }}
30+
run: |
31+
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ matrix.gcc }} 100
32+
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-${{ matrix.gcc }} 100
33+
export CC=/usr/bin/gcc-${{ matrix.gcc }}
34+
export CXX=/usr/bin/g++-${{ matrix.gcc }}
35+
echo "CC=$CC" >> $GITHUB_ENV
36+
echo "CXX=$CXX" >> $GITHUB_ENV
37+
38+
# Install Perl with the selected GCC
39+
- name: Set up Perl
40+
uses: shogo82148/actions-setup-perl@v1
41+
with:
42+
perl-version: ${{ matrix.perl }}
43+
distribution: "default"
44+
install-option: "-Dcc=${{ env.CC }}"
45+
46+
- run: perl -V
47+
- run: perl -v
48+
49+
# Install Required Perl Modules
50+
- name: Install Required Perl Modules
51+
run: |
52+
cpanm --verbose --notest Module::Build Inline::C Alien::OpenMP \
53+
Util::H2O::More File::Temp Test::Exception Test::Deep \
54+
OpenMP::Environment File::ShareDir
55+
56+
# Run Tests
57+
- name: Run Tests
58+
run: ./test-runner.sh
59+
if: always() # Ensures tests run even if a previous step failed

0 commit comments

Comments
 (0)