Includes roms within build for pypi and testing #104
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: CI | |
on: | |
workflow_dispatch: | |
inputs: | |
debug_enabled: | |
type: boolean | |
description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)' | |
required: false | |
default: false | |
push: | |
tags-ignore: | |
- "*.*" | |
paths-ignore: | |
- "docs/**" | |
branches: | |
- "*" | |
pull_request: | |
branches: | |
- "*" | |
jobs: | |
pre-commit: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
- uses: pre-commit/[email protected] | |
tests: | |
name: ${{ matrix.runs-on }} • py${{ matrix.python }} | |
needs: pre-commit | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- runs-on: ubuntu-latest | |
python: '3.8' | |
triplet: x64-linux-mixed | |
- runs-on: ubuntu-latest | |
python: '3.9' | |
triplet: x64-linux-mixed | |
- runs-on: ubuntu-latest | |
python: '3.10' | |
triplet: x64-linux-mixed | |
- runs-on: ubuntu-latest | |
python: '3.11' | |
triplet: x64-linux-mixed | |
- runs-on: macos-latest | |
python: '3.8' | |
triplet: x64-osx-mixed | |
- runs-on: macos-latest | |
python: '3.9' | |
triplet: x64-osx-mixed | |
- runs-on: macos-latest | |
python: '3.10' | |
triplet: x64-osx-mixed | |
- runs-on: macos-latest | |
python: '3.11' | |
triplet: x64-osx-mixed | |
# - runs-on: windows-latest | |
# python: '3.8' | |
# triplet: x64-windows | |
# - runs-on: windows-latest | |
# python: '3.9' | |
# triplet: x64-windows | |
# - runs-on: windows-latest | |
# python: '3.10' | |
# triplet: x64-windows | |
# - runs-on: windows-latest | |
# python: '3.11' | |
# triplet: x64-windows | |
env: | |
VCPKG_DEFAULT_TRIPLET: ${{ matrix.triplet }} | |
runs-on: ${{ matrix.runs-on }} | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: Install test dependencies | |
# TODO(jfarebro): There's a bug with Windows cmake and PEP517 builds via pip install. | |
# As a temporary workaround installing cmake outside of the isolated env seems to work. | |
run: python -m pip install --user cmake | |
- uses: microsoft/[email protected] | |
if: runner.os == 'Windows' | |
# TODO(jfarebro): 02/16/2023 - There's a bug where pkg-config isn't installed on the macOS | |
# runner. See: https://github.com/actions/runner-images/pull/7125 | |
- name: Install pkg-config on macOS | |
if: runner.os == 'macOS' | |
run: brew install pkg-config | |
- uses: lukka/run-vcpkg@v10 | |
with: | |
vcpkgGitCommitId: "9aa0d66373ce3a6868d12353d0d4960db0d4bd18" | |
# There's a permissions issue with the cache | |
# https://github.com/microsoft/vcpkg/issues/20121 | |
doNotCache: true | |
- name: Build | |
run: python -m pip install --user --verbose .[test] | |
- name: Download and extract roms | |
run: ale-accept-license-install-roms | |
- name: Test | |
run: python -m pytest | |
# Enable tmate debugging of manually-triggered workflows if the input option was provided | |
- name: Setup SSH debug session on failure | |
uses: mxschmitt/action-tmate@v3 | |
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled && failure() }} | |
with: | |
limit-access-to-actor: true |