Skip to content

Move game error handling to 'GameError' #358

Move game error handling to 'GameError'

Move game error handling to 'GameError' #358

name: Build SVM-s and maps + Run training
on: [push, pull_request]
jobs:
build-and-launch:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Install poetry
run: |
pipx install poetry
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11.8"
cache: "poetry"
- name: Install dependencies
working-directory: ./
run: |
poetry --ansi install
poetry add --group dev poethepoet
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'oracle'
java-version: '21'
cache: 'maven'
- name: Build V# game server
working-directory: ./GameServers/VSharp/
run: |
dotnet build VSharp.ML.GameServer.Runner -c Release
- name: Build usvm game server
working-directory: ./GameServers/usvm/
run: |
./gradlew build --no-daemon
- name: Build .NET game maps
working-directory: ./maps/DotNet/Maps
run: |
dotnet build Root -c Release
- name: Build manually collected Java game maps
working-directory: ./maps/Java/Maps
run: |
./gradlew build
- name: Build Java game maps from LogicNG
working-directory: ./maps/Java/Maps/LogicNG
run: |
mvn package -Dmaven.test.skip -Dmaven.javadoc.skip=true
- name: Build Java game maps from jflex
working-directory: ./maps/Java/Maps/jflex
run: |
mvn package -Dmaven.test.skip -Dmaven.javadoc.skip=true -Dfmt.skip
- name: Generate initial data for training
working-directory: ./GameServers/VSharp/VSharp.ML.GameServer.Runner/bin/Release/net7.0
run: |
dotnet VSharp.ML.GameServer.Runner.dll --mode generator --datasetbasepath ../../../../../../maps/DotNet/Maps/Root/bin/Release/net7.0 --datasetdescription ../../../../../../workflow/dataset_for_tests_net.json --stepstoserialize 200
- name: Move SerializedEpisodes
working-directory: ./AIAgent
run: |
mkdir report
mv ../GameServers/VSharp/VSharp.ML.GameServer.Runner/bin/Release/net7.0/8100/SerializedEpisodes/ report/
- name: Launch application
run: |
poetry --ansi run poe launch_servers --config ../workflow/config_for_tests.yml &
echo "Waiting for server to start..." && sleep 10
- name: Run MLFlow server
run: |
poetry --ansi run mlflow server -h 127.0.0.1 -p 8080 --serve-artifacts &
echo "Waiting for mlflow server to start..." && sleep 10
- name: Run training
run: |
poetry --ansi run poe run_training --config ../workflow/config_for_tests.yml
- name: Sanity check
working-directory: ./AIAgent
run: |
if ls report/study.pkl 1> /dev/null 2>&1; then
echo "PKL files found."
else
echo "No PKL files found."
exit 1
fi