Skip to content

Testbed - Config Schemas - Merge pull request #25 from opengamedata/issue/3-refactor-interface-classes Refactor interface classes: phase 1 #5

Testbed - Config Schemas - Merge pull request #25 from opengamedata/issue/3-refactor-interface-classes Refactor interface classes: phase 1

Testbed - Config Schemas - Merge pull request #25 from opengamedata/issue/3-refactor-interface-classes Refactor interface classes: phase 1 #5

Workflow file for this run

# Workflow to test the schemas from the `config` subfolder
name: Testbed - Config 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_Configs.yml'
- 'tests/cases/configs/*.py'
concurrency:
group: ${{ github.repository }}-${{ github.ref }}-${{ github.workflow }}-ConfigSchemas
cancel-in-progress: true
jobs:
run_testbeds:
name: Run Config Schema Testbeds
runs-on: ubuntu-22.04
strategy:
matrix:
testbed: [
t_GameSourceSchema,
t_IndexingConfig,
t_TestConfig,
]
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 work
- name: Execute ${{ matrix.testbed }} testbed
uses: opengamedata/[email protected]
with:
directory: "tests/cases/configs"
test_file: "${{ matrix.testbed }}.py"
python_version: ${{ vars.OGD_PYTHON_VERSION }}
# 4. Cleanup & complete