Adds support for a manifest file (archipelago.json) inside an .apworld file. It tells AP the game, minimum core version (optional field), maximum core version (optional field), its own version (used to determine which file to prefer to load only currently)
The file itself is marked as required starting with core 0.7.0, prior, just a warning is printed, with error trace.
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* - Made the traveling cart test not be flaky due to worlds caching
# Conflicts:
# worlds/stardew_valley/rules.py
* - Made the traveling merchant test less flaky
# Conflicts:
# worlds/stardew_valley/test/rules/TestTravelingMerchant.py
* sc2: Fixing always-true rules in locations.py; fixed two over-constrained rules that put vanilla out-of-logic
* sc2: Minor min2() optimization in rules.py
* sc2: Fixing a Shatter the Sky logic bug where w/a upgrades were checked too many times and for the wrong units
* fix(workflows): Update Docker workflow tag pattern
- Change tag pattern from "v*" to "*.*.*" for better version matching
- Add new semver pattern type for major version
* squash! fix(workflows): Update Docker workflow tag pattern - Change tag pattern from "v*" to "*.*.*" for better version matching - Add new semver pattern type for major version
* Update docker.yml
* Update docker.yml
* Update docker.yml
* fix(docker): Correct copy command to use recursive flag for EnemizerCLI
- Changed 'cp' to 'cp -r' to properly copy EnemizerCLI directory
* fixup! Update docker.yml
* fix(docker): Correct copy command to use recursive flag for EnemizerCLI
- Changed 'cp' to 'cp -r' to properly copy EnemizerCLI directory
* chore(workflow): Update Docker workflow to support multiple platforms
- Removed matrix strategy for platform selection
- Set platforms directly in the Docker Buildx step
* docs(deployment): Update container deployment documentation
- Specify minimum versions for Docker and Podman
- Add requirement for Docker Buildx plugin
* fix(workflows): Exclude specific paths from Docker build triggers
- Prevent unnecessary builds for documentation and deployment files
* feat(ci): Update Docker workflow for multi-architecture builds
- Added new build job for ARM64 architecture support
- Created a multi-arch manifest to manage image variants
- Improved Docker Buildx setup and push steps for both architectures
* fixup! feat(ci): Update Docker workflow for multi-architecture builds - Added new build job for ARM64 architecture support - Created a multi-arch manifest to manage image variants - Improved Docker Buildx setup and push steps for both architectures
* fixup! feat(ci): Update Docker workflow for multi-architecture builds - Added new build job for ARM64 architecture support - Created a multi-arch manifest to manage image variants - Improved Docker Buildx setup and push steps for both architectures
* fixup! feat(ci): Update Docker workflow for multi-architecture builds - Added new build job for ARM64 architecture support - Created a multi-arch manifest to manage image variants - Improved Docker Buildx setup and push steps for both architectures
* fix(workflow): Cleanup temporary image tags
* fixup! fix(workflow): Cleanup temporary image tags
* fixup! fix(workflow): Cleanup temporary image tags
* fixup! fix(workflow): Cleanup temporary image tags
* fix(workflow): Apply scoped build cache to eliminate race condition
between jobs.
* fixup! fix(workflow): Apply scoped build cache to eliminate race condition between jobs.
* Remove branch wildcard
* Test comment
* Revert wildcard removal
* Remove `pr` event
* Revert `pr` event removal
* fixup! Revert `pr` event removal
* Update docker.yml
* Update docker.yml
* Update docker.yml
* feat(workflows): Add docker workflow to compute final tags
- Introduce a step to compute final tags based on GitHub ref type
- Ensure 'latest' tag is set for version tags
* chore(workflow): Enable manual dispatch for Docker workflow
- Add workflow_dispatch event trigger to allow manual runs
* fix(workflows): Update Docker workflow to handle tag outputs correctly
- Use readarray to handle tags as an array
- Prevent duplicate latest tags in the tags list
- Set multiline output for tags in GitHub Actions
* Update docker.yml
Use new `is_not_default_branch` condition
* Update docker.yml
Allow "v" prefix for semver git tags qualifying for `latest` image tag
* Update docker.yml
Tighten up `tags` push pattern mirroring that of `release` workflow.
* Merge branch 'ArchipelagoMW:main' into main
* Update docker.yml
* Merge branch 'ArchipelagoMW:main' into docker_wf
* Update docker.yml
Use new `is_not_default_branch` condition
* Update docker.yml
Allow "v" prefix for semver git tags qualifying for `latest` image tag
* Update docker.yml
Tighten up `tags` push pattern mirroring that of `release` workflow.
* ci(docker): refactor multi-arch build to use matrix strategy
- Consolidate separate amd64 and arm64 jobs into a single build job
- Introduce matrix for platform, runner, suffix, and cache-scope
- Generalize tag computation and build steps with matrix variables
* fixup! ci(docker): refactor multi-arch build to use matrix strategy - Consolidate separate amd64 and arm64 jobs into a single build job - Introduce matrix for platform, runner, suffix, and cache-scope - Generalize tag computation and build steps with matrix variables