NVEncで外部音声エンコーダを使用した場合に音声がmuxされない問題を修正。 #221
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Linux Packages | |
on: | |
push: | |
branches: | |
- master | |
- linux | |
- ffmpeg5 | |
tags: | |
- '*' | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- dockerimg: ubuntu2204_cuda11 | |
pkgtype: deb | |
arch: x86_64 | |
- dockerimg: ubuntu2004_cuda11 | |
pkgtype: deb | |
arch: x86_64 | |
- dockerimg: ubuntu1804_cuda10 | |
pkgtype: deb | |
arch: x86_64 | |
- dockerimg: fedora32_cuda11 | |
pkgtype: rpm | |
arch: x86_64 | |
#- dockerimg: ubuntu2204_cuda11_aarch64 | |
# pkgtype: deb | |
# arch: arm64 | |
env: | |
DOCKER_FILE: docker/docker_${{ matrix.dockerimg }} | |
DOCKER_IMAGE: ${{ matrix.dockerimg }} | |
PKG_TYPE: ${{ matrix.pkgtype }} | |
name: Upload Release Asset | |
runs-on: ubuntu-latest | |
steps: | |
- name: Prepare | |
id: prep | |
run: | | |
REPOSITORY=$(echo ${{ github.repository }} | sed -e "s#.*/##") | |
VERSION=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g") | |
IMAGE="build_nvencc_"${{ env.DOCKER_IMAGE }} | |
TAG=$(echo $GITHUB_SHA | head -c7) | |
NPROC=$(grep 'processor' /proc/cpuinfo | wc -l) | |
OUTPUT_DIR=`pwd`/output | |
LOCAL_USER_ID=$(id -u) | |
LOCAL_GROUP_ID=$(id -g) | |
echo "tagged_image=${IMAGE}:${TAG}" >> $GITHUB_OUTPUT | |
echo "tag=${TAG}" >> $GITHUB_OUTPUT | |
echo "nproc=${NPROC}" >> $GITHUB_OUTPUT | |
echo "output_dir=${OUTPUT_DIR}" >> $GITHUB_OUTPUT | |
echo "local_user_id=${LOCAL_USER_ID}" >> $GITHUB_OUTPUT | |
echo "local_group_id=${LOCAL_GROUP_ID}" >> $GITHUB_OUTPUT | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
fetch-depth: 0 | |
- name: Checkout dependencies | |
run: | | |
git clone https://github.com/AviSynth/AviSynthPlus.git AviSynthPlus | |
git clone https://github.com/vapoursynth/vapoursynth.git vapoursynth | |
- name: Create Output Dir | |
run: | | |
mkdir -p ${{ steps.prep.outputs.output_dir }} | |
- name: Set up QEMU | |
if: matrix.arch != 'x86_64' | |
uses: docker/setup-qemu-action@v2 | |
- name: Build Exec | |
id: build_exec | |
run: | | |
docker build --build-arg LOCAL_USER_ID=${{ steps.prep.outputs.local_user_id }} --build-arg LOCAL_GROUP_ID=${{ steps.prep.outputs.local_group_id }} --tag ${{ steps.prep.outputs.tagged_image }} --platform linux/${{ matrix.arch }} --file ${{ env.DOCKER_FILE }} ./ | |
docker run -dit --rm -v ${{ steps.prep.outputs.output_dir }}:/output -u "$(id -u):$(id -g)" --name build_pkg ${{ steps.prep.outputs.tagged_image }} | |
docker exec build_pkg ./configure --extra-cxxflags="-I./AviSynthPlus/avs_core/include -I./vapoursynth/include" | |
docker exec build_pkg make -j${{ steps.prep.outputs.nproc }} | |
docker exec build_pkg ./nvencc --version | |
docker exec build_pkg ./check_options.py | |
docker exec build_pkg ./build_${{ env.PKG_TYPE }}.sh | |
docker exec build_pkg sh -c "cp -v ./*.${{ env.PKG_TYPE }} /output/" | |
PKGFILE=`ls ${{ steps.prep.outputs.output_dir }}/*.${{ env.PKG_TYPE }}` | |
echo ${PKGFILE} | |
echo "pkgfile=${PKGFILE}" >> $GITHUB_OUTPUT | |
- name: Upload Release Asset | |
id: upload-release-asset | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
files: ${{ steps.build_exec.outputs.pkgfile }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: nvencc_${{ matrix.dockerimg }}_${{ matrix.pkgtype }} | |
path: ${{ steps.build_exec.outputs.pkgfile }} |