| name: "Setup on Linux" |
| description: "Installs dependencies and sets env variables specific to Linux" |
| inputs: |
| codec-aom: |
| description: "Can take the values: OFF, LOCAL, SYSTEM" |
| default: "OFF" |
| codec-dav1d: |
| description: "Can take the values: OFF, LOCAL, SYSTEM" |
| default: "OFF" |
| codec-rav1e: |
| description: "Can take the values: OFF, LOCAL, SYSTEM" |
| default: "OFF" |
| codec-svt: |
| description: "Can take the values: OFF, LOCAL, SYSTEM" |
| default: "OFF" |
| extra-cache-key: |
| description: "Extra cache key to use in the cache name. Useful when several caches are used in one workflow." |
| default: "" |
| gcc-version: |
| description: "Can be empty, in which case CC and CXX are not overriden" |
| default: "" |
| gtest: |
| description: "Can take the values: OFF, LOCAL, SYSTEM" |
| default: "OFF" |
| libjpeg-turbo: |
| description: "Can take the values: OFF, LOCAL, SYSTEM" |
| default: "OFF" |
| libxml2: |
| description: "Can take the values: OFF, LOCAL, SYSTEM" |
| default: "OFF" |
| libyuv: |
| description: "Can take the values: OFF, LOCAL, SYSTEM" |
| default: "OFF" |
| oldest-cmake: |
| description: "Can take the values: true, false" |
| default: "false" |
| zlibpng: |
| description: "Can take the values: OFF, LOCAL, SYSTEM" |
| default: "OFF" |
| outputs: |
| ext-cache-hit: |
| value: ${{ steps.cache.outputs.ext-cache-hit }} |
| runs: |
| using: "composite" |
| steps: |
| - name: Install libaom library |
| if: ${{ inputs.codec-aom == 'SYSTEM' }} |
| run: echo "AVIF_UNIX_LIBRARIES=libaom-dev" >> "$GITHUB_ENV" |
| shell: bash |
| - name: Set up meson |
| if: ${{ inputs.codec-dav1d == 'LOCAL' }} |
| run: echo "AVIF_UNIX_LIBRARIES=${{ env.AVIF_UNIX_LIBRARIES }} meson" >> "$GITHUB_ENV" |
| shell: bash |
| - name: Install libdav1d library |
| if: ${{ inputs.codec-dav1d == 'SYSTEM' }} |
| run: echo "AVIF_UNIX_LIBRARIES=${{ env.AVIF_UNIX_LIBRARIES }} libdav1d-dev" >> "$GITHUB_ENV" |
| shell: bash |
| - name: Install rav1e library |
| if: ${{ inputs.codec-rav1e == 'SYSTEM' }} |
| run: echo "AVIF_UNIX_LIBRARIES=${{ env.AVIF_UNIX_LIBRARIES }} librav1e-dev" >> "$GITHUB_ENV" |
| shell: bash |
| - name: Install SVT-AV1 library |
| if: ${{ inputs.codec-svt == 'SYSTEM' }} |
| run: echo "AVIF_UNIX_LIBRARIES=${{ env.AVIF_UNIX_LIBRARIES }} libsvtav1enc-dev" >> "$GITHUB_ENV" |
| shell: bash |
| - name: Set up tests |
| if: ${{ inputs.gtest != 'OFF' }} |
| run: echo "AVIF_UNIX_LIBRARIES=${{ env.AVIF_UNIX_LIBRARIES }} imagemagick" >> "$GITHUB_ENV" |
| shell: bash |
| - name: Set up gtest |
| if: ${{ inputs.gtest == 'SYSTEM' }} |
| run: echo "AVIF_UNIX_LIBRARIES=${{ env.AVIF_UNIX_LIBRARIES }} libgtest-dev" >> "$GITHUB_ENV" |
| shell: bash |
| - name: Install libjpeg-turbo library |
| if: ${{ inputs.libjpeg-turbo == 'SYSTEM' }} |
| run: echo "AVIF_UNIX_LIBRARIES=${{ env.AVIF_UNIX_LIBRARIES }} libjpeg-turbo8-dev" >> "$GITHUB_ENV" |
| shell: bash |
| - name: Install libxml2 library |
| if: ${{ inputs.libxml2 == 'SYSTEM' }} |
| run: echo "AVIF_UNIX_LIBRARIES=${{ env.AVIF_UNIX_LIBRARIES }} libxml2" >> "$GITHUB_ENV" |
| shell: bash |
| - name: Install libyuv library |
| if: ${{ inputs.libyuv == 'SYSTEM' }} |
| run: echo "AVIF_UNIX_LIBRARIES=${{ env.AVIF_UNIX_LIBRARIES }} libyuv-dev" >> "$GITHUB_ENV" |
| shell: bash |
| - name: Install zlibpng library |
| if: ${{ inputs.zlibpng == 'SYSTEM' }} |
| run: echo "AVIF_UNIX_LIBRARIES=${{ env.AVIF_UNIX_LIBRARIES }} libpng-dev" >> "$GITHUB_ENV" |
| shell: bash |
| |
| - name: Install libraries |
| run: | |
| sudo apt update -y |
| sudo apt install -y ${{ env.AVIF_UNIX_LIBRARIES }} |
| shell: bash |
| |
| - uses: ./.github/actions/cache |
| id: cache |
| with: |
| extra-key: ${{ inputs.extra-cache-key }} |
| use-meson: ${{ inputs.codec-dav1d == 'LOCAL' }} |
| use-rust: ${{ inputs.codec-rav1e == 'LOCAL' }} |
| - uses: ./.github/actions/setup-common |
| with: |
| codec-aom: ${{ inputs.codec-aom }} |
| codec-dav1d: ${{ inputs.codec-dav1d }} |
| codec-rav1e: ${{ inputs.codec-rav1e }} |
| codec-svt: ${{ inputs.codec-svt }} |
| oldest-cmake: ${{ inputs.oldest-cmake }} |
| |
| - name: Set GCC & G++ compiler |
| if: ${{ inputs.gcc-version != '' }} |
| run: echo "CC=gcc-${{ inputs.gcc-version }}" >> $GITHUB_ENV && echo "CXX=g++-${{ inputs.gcc-version }}" >> $GITHUB_ENV |
| shell: bash |