Python 3.4+: use os.set_inheritable + os.set_blocking in place of unreadable fcntl calls #4
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: illumos | |
on: | |
push: | |
branches: | |
- master | |
paths: | |
- '*.py' | |
- 'tox.ini' | |
- '.github/workflows/illumos.yml' | |
pull_request: | |
branches: | |
- master | |
workflow_dispatch: | |
# allow manual trigger | |
permissions: | |
# BOLD WARNING: do not add permissions, this workflow executes remote code | |
contents: read | |
env: | |
FORCE_COLOR: 1 | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
omnios: | |
name: illumos | |
timeout-minutes: 20 | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: vmactions/omnios-vm@v1 | |
with: | |
# need gcc: compile greenlet from source | |
# autoconf must pretend inotify unavail: libev FTBFS | |
# /tmp/.nginx must exist because nginx will not create configured tmp | |
# build-essential shall point to suitable gcc13/gcc14/.. | |
# TODO: replace python-MN with version-agnostic alias | |
# pinning below r151050 to avoid gcc14 incompat | |
release: "r151050" | |
prepare: | | |
pkg install pip-312 python-312 sqlite-3 nginx gcc13 | |
usesh: true | |
copyback: false | |
run: | | |
cat /etc/release \ | |
&& uname -a \ | |
&& python3 --version \ | |
&& python3 -c 'import os,sys,platform;print(platform.system(),sys.platform,os.name)' \ | |
&& openssl version \ | |
&& pkg info nginx \ | |
&& gcc -dM -E - </dev/null \ | |
&& ac_cv_header_sys_inotify_h=no ac_cv_func_inotify_init=no python3 -m pip install 'gevent!=24.10.1,!=24.10.2,!=24.10.3,!=24.11.1' \ | |
&& mkdir -p /tmp/.nginx \ | |
&& python3 -m pip install tox \ | |
&& python3 -m tox --version \ | |
&& python3 -m tox -e run-module \ | |
&& python3 -m tox -e run-entrypoint \ | |
&& python3 -m tox -e py |