chore: setup for almalinux in GH WF x 24 #146
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: Python package tests | |
on: [push] | |
jobs: | |
build: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
container-name: | |
- almalinux:9 | |
container: | |
image: ${{ matrix.container-name }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install dependencies for Python build | |
run: | | |
dnf install -y dnf-plugins-core | |
dnf install -y gcc openssl openssl-devel bzip2-devel libffi-devel zlib-devel make wget curl-minimal | |
dnf install -y git | |
- name: Download and Install Python 3.10 from Source | |
run: | | |
PYTHON_VERSION=3.10.12 | |
wget https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tgz | |
tar -xzf Python-$PYTHON_VERSION.tgz | |
cd Python-$PYTHON_VERSION | |
./configure --enable-optimizations | |
make -j $(nproc) | |
make altinstall # This installs it as `python3.10` without overwriting the default `python3` | |
ln -s /usr/local/bin/python3.10 /usr/local/bin/python # Link it as `python` | |
- name: Verify Python and SSL module | |
run: | | |
python --version | |
python -c "import ssl; print('SSL support is available:', ssl.OPENSSL_VERSION)" | |
- name: Install Torque | |
run: | | |
dnf install -y epel-release | |
dnf install -y torque torque-client torque-devel torque-drmaa torque-mom torque-server torque-scheduler | |
dnf install -y compat-openssl11 | |
- name: Upgrade pip and install dependencies | |
run: | | |
python3.10 -m pip install ".[all]" | |
- name: Unit tests | |
run: | | |
python3.10 -m unittest discover --verbose --catch --start-directory tests/unit |