Testbed - Game Schemas - Merge pull request #25 from opengamedata/issue/3-refactor-interface-classes Refactor interface classes: phase 1 #34
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
# Workflow to test the schemas from the `config` subfolder | |
name: Testbed - Game Schemas | |
run-name: ${{ format('{0} - {1}', github.workflow, github.event_name == 'push' && github.event.head_commit.message || 'Manual Run') }} | |
on: | |
workflow_dispatch: | |
workflow_call: | |
push: | |
paths: | |
# repo-wide dependencies | |
- '.github/actions/test_config/**' | |
- 'tests/config/**' | |
- 'requirements.txt' | |
# specific dependencies | |
- '.github/workflows/TEST_GameSchemas.yml' | |
- 'tests/cases/schemas/games/**' | |
concurrency: | |
group: ${{ github.repository }}-${{ github.ref }}-${{ github.workflow }}-GameSchemas | |
cancel-in-progress: true | |
jobs: | |
run_testbed_schema: | |
name: Run Game Schema Testbeds | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
testbed: [ | |
t_DataElementSchema, | |
t_EventSchema, | |
t_GameSchema, | |
t_GameStateSchema | |
] | |
fail-fast: false # we don't want to cancel just because one testbed fails. | |
max-parallel: 20 | |
steps: | |
# 1. Local checkout | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Get Dependencies | |
uses: opengamedata/[email protected] | |
with: | |
python_version: ${{ vars.OGD_PYTHON_VERSION }} | |
- name: Local self-install | |
run: python -m pip install -e . | |
- name: Set up Config File | |
uses: ./.github/actions/test_config | |
with: | |
verbose_output: "True" | |
with_schemas: "True" | |
# 2. Build & configure remote environments | |
# 3. Perform export | |
- name: Execute ${{ matrix.testbed }} testbed | |
uses: opengamedata/[email protected] | |
with: | |
directory: "tests/cases/schemas/games" | |
test_file: "${{ matrix.testbed }}.py" | |
python_version: ${{ vars.OGD_PYTHON_VERSION }} | |
# 4. Cleanup & complete |