Merge pull request #9068 from ThomasWaldmann/build-binaries-on-gh-fixes2-1.4
Some checks are pending
CI / lint (push) Waiting to run
CI / pytest (push) Blocked by required conditions
CodeQL / Analyze (push) Waiting to run

Build binaries on gh: fixes2 (1.4-maint)
This commit is contained in:
TW 2025-10-14 19:35:43 +02:00 committed by GitHub
commit ef65705a71
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -84,11 +84,21 @@ jobs:
- name: Detect if commit is tagged
id: detect_tag
run: |
if git describe --exact-match --tags HEAD >/dev/null 2>&1; then
echo "tagged=true" >> "$GITHUB_OUTPUT"
else
echo "tagged=false" >> "$GITHUB_OUTPUT"
tag="$(git describe --exact-match --tags HEAD 2>/dev/null || true)"
# If HEAD is a merge commit, the PR head is usually the second parent (HEAD^2).
if [ -z "$tag" ] && git rev-parse -q --verify HEAD^2 >/dev/null 2>&1; then
tag="$(git describe --exact-match --tags HEAD^2 2>/dev/null || true)"
fi
echo "Found tag: ${tag}"
echo "tagged=$tag" >> "$GITHUB_OUTPUT"
- name: Check out exact tag
if: ${{ steps.detect_tag.outputs.tagged }}
uses: actions/checkout@v4
with:
ref: ${{ steps.detect_tag.outputs.tagged }}
fetch-depth: 0
fetch-tags: true
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
@ -142,14 +152,14 @@ jobs:
env_vars: OS, python
- name: Build Borg fat binaries (${{ matrix.binary }})
if: ${{ matrix.binary && steps.detect_tag.outputs.tagged == 'true' }}
if: ${{ matrix.binary && steps.detect_tag.outputs.tagged }}
run: |
pip install 'pyinstaller==6.14.2'
mkdir -p dist/binary
pyinstaller --clean --distpath=dist/binary scripts/borg.exe.spec
- name: Smoke-test the built binary (${{ matrix.binary }})
if: ${{ matrix.binary && steps.detect_tag.outputs.tagged == 'true' }}
if: ${{ matrix.binary && steps.detect_tag.outputs.tagged }}
run: |
pushd dist/binary
echo "single-file binary"
@ -162,7 +172,7 @@ jobs:
popd
- name: Prepare binaries (${{ matrix.binary }})
if: ${{ matrix.binary && steps.detect_tag.outputs.tagged == 'true' }}
if: ${{ matrix.binary && steps.detect_tag.outputs.tagged }}
run: |
mkdir -p artifacts
if [ -f dist/binary/borg.exe ]; then
@ -175,7 +185,7 @@ jobs:
ls -l artifacts/
- name: Upload binaries (${{ matrix.binary }})
if: ${{ matrix.binary && steps.detect_tag.outputs.tagged == 'true' }}
if: ${{ matrix.binary && steps.detect_tag.outputs.tagged }}
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.binary }}