Skip to content

Testbed - Game Schemas - Merge pull request #67 from opengamedata/issue/64-separate-configs Separate configs module from schemas #33

Testbed - Game Schemas - Merge pull request #67 from opengamedata/issue/64-separate-configs Separate configs module from schemas

Testbed - Game Schemas - Merge pull request #67 from opengamedata/issue/64-separate-configs Separate configs module from schemas #33

# 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