Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
071f2b3
Convert classes to dataclass (#148)
BurnySc2 Jan 9, 2023
c791640
Remove ".keys()" where possible
BurnySc2 Jan 13, 2023
26ec2b0
Remove "cached_property" from Units class
BurnySc2 Jan 13, 2023
731c12c
Bump version
BurnySc2 Jan 13, 2023
44c3f1d
Improve archon morph test and fix already_pending for archons
BurnySc2 Jan 16, 2023
cc8d335
Bump version
BurnySc2 Jan 16, 2023
ab00bfb
Start locations position rounding
SamOgon-one Jan 18, 2023
7a3a833
Add Point2.round() function
BurnySc2 Jan 18, 2023
e170ff9
Merge pull request #165 from SamOgon-one/patch-2
BurnySc2 Jan 18, 2023
8c8a81f
Update actions/checkout to v3 and setup-python to v4
BurnySc2 Jan 20, 2023
ccef791
Remove 'townhall.is_facing(scv)'
BurnySc2 Jan 20, 2023
15b5763
Skip 'Login to DockerHub' in PRs, add 'VERSION_NUMBER' as build arg, …
BurnySc2 Jan 20, 2023
c533f93
Add __future__.annotations and update ids, add _missing_ to AbilityId…
BurnySc2 Jan 31, 2023
3cf9c7d
Add CREATION_ABILITY_FIX to fix exact_id errors on already_pending an…
BurnySc2 Feb 9, 2023
4f947f4
Update ids and dicts
BurnySc2 Apr 5, 2023
f19c72a
Release to pypi after tests were successful
BurnySc2 Apr 5, 2023
8c23a09
Fix morph to baneling in dicts
BurnySc2 Apr 5, 2023
f1bbeea
Merge pull request #167 from BurnySc2/update-to-patch-5.0.11
BurnySc2 Apr 5, 2023
3ca497e
Bump pypi version
BurnySc2 Apr 5, 2023
94314b7
fix: terrain height check when calculating resource groups
raspersc2 Jun 17, 2023
6247cd4
Remove codecov package and from CI
BurnySc2 Jul 13, 2023
e98cadf
Merge branch 'develop' of https://github.com/raspersc2/python-sc2 int…
raspersc2 Jul 13, 2023
a09733e
fix: check if height is similar rather then exact between resources
raspersc2 Jul 13, 2023
9b2c4b1
test: add pickled data for latest ladder maps
raspersc2 Jul 13, 2023
f6f007a
style: yapf formatiing
raspersc2 Jul 13, 2023
2f08fcd
Merge pull request #175 from raspersc2/fix/terrain-height-check-for-e…
BurnySc2 Jul 14, 2023
c123c66
Bump version to 6.3.0
BurnySc2 Jul 14, 2023
d083ca1
Merge branch 'develop' of https://github.com/BurnySc2/python-sc2 into…
BurnySc2 Aug 3, 2023
67a9754
Fix pylint warnings
BurnySc2 Aug 3, 2023
ed17176
Add maps to test/generate_pickle_files_bot.py
BurnySc2 Aug 3, 2023
aac5458
Remove 'pylint disable W0719'
BurnySc2 Aug 3, 2023
de734f3
Merge pull request #176 from BurnySc2/fix_creation_ability_error
BurnySc2 Aug 3, 2023
76e4a43
Bump pypi version to 6.4.0
BurnySc2 Aug 3, 2023
7b4a3d5
Update packages and enable python 3.12 (#186)
BurnySc2 Nov 30, 2023
c27ac5d
Bump pypi version to 6.5.0
BurnySc2 Nov 30, 2023
f175e81
Update sphinx and sphinx-rtd-theme version
BurnySc2 Nov 30, 2023
8cc6110
Update ids to patch 5.0.12
BurnySc2 Feb 2, 2024
825e661
Update dicts to patch 5.0.12
BurnySc2 Feb 2, 2024
7f8842d
update ids to 5.0.13
raspersc2 Jun 12, 2024
e83a6f2
Update dicts to patch 5.0.13
raspersc2 Jun 12, 2024
dce7e17
fix: correct ids for 5.0.13
raspersc2 Jun 12, 2024
2511bd8
Manually add morph to baneling back to dicts
raspersc2 Jun 12, 2024
83171c9
Add baneling example bot
raspersc2 Jun 12, 2024
99550cf
yapf formatting
raspersc2 Jun 12, 2024
a97a879
style: run isort to format imports
raspersc2 Jun 12, 2024
d230703
style: run pycln formatter
raspersc2 Jun 12, 2024
72612bf
style: run pre commit formatting hooks
raspersc2 Jun 12, 2024
4609fdb
test: updated pickled map files for patch 5.0.13
raspersc2 Jun 20, 2024
633f5fe
regenerate dicts as was previously inaccurate
raspersc2 Jun 20, 2024
2727dbf
test: updated upgrade tests for patch 5.0.13
raspersc2 Jun 20, 2024
8925fde
Update packages
BurnySc2 Aug 2, 2024
b45193b
Fix maps urls and use curl instead of wget
BurnySc2 Aug 2, 2024
8aa073a
Apply autoformat on banesbanesbanes
BurnySc2 Aug 2, 2024
85c01e7
Remove some pre commit entries
BurnySc2 Aug 2, 2024
702edd5
Merge pull request #198 from raspersc2/update-to-patch-5.0.13
BurnySc2 Aug 2, 2024
5b98b93
Install ruff and pyre
BurnySc2 Aug 2, 2024
83c77c6
Apply ruff --select Q --fix
BurnySc2 Aug 2, 2024
5083654
Apply ruff --select F --fix
BurnySc2 Aug 2, 2024
7b37692
Apply ruff autoformat
BurnySc2 Aug 2, 2024
63c5987
Fix ruff issues
BurnySc2 Aug 2, 2024
de4fc7d
Skip test function for macOS (#200)
BurnySc2 Aug 3, 2024
3b74e2e
Merge branch 'develop' of https://github.com/BurnySc2/python-sc2 into…
BurnySc2 Aug 3, 2024
ac41cca
Bump minor version to 6.6.0
BurnySc2 Aug 3, 2024
beba83d
Fix pypi publish CI
BurnySc2 Aug 3, 2024
0670f4b
Remove 'working-directory'
BurnySc2 Aug 3, 2024
1d0599c
Make changes resulting in drop of python3.9 in favor of python3.13 (#…
BurnySc2 Oct 26, 2024
9b5bdca
Bump version to 7.0.0, dropping Python 3.9 support
BurnySc2 Oct 28, 2024
da3b890
Make numpy version more flexible and enable CI for python3.9 again
BurnySc2 Nov 22, 2024
7f7480e
Update package versions
BurnySc2 Nov 22, 2024
8f3c9af
Add constraints for scipy
BurnySc2 Nov 22, 2024
aa247cc
Bump version to 7.0.1
BurnySc2 Nov 22, 2024
fc3f139
Replace poetry with uv
BurnySc2 Dec 17, 2024
63f8b20
Remove cache from CI
BurnySc2 Dec 17, 2024
cd10d80
Replace missing poetry entries with uv
BurnySc2 Dec 17, 2024
5c02839
Fix docker-ci
BurnySc2 Dec 17, 2024
343aead
Merge pull request #209 from BurnySc2/replace-poetry-with-uv
BurnySc2 Dec 17, 2024
3d9e2f5
Merge branch 'develop' of https://github.com/BurnySc2/python-sc2 into…
BurnySc2 Dec 17, 2024
1cd1042
Use typing from types instead of typing library
BurnySc2 Dec 17, 2024
324f431
Automatically infer types
BurnySc2 Dec 17, 2024
68f7296
Fix pyre issues in sc2 folder
BurnySc2 Dec 17, 2024
d46b590
Fix pyre issues for examples folder
BurnySc2 Dec 17, 2024
2b1079c
Fix pyre issues for test folder
BurnySc2 Dec 17, 2024
c3ede8f
Autoformat missed file
BurnySc2 Dec 17, 2024
075f72d
Re-add union type to fix python3.9 and 3.13
BurnySc2 Dec 17, 2024
4721927
Add missing future annotations to fix py3.9
BurnySc2 Dec 17, 2024
45ac0f6
Add multiple future annotations
BurnySc2 Dec 17, 2024
1ac0eb9
Undo isinstance change
BurnySc2 Dec 17, 2024
c7e6a2e
Set PYTHONPATH to fix docker tests
BurnySc2 Dec 17, 2024
c7738c5
Undo missing isinstance with pipe operator calls
BurnySc2 Dec 17, 2024
9199beb
Let build() accept None position again for upgrades or morphs
BurnySc2 Dec 17, 2024
4232a56
Optimize run docker shell script and fix setuptools
BurnySc2 Dec 17, 2024
8871f33
Add entrypoint to coverage ci
BurnySc2 Dec 17, 2024
25ea9d6
Fix container name
BurnySc2 Dec 17, 2024
75a2831
Remove cd
BurnySc2 Dec 17, 2024
1056d2b
Re-add needs field
BurnySc2 Dec 17, 2024
6795c7b
Merge pull request #199 from BurnySc2/add-ruff-and-pyre
BurnySc2 Dec 17, 2024
0b24e3a
Bump version to 7.0.2
BurnySc2 Dec 17, 2024
b5c24ff
Update uv.lock and disable py3.13 for ci testbots
BurnySc2 Dec 17, 2024
bce5e49
Fix token parameter
BurnySc2 Dec 17, 2024
a9855b6
Remove license field
BurnySc2 Dec 17, 2024
ae96b80
Explicitly exclude license file from publish
BurnySc2 Dec 18, 2024
711611d
Fix project name and bump version to 7.0.3
BurnySc2 Dec 18, 2024
720e832
Update id.py files
BurnySc2 Jan 2, 2025
73225aa
Update dicts for patch 5.0.14
BurnySc2 Jan 2, 2025
a96da0b
Use poetry build system again, fix windows test
BurnySc2 Jan 5, 2025
3797165
Update uv.lock
BurnySc2 Jan 5, 2025
c0a200d
Fix dict tests on linux
BurnySc2 Jan 5, 2025
843f957
Bump version to 7.0.4
BurnySc2 Jan 5, 2025
709e4d6
Fix package build
BurnySc2 Jan 5, 2025
1c68b8f
Fix top level package directory for package build command
BurnySc2 Jan 5, 2025
e0d3cef
Replace sphinx rtd theme with sphinx book theme
BurnySc2 Jan 5, 2025
9b85dc6
Add type hints to docs
BurnySc2 Jan 5, 2025
75cfc02
Change docs folder
BurnySc2 Jan 5, 2025
306548b
Add debug ls all generated docs files and fix docs urls
BurnySc2 Jan 5, 2025
c7f1e6d
Add view source code button
BurnySc2 Jan 5, 2025
c33e37d
Update README discord links
lladdy Jan 11, 2025
b33e39f
Merge pull request #211 from lladdy/patch-1
BurnySc2 Jan 11, 2025
4028eeb
Update README.md
lladdy Jan 11, 2025
15fbac3
Merge pull request #212 from lladdy/patch-2
BurnySc2 Jan 11, 2025
8f60593
make sc2_version accepted by old join and host methods
Jan 17, 2025
422c6e1
Update versions backlog and include `5.0.14.93333` which 5.0.14 maps …
Jun 5, 2025
a640683
Fixes example observer file TypeError: Cannot set ... replay_path to …
Jun 26, 2025
7edff5a
Repairs ObserverAI by removing deprecated field usage and assigning r…
Jun 26, 2025
cba825f
Makes unit.tag be @cached_property
Jun 26, 2025
a04340b
Adds ActionObserverCameraMove.distance for wider Observers zoom-out
Jun 26, 2025
d9623b6
Adds ActionObserverCameraMove.distance to proto, enabling wide zoom-out
Jun 26, 2025
e8f3c3a
Update generate_ids.py to add abilities with empty 'buttonname' in st…
BurnySc2 Jun 26, 2025
8a2a90e
Bump github actions upload-artifact from v3 to v4
BurnySc2 Jun 26, 2025
6462973
Merge pull request #219 from BurnySc2/fix-id-generation-for-frenzy
BurnySc2 Jun 26, 2025
a1795cf
Merge pull request #217 from dysonreturns/unit-tag-cached-property
BurnySc2 Jun 27, 2025
44e12b2
Merge pull request #218 from dysonreturns/observer-distance-field
BurnySc2 Jun 27, 2025
b9eac33
Update ids and dicts using an updated data.json
BurnySc2 Jun 27, 2025
dd9244f
Merge branch 'old-launcher-accept-sc2_version' of github.com:dysonret…
BurnySc2 Jun 27, 2025
558e4c3
Run autoformat
BurnySc2 Jun 27, 2025
06096ca
Merge pull request #213 from dysonreturns/old-launcher-accept-sc2_ver…
BurnySc2 Jun 27, 2025
06100fc
Merge branch 'observer-fixes' of github.com:dysonreturns/python-sc2 i…
BurnySc2 Jun 27, 2025
3ae99a9
Deduplicate function call '_distances_override_functions'
BurnySc2 Jun 27, 2025
2ca0d04
Remove unused import
BurnySc2 Jun 27, 2025
7a1c6f3
Merge pull request #216 from dysonreturns/observer-fixes
BurnySc2 Jun 27, 2025
a9f3bb8
Bump version to 7.0.6
BurnySc2 Jun 27, 2025
fa96b4e
Bump version in uv.lock
BurnySc2 Jun 27, 2025
69b6dbf
Add python 3.13 to CI for testbots
BurnySc2 Jun 27, 2025
c287d5c
Remove self.do() references
BurnySc2 Jun 27, 2025
e0474a0
Bump version to 7.0.7 to allow python 3.13
BurnySc2 Jun 27, 2025
77ef741
Fix https://github.com/BurnySc2/python-sc2/issues/191
BurnySc2 Jun 27, 2025
c4393e1
Update packages and apply autoformat
BurnySc2 Jun 27, 2025
1246813
Replace pyre with pyrefly
BurnySc2 Jun 27, 2025
188f366
Bump version to 7.1.0 using the updated dependencies
BurnySc2 Jun 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
612 changes: 358 additions & 254 deletions .github/workflows/ci.yml

Large diffs are not rendered by default.

130 changes: 0 additions & 130 deletions .github/workflows/codecoverage.yml

This file was deleted.

183 changes: 93 additions & 90 deletions .github/workflows/docker-ci.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
name: Build and push Dockerfile
name: Build and push Docker image

# Only run if Dockerfile or docker-ci.yml changed
on:
push:
paths:
- dockerfiles/**
- .github/workflows/docker-ci.yml
- dockerfiles/**
- uv.lock
- pyproject.toml
- .github/workflows/docker-ci.yml
pull_request:
branches:
- master
- develop
- master
- develop

env:
VERSION_NUMBER: '1.0.2'
LATEST_PYTHON_VERSION: '3.11'
LATEST_SC2_VERSION: '4.10'
EXPERIMENTAL_PYTHON_VERSION: '3.11.0b1'
VERSION_NUMBER: "1.0.6"
LATEST_PYTHON_VERSION: "3.13"
LATEST_SC2_VERSION: "4.10"
EXPERIMENTAL_PYTHON_VERSION: "3.14"

jobs:
run_test_docker_image:
Expand All @@ -28,20 +30,19 @@ jobs:
os: [ubuntu-latest]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Enable experimental docker features
run: |
echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker.service
- name: Enable experimental docker features
run: |
echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker.service

- name: Run shell script
env:
VERSION_NUMBER: ${{ env.VERSION_NUMBER }}
PYTHON_VERSION: ${{ env.LATEST_PYTHON_VERSION }}
SC2_VERSION: ${{ env.LATEST_SC2_VERSION }}
run: |
sh dockerfiles/test_docker_image.sh
- name: Run shell script
env:
VERSION_NUMBER: ${{ env.VERSION_NUMBER }}
PYTHON_VERSION: ${{ env.LATEST_PYTHON_VERSION }}
SC2_VERSION: ${{ env.LATEST_SC2_VERSION }}
run: sh dockerfiles/test_docker_image.sh

run_test_new_python_version:
name: Run test_new_python_candidate.sh
Expand All @@ -53,21 +54,20 @@ jobs:
os: [ubuntu-latest]

steps:
- uses: actions/checkout@v2

- name: Enable experimental docker features
run: |
echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker.service

- name: Run shell script
continue-on-error: true
env:
VERSION_NUMBER: ${{ env.VERSION_NUMBER }}
PYTHON_VERSION: ${{ env.EXPERIMENTAL_PYTHON_VERSION }}
SC2_VERSION: ${{ env.LATEST_SC2_VERSION }}
run: |
sh dockerfiles/test_new_python_candidate.sh
- uses: actions/checkout@v3

- name: Enable experimental docker features
run: |
echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker.service

- name: Run shell script
continue-on-error: true
env:
VERSION_NUMBER: ${{ env.VERSION_NUMBER }}
PYTHON_VERSION: ${{ env.EXPERIMENTAL_PYTHON_VERSION }}
SC2_VERSION: ${{ env.LATEST_SC2_VERSION }}
run: sh dockerfiles/test_new_python_candidate.sh

docker_build:
name: Build docker image
Expand All @@ -77,62 +77,65 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
sc2-version: ['4.10']
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
sc2-version: ["4.10"]
env:
IMAGE_NAME: burnysc2/python-sc2-docker:py_${{ matrix.python-version }}-sc2_${{ matrix.sc2-version }}
BUILD_ARGS: --build-arg PYTHON_VERSION=${{ matrix.python-version }} --build-arg SC2_VERSION=${{ matrix.sc2-version }}

steps:
- uses: actions/checkout@v2

- name: Build docker image
run: |
docker build -t $IMAGE_NAME-v$VERSION_NUMBER $BUILD_ARGS - < dockerfiles/Dockerfile

- name: Enable experimental docker features
run: |
echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker.service

- name: Build squashed image
run: |
docker build -t $IMAGE_NAME-v$VERSION_NUMBER-squashed --squash $BUILD_ARGS - < dockerfiles/Dockerfile

- name: Run test bots on squashed image
if: matrix.python-version != '3.7'
run: |
echo "Start container, override the default entrypoint"
docker run -i -d \
--name test_container \
--mount type=bind,source="$(pwd)",destination=/root/python-sc2,readonly \
--entrypoint /bin/bash \
$IMAGE_NAME-v$VERSION_NUMBER-squashed
echo "Install python-sc2"
docker exec -i test_container bash -c "pip install poetry \
&& cd python-sc2 && poetry install --no-dev"
echo "Run various test bots"
docker exec -i test_container bash -c "cd python-sc2 && poetry run python test/travis_test_script.py test/autotest_bot.py"
docker exec -i test_container bash -c "cd python-sc2 && poetry run python test/run_example_bots_vs_computer.py"

- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Upload docker image
if: github.ref == 'refs/heads/develop' && github.event_name == 'push'
run: |
docker push $IMAGE_NAME-v$VERSION_NUMBER

- name: Upload squashed docker image
if: github.ref == 'refs/heads/develop' && github.event_name == 'push'
run: |
docker push $IMAGE_NAME-v$VERSION_NUMBER-squashed

- name: Upload squashed docker image as latest tag
if: github.ref == 'refs/heads/develop' && github.event_name == 'push' && matrix.python-version == env.LATEST_PYTHON_VERSION && matrix.sc2-version == env.LATEST_SC2_VERSION
run: |
docker tag $IMAGE_NAME-v$VERSION_NUMBER-squashed burnysc2/python-sc2-docker:latest
docker push burnysc2/python-sc2-docker:latest
- uses: actions/checkout@v3

- name: Build docker image
run: docker build -t $IMAGE_NAME-v$VERSION_NUMBER $BUILD_ARGS - < dockerfiles/Dockerfile

- name: Enable experimental docker features
run: |
echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker.service

- name: Build squashed image
run: docker build -t $IMAGE_NAME-v$VERSION_NUMBER-squashed --squash $BUILD_ARGS - < dockerfiles/Dockerfile

- name: Run test bots on squashed image
if: matrix.python-version != '3.7'
run: |
echo "Start container, override the default entrypoint"
docker run -i -d \
--name test_container \
--env 'PYTHONPATH=/root/python-sc2/' \
--entrypoint /bin/bash \
$IMAGE_NAME-v$VERSION_NUMBER-squashed
echo "Install python-sc2"
docker exec -i test_container mkdir -p /root/python-sc2
docker cp pyproject.toml test_container:/root/python-sc2/
docker cp uv.lock test_container:/root/python-sc2/
docker cp sc2 test_container:/root/python-sc2/sc2
docker cp test test_container:/root/python-sc2/test
docker cp examples test_container:/root/python-sc2/examples
docker exec -i test_container bash -c "pip install uv \
&& cd python-sc2 && uv sync --frozen --no-cache --no-install-project"
echo "Run various test bots"
docker exec -i test_container bash -c "cd python-sc2 && uv run python test/travis_test_script.py test/autotest_bot.py"
docker exec -i test_container bash -c "cd python-sc2 && uv run python test/run_example_bots_vs_computer.py"

- name: Login to DockerHub
if: github.ref == 'refs/heads/develop'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Upload docker image
if: github.ref == 'refs/heads/develop' && github.event_name == 'push'
run: docker push $IMAGE_NAME-v$VERSION_NUMBER

- name: Upload squashed docker image
if: github.ref == 'refs/heads/develop' && github.event_name == 'push'
run: docker push $IMAGE_NAME-v$VERSION_NUMBER-squashed

- name: Upload squashed docker image as latest tag
if: github.ref == 'refs/heads/develop' && github.event_name == 'push' && matrix.python-version == env.LATEST_PYTHON_VERSION && matrix.sc2-version == env.LATEST_SC2_VERSION
run: |
docker tag $IMAGE_NAME-v$VERSION_NUMBER-squashed burnysc2/python-sc2-docker:latest
docker push burnysc2/python-sc2-docker:latest
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@ mini_games/
.coverage
/htmlcov

/bat_files/temp/
docs/

/docs
.pyre
Loading
Loading