Version 1 OneShot
This commit is contained in:
66
.github/workflows/build.yml
vendored
Normal file
66
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
# Builds the Windows .exe and the Linux binary. Runs on GitHub Actions as-is;
|
||||
# Gitea/Forgejo Actions also read this folder but need a Windows runner registered.
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
tags: ["v*"]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# ubuntu-22.04 keeps the glibc requirement at 2.35 so the binary runs on older distros.
|
||||
os: [windows-latest, ubuntu-22.04]
|
||||
runs-on: ${{ matrix.os }}
|
||||
env:
|
||||
QT_QPA_PLATFORM: offscreen
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.12"
|
||||
|
||||
- name: Install Qt runtime libraries (bundled into the Linux binary)
|
||||
if: runner.os == 'Linux'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libegl1 libxkbcommon-x11-0 libxcb-cursor0 libxcb-icccm4 \
|
||||
libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxcb-xkb1
|
||||
|
||||
- name: Install Python dependencies
|
||||
run: python -m pip install -r requirements-dev.txt
|
||||
|
||||
- name: Download ffmpeg
|
||||
run: python scripts/fetch_ffmpeg.py
|
||||
|
||||
- name: Run tests
|
||||
run: python -m pytest -q
|
||||
env:
|
||||
FFWRAP_FFMPEG_DIR: ffmpeg/bin
|
||||
|
||||
- name: Build executable
|
||||
run: python build.py --ffmpeg-dir ffmpeg/bin
|
||||
|
||||
- name: Smoke test the built executable
|
||||
shell: bash
|
||||
run: python scripts/smoke_test.py dist/package/FFmpegWrapper/FFmpegWrapper$([ "$RUNNER_OS" = Windows ] && echo .exe) smoke-${{ runner.os }}.png
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: FFmpegWrapper-${{ runner.os }}
|
||||
path: |
|
||||
dist/FFmpegWrapper-*.zip
|
||||
dist/FFmpegWrapper-*.tar.gz
|
||||
smoke-${{ runner.os }}.png
|
||||
|
||||
- name: Attach to release
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: |
|
||||
dist/FFmpegWrapper-*.zip
|
||||
dist/FFmpegWrapper-*.tar.gz
|
||||
Reference in New Issue
Block a user