Skip to content

Commit 0a3d7e8

Browse files
authored
Merge branch 'main' into translations
2 parents e199982 + fed60ca commit 0a3d7e8

1,472 files changed

Lines changed: 244751 additions & 57549 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
worlds/blasphemous/region_data.py linguist-generated=true
2+
worlds/yachtdice/YachtWeights.py linguist-generated=true

.github/labeler.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
- '!data/**'
2222
- '!.run/**'
2323
- '!.github/**'
24-
- '!worlds_disabled/**'
2524
- '!worlds/**'
2625
- '!WebHost.py'
2726
- '!WebHostLib/**'

.github/pyright-config.json

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,21 @@
11
{
22
"include": [
3-
"type_check.py",
3+
"../BizHawkClient.py",
4+
"../Patch.py",
5+
"../test/param.py",
6+
"../test/general/test_groups.py",
7+
"../test/general/test_helpers.py",
8+
"../test/general/test_memory.py",
9+
"../test/general/test_names.py",
10+
"../test/multiworld/__init__.py",
11+
"../test/multiworld/test_multiworlds.py",
12+
"../test/netutils/__init__.py",
13+
"../test/programs/__init__.py",
14+
"../test/programs/test_multi_server.py",
15+
"../test/utils/__init__.py",
16+
"../test/webhost/test_descriptions.py",
417
"../worlds/AutoSNIClient.py",
5-
"../Patch.py"
18+
"type_check.py"
619
],
720

821
"exclude": [
@@ -16,7 +29,7 @@
1629
"reportMissingImports": true,
1730
"reportMissingTypeStubs": true,
1831

19-
"pythonVersion": "3.8",
32+
"pythonVersion": "3.10",
2033
"pythonPlatform": "Windows",
2134

2235
"executionEnvironments": [

.github/workflows/analyze-modified-files.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
- uses: actions/setup-python@v5
5454
if: env.diff != ''
5555
with:
56-
python-version: 3.8
56+
python-version: '3.10'
5757

5858
- name: "Install dependencies"
5959
if: env.diff != ''
@@ -65,7 +65,7 @@ jobs:
6565
continue-on-error: false
6666
if: env.diff != '' && matrix.task == 'flake8'
6767
run: |
68-
flake8 --count --select=E9,F63,F7,F82 --show-source --statistics ${{ env.diff }}
68+
flake8 --count --select=E9,F63,F7,F82 --ignore F824 --show-source --statistics ${{ env.diff }}
6969
7070
- name: "flake8: Lint modified files"
7171
continue-on-error: true

.github/workflows/build.yml

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,23 @@ env:
2121
ENEMIZER_VERSION: 7.1
2222
APPIMAGETOOL_VERSION: 13
2323

24+
permissions: # permissions required for attestation
25+
id-token: 'write'
26+
attestations: 'write'
27+
2428
jobs:
2529
# build-release-macos: # LF volunteer
2630

27-
build-win-py38: # RCs will still be built and signed by hand
31+
build-win: # RCs and releases may still be built and signed by hand
2832
runs-on: windows-latest
2933
steps:
34+
# - copy code below to release.yml -
3035
- uses: actions/checkout@v4
3136
- name: Install python
3237
uses: actions/setup-python@v5
3338
with:
34-
python-version: '3.8'
39+
python-version: '~3.12.7'
40+
check-latest: true
3541
- name: Download run-time dependencies
3642
run: |
3743
Invoke-WebRequest -Uri https://github.com/Ijwu/Enemizer/releases/download/${Env:ENEMIZER_VERSION}/win-x64.zip -OutFile enemizer.zip
@@ -64,6 +70,18 @@ jobs:
6470
$contents = Get-ChildItem -Path setups/*.exe -Force -Recurse
6571
$SETUP_NAME=$contents[0].Name
6672
echo "SETUP_NAME=$SETUP_NAME" >> $Env:GITHUB_ENV
73+
# - copy code above to release.yml -
74+
- name: Attest Build
75+
if: ${{ github.event_name == 'workflow_dispatch' }}
76+
uses: actions/attest-build-provenance@v2
77+
with:
78+
subject-path: |
79+
build/exe.*/ArchipelagoLauncher.exe
80+
build/exe.*/ArchipelagoLauncherDebug.exe
81+
build/exe.*/ArchipelagoGenerate.exe
82+
build/exe.*/ArchipelagoServer.exe
83+
dist/${{ env.ZIP_NAME }}
84+
setups/${{ env.SETUP_NAME }}
6785
- name: Check build loads expected worlds
6886
shell: bash
6987
run: |
@@ -80,7 +98,7 @@ jobs:
8098
shell: bash
8199
run: |
82100
cd build/exe*
83-
cp Players/Templates/Clique.yaml Players/
101+
cp Players/Templates/VVVVVV.yaml Players/
84102
timeout 30 ./ArchipelagoGenerate
85103
- name: Store 7z
86104
uses: actions/upload-artifact@v4
@@ -98,8 +116,8 @@ jobs:
98116
if-no-files-found: error
99117
retention-days: 7 # keep for 7 days, should be enough
100118

101-
build-ubuntu2004:
102-
runs-on: ubuntu-20.04
119+
build-ubuntu2204:
120+
runs-on: ubuntu-22.04
103121
steps:
104122
# - copy code below to release.yml -
105123
- uses: actions/checkout@v4
@@ -111,10 +129,11 @@ jobs:
111129
- name: Get a recent python
112130
uses: actions/setup-python@v5
113131
with:
114-
python-version: '3.11'
132+
python-version: '~3.12.7'
133+
check-latest: true
115134
- name: Install build-time dependencies
116135
run: |
117-
echo "PYTHON=python3.11" >> $GITHUB_ENV
136+
echo "PYTHON=python3.12" >> $GITHUB_ENV
118137
wget -nv https://github.com/AppImage/AppImageKit/releases/download/$APPIMAGETOOL_VERSION/appimagetool-x86_64.AppImage
119138
chmod a+rx appimagetool-x86_64.AppImage
120139
./appimagetool-x86_64.AppImage --appimage-extract
@@ -130,7 +149,7 @@ jobs:
130149
# charset-normalizer was somehow incomplete in the github runner
131150
"${{ env.PYTHON }}" -m venv venv
132151
source venv/bin/activate
133-
"${{ env.PYTHON }}" -m pip install --upgrade pip PyGObject charset-normalizer
152+
"${{ env.PYTHON }}" -m pip install --upgrade pip "PyGObject<3.51.0" charset-normalizer
134153
python setup.py build_exe --yes bdist_appimage --yes
135154
echo -e "setup.py build output:\n `ls build`"
136155
echo -e "setup.py dist output:\n `ls dist`"
@@ -140,6 +159,16 @@ jobs:
140159
echo "APPIMAGE_NAME=$APPIMAGE_NAME" >> $GITHUB_ENV
141160
echo "TAR_NAME=$TAR_NAME" >> $GITHUB_ENV
142161
# - copy code above to release.yml -
162+
- name: Attest Build
163+
if: ${{ github.event_name == 'workflow_dispatch' }}
164+
uses: actions/attest-build-provenance@v2
165+
with:
166+
subject-path: |
167+
build/exe.*/ArchipelagoLauncher
168+
build/exe.*/ArchipelagoGenerate
169+
build/exe.*/ArchipelagoServer
170+
dist/${{ env.APPIMAGE_NAME }}*
171+
dist/${{ env.TAR_NAME }}
143172
- name: Build Again
144173
run: |
145174
source venv/bin/activate
@@ -160,7 +189,7 @@ jobs:
160189
shell: bash
161190
run: |
162191
cd build/exe*
163-
cp Players/Templates/Clique.yaml Players/
192+
cp Players/Templates/VVVVVV.yaml Players/
164193
timeout 30 ./ArchipelagoGenerate
165194
- name: Store AppImage
166195
uses: actions/upload-artifact@v4

.github/workflows/codeql-analysis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747

4848
# Initializes the CodeQL tools for scanning.
4949
- name: Initialize CodeQL
50-
uses: github/codeql-action/init@v2
50+
uses: github/codeql-action/init@v3
5151
with:
5252
languages: ${{ matrix.language }}
5353
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -58,7 +58,7 @@ jobs:
5858
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
5959
# If this step fails, then you should remove it and run the build manually (see below)
6060
- name: Autobuild
61-
uses: github/codeql-action/autobuild@v2
61+
uses: github/codeql-action/autobuild@v3
6262

6363
# ℹ️ Command-line programs to run using the OS shell.
6464
# 📚 https://git.io/JvXDl
@@ -72,4 +72,4 @@ jobs:
7272
# make release
7373

7474
- name: Perform CodeQL Analysis
75-
uses: github/codeql-action/analyze@v2
75+
uses: github/codeql-action/analyze@v3

.github/workflows/ctest.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111
- '**.hh?'
1212
- '**.hpp'
1313
- '**.hxx'
14-
- '**.CMakeLists'
14+
- '**/CMakeLists.txt'
1515
- '.github/workflows/ctest.yml'
1616
pull_request:
1717
paths:
@@ -21,7 +21,7 @@ on:
2121
- '**.hh?'
2222
- '**.hpp'
2323
- '**.hxx'
24-
- '**.CMakeLists'
24+
- '**/CMakeLists.txt'
2525
- '.github/workflows/ctest.yml'
2626

2727
jobs:
@@ -36,9 +36,9 @@ jobs:
3636

3737
steps:
3838
- uses: actions/checkout@v4
39-
- uses: ilammy/msvc-dev-cmd@v1
39+
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756
4040
if: startsWith(matrix.os,'windows')
41-
- uses: Bacondish2023/setup-googletest@v1
41+
- uses: Bacondish2023/setup-googletest@49065d1f7a6d21f6134864dd65980fe5dbe06c73
4242
with:
4343
build-type: 'Release'
4444
- name: Build tests

.github/workflows/label-pull-requests.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ on:
66
permissions:
77
contents: read
88
pull-requests: write
9+
env:
10+
GH_REPO: ${{ github.repository }}
911

1012
jobs:
1113
labeler:

.github/workflows/release.yml

Lines changed: 88 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ env:
1111
ENEMIZER_VERSION: 7.1
1212
APPIMAGETOOL_VERSION: 13
1313

14+
permissions: # permissions required for attestation
15+
id-token: 'write'
16+
attestations: 'write'
17+
contents: 'write' # additionally required for release
18+
1419
jobs:
1520
create-release:
1621
runs-on: ubuntu-latest
@@ -26,11 +31,79 @@ jobs:
2631
env:
2732
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2833

29-
# build-release-windows: # this is done by hand because of signing
3034
# build-release-macos: # LF volunteer
3135

32-
build-release-ubuntu2004:
33-
runs-on: ubuntu-20.04
36+
build-release-win:
37+
runs-on: windows-latest
38+
if: ${{ true }} # change to false to skip if release is built by hand
39+
needs: create-release
40+
steps:
41+
- name: Set env
42+
shell: bash
43+
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
44+
# - code below copied from build.yml -
45+
- uses: actions/checkout@v4
46+
- name: Install python
47+
uses: actions/setup-python@v5
48+
with:
49+
python-version: '~3.12.7'
50+
check-latest: true
51+
- name: Download run-time dependencies
52+
run: |
53+
Invoke-WebRequest -Uri https://github.com/Ijwu/Enemizer/releases/download/${Env:ENEMIZER_VERSION}/win-x64.zip -OutFile enemizer.zip
54+
Expand-Archive -Path enemizer.zip -DestinationPath EnemizerCLI -Force
55+
choco install innosetup --version=6.2.2 --allow-downgrade
56+
- name: Build
57+
run: |
58+
python -m pip install --upgrade pip
59+
python setup.py build_exe --yes
60+
if ( $? -eq $false ) {
61+
Write-Error "setup.py failed!"
62+
exit 1
63+
}
64+
$NAME="$(ls build | Select-String -Pattern 'exe')".Split('.',2)[1]
65+
$ZIP_NAME="Archipelago_$NAME.7z"
66+
echo "$NAME -> $ZIP_NAME"
67+
echo "ZIP_NAME=$ZIP_NAME" >> $Env:GITHUB_ENV
68+
New-Item -Path dist -ItemType Directory -Force
69+
cd build
70+
Rename-Item "exe.$NAME" Archipelago
71+
7z a -mx=9 -mhe=on -ms "../dist/$ZIP_NAME" Archipelago
72+
Rename-Item Archipelago "exe.$NAME" # inno_setup.iss expects the original name
73+
- name: Build Setup
74+
run: |
75+
& "${env:ProgramFiles(x86)}\Inno Setup 6\iscc.exe" inno_setup.iss /DNO_SIGNTOOL
76+
if ( $? -eq $false ) {
77+
Write-Error "Building setup failed!"
78+
exit 1
79+
}
80+
$contents = Get-ChildItem -Path setups/*.exe -Force -Recurse
81+
$SETUP_NAME=$contents[0].Name
82+
echo "SETUP_NAME=$SETUP_NAME" >> $Env:GITHUB_ENV
83+
# - code above copied from build.yml -
84+
- name: Attest Build
85+
uses: actions/attest-build-provenance@v2
86+
with:
87+
subject-path: |
88+
build/exe.*/ArchipelagoLauncher.exe
89+
build/exe.*/ArchipelagoLauncherDebug.exe
90+
build/exe.*/ArchipelagoGenerate.exe
91+
build/exe.*/ArchipelagoServer.exe
92+
setups/*
93+
- name: Add to Release
94+
uses: softprops/action-gh-release@975c1b265e11dd76618af1c374e7981f9a6ff44a
95+
with:
96+
draft: true # see above
97+
prerelease: false
98+
name: Archipelago ${{ env.RELEASE_VERSION }}
99+
files: |
100+
setups/*
101+
env:
102+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
103+
104+
build-release-ubuntu2204:
105+
runs-on: ubuntu-22.04
106+
needs: create-release
34107
steps:
35108
- name: Set env
36109
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
@@ -44,10 +117,11 @@ jobs:
44117
- name: Get a recent python
45118
uses: actions/setup-python@v5
46119
with:
47-
python-version: '3.11'
120+
python-version: '~3.12.7'
121+
check-latest: true
48122
- name: Install build-time dependencies
49123
run: |
50-
echo "PYTHON=python3.11" >> $GITHUB_ENV
124+
echo "PYTHON=python3.12" >> $GITHUB_ENV
51125
wget -nv https://github.com/AppImage/AppImageKit/releases/download/$APPIMAGETOOL_VERSION/appimagetool-x86_64.AppImage
52126
chmod a+rx appimagetool-x86_64.AppImage
53127
./appimagetool-x86_64.AppImage --appimage-extract
@@ -63,7 +137,7 @@ jobs:
63137
# charset-normalizer was somehow incomplete in the github runner
64138
"${{ env.PYTHON }}" -m venv venv
65139
source venv/bin/activate
66-
"${{ env.PYTHON }}" -m pip install --upgrade pip PyGObject charset-normalizer
140+
"${{ env.PYTHON }}" -m pip install --upgrade pip "PyGObject<3.51.0" charset-normalizer
67141
python setup.py build_exe --yes bdist_appimage --yes
68142
echo -e "setup.py build output:\n `ls build`"
69143
echo -e "setup.py dist output:\n `ls dist`"
@@ -73,6 +147,14 @@ jobs:
73147
echo "APPIMAGE_NAME=$APPIMAGE_NAME" >> $GITHUB_ENV
74148
echo "TAR_NAME=$TAR_NAME" >> $GITHUB_ENV
75149
# - code above copied from build.yml -
150+
- name: Attest Build
151+
uses: actions/attest-build-provenance@v2
152+
with:
153+
subject-path: |
154+
build/exe.*/ArchipelagoLauncher
155+
build/exe.*/ArchipelagoGenerate
156+
build/exe.*/ArchipelagoServer
157+
dist/*
76158
- name: Add to Release
77159
uses: softprops/action-gh-release@975c1b265e11dd76618af1c374e7981f9a6ff44a
78160
with:

.github/workflows/scan-build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ jobs:
4040
run: |
4141
wget https://apt.llvm.org/llvm.sh
4242
chmod +x ./llvm.sh
43-
sudo ./llvm.sh 17
43+
sudo ./llvm.sh 19
4444
- name: Install scan-build command
4545
run: |
46-
sudo apt install clang-tools-17
46+
sudo apt install clang-tools-19
4747
- name: Get a recent python
4848
uses: actions/setup-python@v5
4949
with:
@@ -56,7 +56,7 @@ jobs:
5656
- name: scan-build
5757
run: |
5858
source venv/bin/activate
59-
scan-build-17 --status-bugs -o scan-build-reports -disable-checker deadcode.DeadStores python setup.py build -y
59+
scan-build-19 --status-bugs -o scan-build-reports -disable-checker deadcode.DeadStores python setup.py build -y
6060
- name: Store report
6161
if: failure()
6262
uses: actions/upload-artifact@v4

0 commit comments

Comments
 (0)