Weekly Build #150
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: Weekly Build | |
on: | |
schedule: | |
# weekly at 0300 PST/1000 UTC on Sunday | |
- cron: '0 10 * * 0' | |
workflow_dispatch: | |
jobs: | |
darglint: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
max-parallel: 1 | |
matrix: | |
os: [ubuntu-latest] | |
version: ["3.11"] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: main | |
- name: set up python ${{ matrix.version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.version }} | |
- name: setup test env | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install --upgrade setuptools wheel | |
python -m pip install nox | |
- name: run nox darglint | |
run: python -m nox -s darglint | |
build_posix: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
max-parallel: 10 | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
version: ["3.7", "3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: set up python ${{ matrix.version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.version }} | |
- name: get friendly (for nox) python version | |
# not super friendly looking, but easy way to get major.minor version so we can easily exec only the specific | |
# version we are targeting with nox, while still having versions like 3.9.0a4 | |
run: | | |
echo "FRIENDLY_PYTHON_VERSION=$(python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")" >> $GITHUB_ENV | |
- name: ensure openssl installed for macos | |
# openssl missing/being linked incorrectly causes ssh2-python install failures | |
if: matrix.os == 'macos-latest' | |
run: | | |
brew install openssl libssh2 | |
- name: setup test env | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install --upgrade setuptools wheel | |
python -m pip install nox | |
- name: run nox | |
# TERM is needed needed to make the terminal a tty (i think? without this system ssh is super broken) | |
# libssh2/ssh2-python were getting libssh2 linked incorrectly/weirdly and libraries were trying to be loaded | |
# from the temp dir that pip used for installs. setting the DYLD_LIBRARY_PATH envvar seems to solve this even | |
# if it feels horribly hacky. afaik, this is ignored on linux, so it will only matter on the macos builds | |
# https://stackoverflow.com/questions/71356491/python3-on-mac-having-trouble-loading-libssh2 | |
run: TERM=xterm DYLD_LIBRARY_PATH=/usr/local/lib python -m nox -p $FRIENDLY_PYTHON_VERSION -k "not darglint" |