Update GitHub workflows to address deprecation of Python 2.7 from Git… #605
Workflow file for this run
This file contains 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: macOS self-tests | |
on: push | |
jobs: | |
build: | |
runs-on: macos-latest | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v3 | |
- name: Install requirements | |
run: brew install make automake libtool autoconf doxygen && brew reinstall gfortran | |
# PM: Temporary patch to handle deprecation of Python 2.7 by GitHub runners. Should be removed | |
# as soon as we have moved to a more recent version of Trilinos. N.B. we install Python 3 | |
# again after installing Python 2.7, as the installation of the latter forces the former to | |
# be unlinked, and thus Python 3 won't be found by other programs. Installing it again doesn't | |
# overwrite the Python 2 installation. | |
- name: Install Python 2.7 | |
uses: LizardByte/setup-python-action@master | |
with: | |
python-version: "2.7" | |
- name: Install Python 3.13 | |
uses: LizardByte/setup-python-action@master | |
with: | |
python-version: "3.13" | |
- name: Extra config | |
run: | |
printf '%s\n' '--enable-suppress-cgal-build --disable-shared' >> config/configure_options/default \ | |
&& ( export LC_ALL=C; sort -o config/configure_options/default config/configure_options/default ) | |
- name: Build | |
run: ./non_interactive_autogen.sh -s -j$(sysctl -n hw.logicalcpu) | |
# Continue running even if the test fails so that the validation.log can be | |
# uploaded and reviewed later on | |
- name: Validate | |
id: self_tests | |
run: ./bin/parallel_self_test.py | |
continue-on-error: true | |
- name: Upload validation log file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: validation-${{ runner.os }}.log | |
path: ./validation.log | |
- name: Propagate self-test status | |
if: steps.self_tests.outcome == 'failure' | |
run: exit 1 |