Add Linux build to release workflow, fix pytest exit code 5
Lint & Test / test (push) Successful in 10s
Release / create-release (push) Failing after 1s
Release / build-windows (push) Has been skipped
Release / build-linux (push) Has been skipped

- Add build-dist-linux.sh: venv-based tarball with systemd installer
- Add build-linux job to release.yml (parallel with build-windows)
- Include Linux download in release body
- Allow pytest to pass when no tests are collected (exit code 5)
This commit is contained in:
2026-03-23 02:04:06 +03:00
parent 5439af1955
commit ddd8788701
3 changed files with 166 additions and 1 deletions
+39
View File
@@ -35,6 +35,7 @@ jobs:
|----------|------|
| Windows (installer) | \`MediaServer-{tag}-setup.exe\` |
| Windows (portable) | \`MediaServer-{tag}-win-x64.zip\` |
| Linux | \`MediaServer-{tag}-linux-x64.tar.gz\` |
'''
print(json.dumps(textwrap.dedent(body).strip()))
")
@@ -101,3 +102,41 @@ jobs:
-H "Content-Type: application/octet-stream" \
--data-binary "@$FILE"
done
# --- Build Linux tarball ---
build-linux:
needs: create-release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Build frontend
run: npm ci && npm run build
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Build Linux distribution
run: |
chmod +x build-dist-linux.sh
./build-dist-linux.sh "${{ gitea.ref_name }}"
- name: Upload assets to release
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
run: |
RELEASE_ID="${{ needs.create-release.outputs.release_id }}"
BASE_URL="${{ gitea.server_url }}/api/v1/repos/${{ gitea.repository }}"
FILE=$(ls build/MediaServer-*-linux-x64.tar.gz | head -1)
echo "Uploading $(basename "$FILE")..."
curl -s -X POST \
"$BASE_URL/releases/$RELEASE_ID/assets?name=$(basename "$FILE")" \
-H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@$FILE"
+1 -1
View File
@@ -32,4 +32,4 @@ jobs:
run: ruff check media_server/
- name: Test
run: pytest --tb=short -q
run: pytest --tb=short -q || test $? -eq 5