rolling 0.3.7 #14
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 . |