bump to python 3.12.3, deprecated knn gpu because of simsig dependenc… #52
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: ML Project Test | |
| on: [push, pull_request] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| env: | |
| NODE_EXTRA_CA_CERTS: /etc/ssl/certs/ca-certificates.crt | |
| SSL_CERT_FILE: /etc/ssl/certs/ca-certificates.crt | |
| REQUESTS_CA_BUNDLE: /etc/ssl/certs/ca-certificates.crt | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| - name: Set environment variables | |
| run: | | |
| echo "DEBIAN_FRONTEND=noninteractive" >> $GITHUB_ENV | |
| if [[ "${{ vars.IS_GITEA }}" == "true" ]]; then | |
| echo "Setting thread limits for Gitea runner" | |
| echo "OMP_NUM_THREADS=1" >> $GITHUB_ENV | |
| echo "MKL_NUM_THREADS=1" >> $GITHUB_ENV | |
| echo "OPENBLAS_NUM_THREADS=1" >> $GITHUB_ENV | |
| echo "VECLIB_MAXIMUM_THREADS=1" >> $GITHUB_ENV | |
| echo "NUMEXPR_NUM_THREADS=1" >> $GITHUB_ENV | |
| fi | |
| - name: Install Act dependencies | |
| if: ${{ env.ACT }} | |
| run: | | |
| apt-get update && apt-get install -y sudo | |
| - name: Install Runner Dependencies & Configure CA | |
| run: | | |
| sudo apt-get update | |
| # Install Node.js (for JS-based actions) & ca-certificates | |
| sudo apt-get install -y nodejs ca-certificates | |
| # This trusts your mounted certificate (from the act command) | |
| sudo update-ca-certificates | |
| - name: Install ping utility | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y iputils-ping | |
| - name: Set timezone to UTC | |
| run: | | |
| sudo ln -fs /usr/share/zoneinfo/Etc/UTC /etc/localtime | |
| echo "Etc/UTC" | sudo tee /etc/timezone | |
| sudo apt-get update | |
| sudo apt-get install -y tzdata | |
| sudo dpkg-reconfigure -f noninteractive tzdata | |
| - name: Install libgomp1 for LightGBM | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libgomp1 | |
| - name: Install Java for H2O | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y default-jre | |
| - name: Install build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y build-essential | |
| - name: Install Python 3.12 and Git | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y lsb-release software-properties-common gnupg curl git | |
| # --- THIS IS THE GPG KEY FIX --- | |
| sudo gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys BA6932366A755776 | |
| sudo gpg --export BA6932366A755776 | sudo gpg --dearmor -o /usr/share/keyrings/deadsnakes-archive-keyring.gpg | |
| # --- END FIX --- | |
| echo "deb [signed-by=/usr/share/keyrings/deadsnakes-archive-keyring.gpg] http://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/deadsnakes-ppa.list | |
| sudo apt-get update | |
| sudo apt-get install -y python3.12 python3.12-venv python3.12-dev | |
| sudo ln -sf /usr/bin/python3.12 /usr/local/bin/python | |
| sudo ln -sf /usr/bin/python3.12 /usr/local/bin/python3 | |
| python --version | |
| - name: Setup ML project | |
| run: | | |
| cd $GITHUB_WORKSPACE | |
| chmod +x install.sh | |
| # This 'pip' command will now inherit the job-level 'REQUESTS_CA_BUNDLE' | |
| ./install.sh | |
| - name: Debug virtual environment | |
| run: | | |
| VENV_PATH=$(find $GITHUB_WORKSPACE -type d -name "ml_grid_env") | |
| echo "VENV_PATH=$VENV_PATH" >> $GITHUB_ENV | |
| source "$VENV_PATH/bin/activate" | |
| which python | |
| python --version | |
| - name: Run tests | |
| run: | | |
| set -e | |
| cd $GITHUB_WORKSPACE | |
| source "$VENV_PATH/bin/activate" | |
| pytest --nbmake --nbmake-timeout=1200 notebooks/unit_test_synthetic.ipynb | |
| echo "Running Python unit tests..." | |
| pytest tests/ |