diff --git a/.github/workflows/publish_testpypi.yml b/.github/workflows/publish_testpypi.yml index 47e3d9c3..53cd1430 100644 --- a/.github/workflows/publish_testpypi.yml +++ b/.github/workflows/publish_testpypi.yml @@ -11,7 +11,7 @@ jobs: strategy: max-parallel: 2 matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [ubuntu-latest, windows-latest, macos-latest, ubuntu-24.04-arm] python_v: ['3.8', '3.9', '3.10', ''] # chrome_v: ['-1'] name: Build and Test @@ -19,10 +19,19 @@ jobs: steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v5 - - name: Install Dependencies - if: ${{ matrix.os == 'ubuntu-latest' }} - run: sudo apt-get update && sudo apt-get install xvfb - timeout-minutes: 1 + - name: Install Dependencies on Ubuntu + if: ${{ startsWith(matrix.os, 'ubuntu-') }} + run: > + sudo apt-get update && + sudo apt-get install xvfb + libnss3 libatk-bridge2.0-0 libcups2 libxcomposite1 libxdamage1 + libxfixes3 libxrandr2 libgbm1 libxkbcommon0 libpango-1.0-0 + libcairo2 + timeout-minutes: 3 + - name: Install Chrome on Ubuntu-Arm + if: ${{ matrix.os == 'ubuntu-24.04-arm' }} + run: sudo apt-get install chromium-browser && chromium --version + timeout-minutes: 3 # must actually checkout for version determination - run: git checkout ${{ github.ref_name }} - run: uv python install ${{ matrix.python_v }} @@ -37,6 +46,7 @@ jobs: run --no-sync --with setuptools-git-versioning setuptools-git-versioning)-py3-none-any.whl - run: uv run --no-sync choreo_get_chrome -v #--i ${{ matrix.chrome_v }} + if: ${{ matrix.os != 'ubuntu-24.04-arm' }} - name: Diagnose run: uv run --no-sync choreo_diagnose --no-run - name: Test diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bf039c6d..5c7a7cdb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,7 +9,7 @@ jobs: test-all: strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [ubuntu-latest, windows-latest, macos-latest, ubuntu-24.04-arm] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -17,14 +17,25 @@ jobs: - uses: actions/setup-python@v5 with: python-version-file: "pyproject.toml" - - - name: Install Dependencies - if: ${{ matrix.os == 'ubuntu-latest' }} - run: sudo apt-get update && sudo apt-get install xvfb - timeout-minutes: 1 + - name: Install Dependencies on Ubuntu + if: ${{ startsWith(matrix.os, 'ubuntu-') }} + run: > + sudo apt-get update && + sudo apt-get install xvfb + libnss3 libatk-bridge2.0-0 libcups2 libxcomposite1 libxdamage1 + libxfixes3 libxrandr2 libgbm1 libxkbcommon0 libpango-1.0-0 + libcairo2 + timeout-minutes: 3 + - name: Install Chrome on Ubuntu-Arm + if: ${{ startsWith(matrix.os, 'ubuntu-') }} + #if: ${{ matrix.os == 'ubuntu-24.04-arm' }} + run: sudo apt-get install chromium-browser && chromium --version + timeout-minutes: 3 - name: Install choreographer run: uv sync --no-sources --all-extras - name: Install google-chrome-for-testing + if: ${{ ! startsWith(matrix.os, 'ubuntu-') }} +# if: ${{ matrix.os != 'ubuntu-24.04-arm' }} run: uv run --no-sources choreo_get_chrome -v - name: Diagnose run: uv run --no-sources choreo_diagnose --no-run diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9bf923b4..a661870a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -46,7 +46,7 @@ repos: }\ }"] - repo: https://github.com/rhysd/actionlint - rev: v1.7.4 + rev: v1.7.7 hooks: - id: actionlint name: Lint GitHub Actions workflow files