Skip to content

Commit b9c5ff5

Browse files
authored
Update test-gccs.yml
1 parent 9c7c349 commit b9c5ff5

File tree

1 file changed

+43
-22
lines changed

1 file changed

+43
-22
lines changed

.github/workflows/test-gccs.yml

Lines changed: 43 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,46 +8,67 @@ jobs:
88
strategy:
99
fail-fast: false # Ensure all jobs run even if one fails
1010
matrix:
11-
os: ["ubuntu-latest", "ubuntu-22.04"]
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"]
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"]
1313
gcc: ["13", "11", "9"] # Different GCC versions to test
1414

1515
name: Perl ${{ matrix.perl }} with GCC-${{ matrix.gcc }} on ${{ matrix.os }}
1616

1717
steps:
1818
- uses: actions/checkout@v4
1919

20-
# Install the requested GCC version
21-
- name: Install GCC-${{ matrix.gcc }}
20+
# Install the requested GCC version and dependencies
21+
- name: Install GCC-${{ matrix.gcc }} and Dependencies
2222
run: |
2323
sudo apt update
24-
sudo apt install -y gcc-${{ matrix.gcc }} g++-${{ matrix.gcc }}
25-
echo "Using GCC version:"
26-
gcc-${{ matrix.gcc }} --version
24+
sudo apt install -y gcc-${{ matrix.gcc }} g++-${{ matrix.gcc }} build-essential libgomp1 curl
2725
28-
# Set the selected GCC version as default
29-
- name: Configure GCC-${{ matrix.gcc }}
26+
# Switch GCC at the OS level using update-alternatives
27+
- name: Set GCC-${{ matrix.gcc }} as Default
3028
run: |
3129
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ matrix.gcc }} 100
3230
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 }}
31+
sudo update-alternatives --set gcc /usr/bin/gcc-${{ matrix.gcc }}
32+
sudo update-alternatives --set g++ /usr/bin/g++-${{ matrix.gcc }}
33+
34+
export CC=/usr/bin/gcc
35+
export CXX=/usr/bin/g++
3536
echo "CC=$CC" >> $GITHUB_ENV
3637
echo "CXX=$CXX" >> $GITHUB_ENV
3738
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 }}"
39+
echo "Using system GCC version:"
40+
gcc --version
4541
46-
- run: perl -V
47-
- run: perl -v
42+
# Install Perlbrew
43+
- name: Install Perlbrew
44+
run: |
45+
curl -L https://install.perlbrew.pl | bash
46+
echo 'export PERLBREW_ROOT=$HOME/perl5/perlbrew' >> $HOME/.bashrc
47+
echo 'source $HOME/perl5/perlbrew/etc/bashrc' >> $HOME/.bashrc
48+
export PERLBREW_ROOT=$HOME/perl5/perlbrew
49+
export PATH="$PERLBREW_ROOT/bin:$PATH"
50+
source $HOME/perl5/perlbrew/etc/bashrc
51+
perlbrew available
52+
53+
# Install and Use the Requested Perl Version
54+
- name: Install Perl ${{ matrix.perl }} with GCC-${{ matrix.gcc }}
55+
run: |
56+
export PERLBREW_ROOT=$HOME/perl5/perlbrew
57+
export PATH="$PERLBREW_ROOT/bin:$PATH"
58+
source $HOME/perl5/perlbrew/etc/bashrc
59+
60+
perlbrew install perl-${{ matrix.perl }} -Dcc=$CC
61+
perlbrew use perl-${{ matrix.perl }}
62+
63+
perl -V
64+
perl -v
4865
4966
# Install Required Perl Modules
5067
- name: Install Required Perl Modules
5168
run: |
52-
cpanm --verbose --notest Inline::C
53-
cpanm --verbose Alien::OpenMP
69+
export PERLBREW_ROOT=$HOME/perl5/perlbrew
70+
export PATH="$PERLBREW_ROOT/bin:$PATH"
71+
source $HOME/perl5/perlbrew/etc/bashrc
72+
perlbrew use perl-${{ matrix.perl }}
73+
74+
cpanm --verbose --notest Module::Build Inline::C Alien::OpenMP

0 commit comments

Comments
 (0)