初期化のコードにAVX2命令が混入しているらしく、AVX2に対応しない環境で動作しないのを回避。 ( #539 ) #230
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 }} |