diff --git a/.azure/azure-ci-build-pipeline.yaml b/.azure/azure-ci-build-pipeline.yaml index dcfbde0e..9faaffaf 100644 --- a/.azure/azure-ci-build-pipeline.yaml +++ b/.azure/azure-ci-build-pipeline.yaml @@ -14,36 +14,36 @@ parameters: - name: matrix type: object default: - - job_name: 'UbuntuPython38' - py: '3.8' - img: 'ubuntu-latest' - every_time: false - publish_coverage: false + # - job_name: 'UbuntuPython38' + # py: '3.8' + # img: 'ubuntu-latest' + # every_time: false + # publish_coverage: false - job_name: 'UbuntuPython310' py: '3.10' img: 'ubuntu-latest' every_time: true publish_coverage: true - - job_name: 'WindowsPython38' - py: '3.8' - img: 'windows-latest' - every_time: false - publish_coverage: false - - job_name: 'WindowsPython310' - py: '3.10' - img: 'windows-latest' - every_time: false - publish_coverage: false - - job_name: 'MacOSPython38' - py: '3.8' - img: 'macOS-latest' - every_time: false - publish_coverage: false - - job_name: 'MacOSPython310' - py: '3.10' - img: 'macOS-latest' - every_time: false - publish_coverage: false + # - job_name: 'WindowsPython38' + # py: '3.8' + # img: 'windows-latest' + # every_time: false + # publish_coverage: false + # - job_name: 'WindowsPython310' + # py: '3.10' + # img: 'windows-latest' + # every_time: false + # publish_coverage: false + # - job_name: 'MacOSPython38' + # py: '3.8' + # img: 'macOS-latest' + # every_time: false + # publish_coverage: false + # - job_name: 'MacOSPython310' + # py: '3.10' + # img: 'macOS-latest' + # every_time: false + # publish_coverage: false stages: - stage: Test diff --git a/src/primaite/session/environment.py b/src/primaite/session/environment.py index ce9699d4..4fdbbe34 100644 --- a/src/primaite/session/environment.py +++ b/src/primaite/session/environment.py @@ -28,6 +28,8 @@ class PrimaiteGymEnv(gymnasium.Env): super().__init__() self.game_config: Dict = game_config """PrimaiteGame definition. This can be changed between episodes to enable curriculum learning.""" + self.io = PrimaiteIO.from_config(game_config.get("io_settings", {})) + """Handles IO for the environment. This produces sys logs, agent logs, etc.""" self.game: PrimaiteGame = PrimaiteGame.from_config(copy.deepcopy(self.game_config)) """Current game.""" self._agent_name = next(iter(self.game.rl_agents)) @@ -36,9 +38,6 @@ class PrimaiteGymEnv(gymnasium.Env): self.episode_counter: int = 0 """Current episode number.""" - self.io = PrimaiteIO.from_config(game_config.get("io_settings", {})) - """Handles IO for the environment. This produces sys logs, agent logs, etc.""" - @property def agent(self) -> ProxyAgent: """Grab a fresh reference to the agent object because it will be reinstantiated each episode.""" @@ -168,6 +167,8 @@ class PrimaiteRayMARLEnv(MultiAgentEnv): """ self.game_config: Dict = env_config """PrimaiteGame definition. This can be changed between episodes to enable curriculum learning.""" + self.io = PrimaiteIO.from_config(env_config.get("io_settings")) + """Handles IO for the environment. This produces sys logs, agent logs, etc.""" self.game: PrimaiteGame = PrimaiteGame.from_config(copy.deepcopy(self.game_config)) """Reference to the primaite game""" self._agent_ids = list(self.game.rl_agents.keys()) @@ -187,9 +188,6 @@ class PrimaiteRayMARLEnv(MultiAgentEnv): {name: agent.action_manager.space for name, agent in self.agents.items()} ) - self.io = PrimaiteIO.from_config(env_config.get("io_settings")) - """Handles IO for the environment. This produces sys logs, agent logs, etc.""" - super().__init__() @property