video_editing_poc/.github/workflows/ci.yml

52 lines
1.4 KiB
YAML

name: CI
on:
push:
branches: ["**"]
pull_request:
branches: ["**"]
# Cancel superseded runs on the same ref.
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build & test (Java 21)
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "21"
cache: maven
# Several integration tests shell out to ffmpeg/ffprobe; the local AI models are NOT needed for tests
# (asset workers are mocked), so no Python venv or model download is required in CI.
- name: Install ffmpeg
run: |
sudo apt-get update
sudo apt-get install -y ffmpeg
ffmpeg -version | head -n 1
ffprobe -version | head -n 1
# ubuntu-latest ships a recent Maven. (A pinned Maven Wrapper is a future hardening step; the wrapper
# plugin couldn't be provisioned offline in this environment.)
- name: Build and test
run: mvn -B -ntp verify
- name: Upload test reports
if: always()
uses: actions/upload-artifact@v4
with:
name: surefire-reports
path: target/surefire-reports/
if-no-files-found: ignore
retention-days: 7