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 pip_deps: python-Levenshtein DEBIAN_FRONTEND: noninteractive temp: .temp jobs: validate: name: ${{ matrix.name }} runs-on: ubuntu-latest container: registry.gitlab.com/luigi311/encoders-docker:latest strategy: fail-fast: false matrix: include: - name: baseline flags: "" - name: svt_av1 flags: -enc svt_av1 - name: rav1e flags: -enc rav1e - name: x265 flags: -enc x265 - name: x264 flags: -enc x264 - name: vpx flags: -enc vpx - name: workers flags: -w 2 - name: chunk hybrid flags: --chunk_method hybrid - name: chunk select flags: --chunk_method select - name: video flags flags: -v " --threads=2 --cpu-used=6 --end-usage=q --cq-level=30 " - name: target vmaf flags: -v " --threads=2 --cpu-used=6 --end-usage=q --cq-level=30 " --target_quality 95 - name: extra splits flags: -xs 10 - name: split method flags: --split_method aom_keyframes - name: temp flags: --temp temporary 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 pip3 install --no-cache-dir ${{ env.pip_deps }} - 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: | [ "${{ matrix.temp }}" != "" ] && TEMP=${{ matrix.temp }} || TEMP=${{ env.temp }} ./av1an.py -i bus_cif.y4m -tr 20 --keep -o "${TEMP}/bus_cif.mkv" ${{ matrix.flags }} du -h "${TEMP}/bus_cif.mkv" echo "TEMPPATH=$TEMP" >> $GITHUB_ENV - name: Upload video uses: actions/upload-artifact@v2 with: name: "${{ matrix.name }}" path: "${{ env.TEMPPATH }}"