Skip to content

rolling 0.3.7

rolling 0.3.7 #14

Workflow file for this run

name: Perl CI with Inline::C and OpenMP
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false # Ensure all jobs run even if one fails
matrix:
os: ["ubuntu-latest"]
perl: ["5.40.1", "5.38.3", "5.36.3", "5.34.3", "5.32.1", "5.30.3", "5.28.3", "5.26.3", "5.24.4", "5.22.3", "5.20.0", "5.18.4", "5.16.3", "5.14.4", "5.12.5"]
gcc: ["13", "11", "9"] # Different GCC versions to test
name: Perl ${{ matrix.perl }} with GCC-${{ matrix.gcc }} on ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
# Install the requested GCC version and dependencies
- name: Install GCC-${{ matrix.gcc }} and Dependencies
run: |
sudo apt update
sudo apt install -y gcc-${{ matrix.gcc }} g++-${{ matrix.gcc }} build-essential libgomp1 curl
# Switch GCC at the OS level using update-alternatives
- name: Set GCC-${{ matrix.gcc }} as Default
run: |
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ matrix.gcc }} 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-${{ matrix.gcc }} 100
sudo update-alternatives --set gcc /usr/bin/gcc-${{ matrix.gcc }}
sudo update-alternatives --set g++ /usr/bin/g++-${{ matrix.gcc }}
export CC=/usr/bin/gcc
export CXX=/usr/bin/g++
echo "CC=$CC" >> $GITHUB_ENV
echo "CXX=$CXX" >> $GITHUB_ENV
echo "Using system GCC version:"
gcc --version
# Install Perlbrew
- name: Install Perlbrew
run: |
curl -L https://install.perlbrew.pl | bash
echo 'export PERLBREW_ROOT=$HOME/perl5/perlbrew' >> $HOME/.bashrc
echo 'source $HOME/perl5/perlbrew/etc/bashrc' >> $HOME/.bashrc
export PERLBREW_ROOT=$HOME/perl5/perlbrew
export PATH="$PERLBREW_ROOT/bin:$PATH"
source $HOME/perl5/perlbrew/etc/bashrc
perlbrew available
# Install and Use the Requested Perl Version
- name: Install Perl ${{ matrix.perl }} with GCC-${{ matrix.gcc }}
run: |
export PERLBREW_ROOT=$HOME/perl5/perlbrew
export PATH="$PERLBREW_ROOT/bin:$PATH"
source $HOME/perl5/perlbrew/etc/bashrc
perlbrew --verbose --notest install perl-${{ matrix.perl }} -Dcc=$CC
perlbrew use perl-${{ matrix.perl }}
perlbrew install-cpanm
perl -V
perl -v
# Install Required Perl Modules
- name: Install Required Perl Modules
run: |
export PERLBREW_ROOT=$HOME/perl5/perlbrew
export PATH="$PERLBREW_ROOT/bin:$PATH"
source $HOME/perl5/perlbrew/etc/bashrc
perlbrew use perl-${{ matrix.perl }}
cpanm --verbose --notest Inline::C
cpanm --verbose .