Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
bwoodsend committed Oct 12, 2024
1 parent 96bae3b commit 853867d
Showing 1 changed file with 97 additions and 23 deletions.
120 changes: 97 additions & 23 deletions .github/workflows/test-vagrant.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,107 @@
---
name: VMs

on:
workflow_dispatch:
inputs:
variants:
default: freebsd openbsd netbsd solaris dragonflybsd omnios

env:
test_code: |
set -e
export FORCE_COLOR=1
. /tmp/env/bin/activate
pip install -Uq setuptools pip
pip install -qe . -r tests/requirements.txt psutil
pip freeze
CC=gcc ./test
python stdlib/availability.py
ls packaging/contains-slugs/dist/
not which clang || CC=clang ./test
jobs:
parse-parameters:
freebsd:
runs-on: ubuntu-latest
if: contains(inputs.variants, 'freebsd')
steps:
- uses: actions/checkout@v4
- uses: vmactions/freebsd-vm@v1
with:
run: |
pkg install -y python311 py311-sqlite3 gcc
python3.11 -m venv /tmp/env
${{ env.test_code }}
openbsd:
runs-on: ubuntu-latest
if: contains(inputs.variants, 'openbsd')
steps:
- id: parse
shell: python
run: |
import re, json
variants = re.findall(r"\w+", "${{ github.event.inputs.variants }}")
variants = variants or ["freebsd", "openbsd", "netbsd"]
print("::set-output name=variants::" + json.dumps(variants))
outputs:
variants: ${{ steps.parse.outputs.variants }}

test:
needs: parse-parameters
strategy:
fail-fast: false
matrix:
variant: ${{ fromJson(needs.parse-parameters.outputs.variants) }}
runs-on: macos-12
- uses: actions/checkout@v4
- uses: vmactions/openbsd-vm@v1
with:
run: |
pkg_add python3 gcc
python3 -m venv /tmp/env
${{ env.test_code }}
- uses: neilpang/debugger-action@master
if: failure()

netbsd:
runs-on: ubuntu-latest
if: contains(inputs.variants, 'netbsd')
steps:
- uses: actions/checkout@v4
- uses: vmactions/netbsd-vm@v1
with:
run: |
pkg_add python312 clang
python3.12 -m venv /tmp/env
${{ env.test_code }}
- uses: neilpang/debugger-action@master
if: failure()

dragonflybsd:
runs-on: ubuntu-latest
if: contains(inputs.variants, 'dragonflybsd')
steps:
- uses: actions/checkout@v4
- uses: vmactions/dragonflybsd-vm@v1
with:
run: |
pkg_search python
pkg_search py3
pkg_add python312
echo y | pkgin python312
pkg_add py310
pkg_add py39
pkg_add py12
python3 -m venv /tmp/env
${{ env.test_code }}
- uses: neilpang/debugger-action@master
if: failure()

solaris:
runs-on: ubuntu-latest
if: contains(inputs.variants, 'solaris')
steps:
- uses: actions/checkout@v4
- uses: vmactions/solaris-vm@v1
with:
run: |
pkg install runtime/python-39 developer/gcc developer/llvm/clang
python3.9 -m venv /tmp/env
${{ env.test_code }}
- uses: neilpang/debugger-action@master
if: failure()

omnios:
runs-on: ubuntu-latest
if: contains(inputs.variants, 'omnios')
steps:
- uses: actions/checkout@v4
- run: echo ${{ needs.parse-parameters.outputs.variants }}
- run: vagrant up ${{ matrix.variant }}
- run: vagrant ssh ${{ matrix.variant }} -- ./test
- run: vagrant ssh ${{ matrix.variant }} -- python stdlib/availability.py
- uses: vmactions/omnios-vm@v1
with:
run: |
pkg install developer/gcc13 ooce/developer/clang-18
python -m venv /tmp/env
${{ env.test_code }}

0 comments on commit 853867d

Please sign in to comment.