@@ -77,18 +77,26 @@ jobs:
7777 with open(os.environ['GITHUB_OUTPUT'], 'a') as f:
7878 f.write(f'matrix={json.dumps(matrix)}')
7979
80- - name : Checkout
80+ - name : Checkout Pyinstaller-Builds
81+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
82+ with :
83+ path : builds
84+ persist-credentials : false
85+
86+ - name : Checkout PyInstaller
8187 uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
8288 with :
8389 fetch-depth : 0 # Needed for git-describe
8490 repository : pyinstaller/pyinstaller
8591 ref : ${{ inputs.commitish }}
92+ path : pyinstaller
8693 persist-credentials : false
8794
8895 - name : Git describe
8996 id : git_describe
9097 shell : bash
9198 run : |
99+ cd pyinstaller
92100 git describe --tags # So the script will exit on error
93101 echo "tag=$(git describe --tags)" >> "${GITHUB_OUTPUT}"
94102
@@ -132,17 +140,26 @@ jobs:
132140 with :
133141 python-version : " 3.14"
134142
143+ - name : Install Python dependencies
144+ run : |
145+ cd pyinstaller
146+ python -m venv --clear venv
147+ source venv/bin/activate
148+ python -m pip install -U --require-hashes -r "../builds/requirements/pip.txt"
149+ python -m pip install -U --require-hashes -r "../builds/requirements/build.txt"
150+
135151 - name : Build source distribution
136152 run : |
137- python -m pip install -U build hatchling
153+ cd pyinstaller
154+ source venv/bin/activate
138155 python -m build --no-isolation --sdist --outdir=dist .
139156
140157 - name : Upload artifacts
141158 uses : actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
142159 with :
143160 name : pyinstaller-${{ inputs.commitish }}-sdist
144161 path : |
145- dist/*
162+ pyinstaller/ dist/*
146163 compression-level : 0
147164
148165 build :
@@ -171,35 +188,51 @@ jobs:
171188 mingw-w64-${{ matrix.env }}-python
172189 mingw-w64-${{ matrix.env }}-python-pip
173190
174- - name : Checkout
191+ - name : Checkout Pyinstaller-Builds
192+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
193+ with :
194+ path : builds
195+ persist-credentials : false
196+
197+ - name : Checkout PyInstaller
175198 uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
176199 with :
177200 repository : pyinstaller/pyinstaller
178201 ref : ${{ inputs.commitish }}
202+ path : pyinstaller
179203 persist-credentials : false
180204
181205 - name : Build bootloader
182206 env :
183207 ARCH : ${{ matrix.arch }}
184208 COMPILER : ${{ matrix.compiler }}
185209 run : |
186- cd bootloader
210+ cd pyinstaller/ bootloader
187211 python ./waf --target-arch="${ARCH}" --"${COMPILER}" distclean all
188212
213+ - name : Install Python dependencies
214+ run : |
215+ cd pyinstaller
216+ python -m venv --clear venv
217+ source venv/bin/activate
218+ python -m pip install -U --require-hashes -r "../builds/requirements/pip.txt"
219+ python -m pip install -U --require-hashes -r "../builds/requirements/build.txt"
220+
189221 - name : Build wheel
190222 env :
191223 PYI_WHEEL_TAG : ${{ matrix.wheel_tag }}
192224 PYI_PLATFORM : ${{ matrix.platform }}
193225 run : |
194- python -m pip install -U build hatchling
226+ cd pyinstaller
227+ source venv/bin/activate
195228 python -m build --no-isolation --wheel --outdir=dist .
196229
197230 - name : Upload artifacts
198231 uses : actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
199232 with :
200233 name : pyinstaller-${{ inputs.commitish }}-${{ matrix.name }}
201234 path : |
202- dist/*
235+ pyinstaller/ dist/*
203236 compression-level : 0
204237
205238 release :
0 commit comments