Skip to content

Parameterize super test on chrome version #29

Parameterize super test on chrome version

Parameterize super test on chrome version #29

# .github/workflows/publish_testpypi.yml
---
name: test-n-build
on:
push:
tags:
- v*
jobs:
super-test:
strategy:
matrix:
os: [ubuntu-latest] #, windows-latest, macos-latest]
python_v: [3.09, ''] #, 3.10, 3.11, 3.12, 3.13]
chrome_v: [0, -1]
name: Build and Test
runs-on: ${{ matrix.os }}
# environment:
# name: pypi
# url: https://test.pypi.org/p/choreographer
# IMPORTANT: this permission is mandatory for trusted publishing
permissions:
id-token: write
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v4
- name: Install Dependencies
if: ${{ matrix.os == 'ubuntu-latest' }}
run: sudo apt-get update && sudo apt-get install xvfb
timeout-minutes: 1
# must actually checkout for version determination
- run: git checkout ${{ github.ref_name }}
- run: uv python install ${{ matrix.python_v }}
- run: git status
# don't modify sync file! messes up version!
- run: uv sync --frozen --all-extras
- run: git restore . # delete uv.lock changest
- run: uv build
- run: uv run --no-sync choreo_get_browser --i ${{ matrix.chrome_v }}
- run: uv pip install dist/choreographer*.whl
# should we delete choreographer?
- run: uv run --no-sync choreo_diagnose --no-run
- name: Test
if: ${{ ! runner.debug && matrix.os != 'ubuntu-latest' }}
run: uv run --no-sync poe test
timeout-minutes: 7
- name: Test (Linux)
if: ${{ ! runner.debug && matrix.os == 'ubuntu-latest' }}
run: xvfb-run uv run --no-sync poe test
timeout-minutes: 7
- name: Test (Debug)
if: runner.debug
run: uv run --no-sync poe debug-test
# different versions of chrome
# REMEMBER TO GO BACK ONE COMMIT ON OTHER BRANCH
#- name: Publish package distributions to PyPI
# uses: pypa/gh-action-pypi-publish@release/v1