Av1an/.github/workflows/tests.yml
Luigi311 efe1cb34b1 Dynamic username
Signed-off-by: Luigi311 <luigi311.lg@gmail.com>
2021-01-18 20:30:55 -07:00

108 lines
3.1 KiB
YAML

name: tests
on:
push:
paths-ignore:
- "*.yml"
- .gitignore
- "*.md"
pull_request:
paths-ignore:
- "*.yml"
- .gitignore
- "*.md"
env:
deps: python3-dev libglib2.0-0 libsm6 libxext6 libxrender-dev libgl1-mesa-glx tree
DEBIAN_FRONTEND: noninteractive
jobs:
validate:
name: ${{ matrix.name }} ${{ matrix.enc }}
runs-on: ubuntu-latest
container: registry.gitlab.com/luigi311/encoders-docker:latest
strategy:
fail-fast: false
matrix:
enc: [aom, rav1e, svt_av1, vpx, x265, x264]
name: [baseline, target_quality]
include:
- name: baseline
flags: ""
- name: target_quality
flags: --target_quality 95
- name: chunk_hybrid
enc: aom
flags: --chunk_method hybrid
- name: chunk_select
enc: aom
flags: --chunk_method select
- name: scenes
enc: aom
flags: -s scenes.json
- name: workers
enc: aom
flags: -w 2
- name: vmaf
enc: aom
flags: --vmaf
- name: vmaf_plots
enc: aom
flags: --vmaf_plots
- name: extra_splits
enc: aom
flags: -xs 10
- name: split_aom_keyframes
enc: aom
flags: --split_method aom_keyframes
- name: video_settings
enc: aom
flags: -v " --cpu-used=3 --end-usage=q --cq-level=30 --threads=8 "
- name: temp
enc: aom
flags: --temp temporary
steps:
- uses: actions/checkout@v2
- name: Validate encoders
run: |
aomenc --help
SvtAv1EncApp --help
rav1e --help
x265 --help || true
- name: Install requirements
run: |
apt-get update && apt-get install -y ${{ env.deps }}
pip3 install --no-cache-dir -r requirements.txt
- name: Download videos
run: |
for url in raw.githubusercontent.com/OpenVisualCloud/SVT-AV1-Resources/master randomderp.com; do
curl -LO https://$url/video.tar.gz && break
done
tar xf video.tar.gz
- name: Testing ${{ matrix.name }}
run: |
./av1an.py -i bus_cif.y4m -enc ${{ matrix.enc }} -tr 20 --keep -o "bus_cif.mkv" ${{ matrix.flags }}
du -h bus_cif.mkv
tree -a
docker:
runs-on: ubuntu-latest
needs: validate
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
id: docker_build
uses: docker/build-push-action@v2
with:
push: true
tags: ${{ secrets.DOCKERHUB_USERNAME }}/av1an:latest
- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}