| name: "Common setup for all OSes" |
| description: "Installs common dependencies" |
| 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" |
| oldest-cmake: |
| description: "Can take the values: true, false. Only useful on Linux to force using the minimum required CMake" |
| default: "false" |
| runs: |
| using: "composite" |
| steps: |
| - name: Set up Python |
| uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 |
| with: |
| python-version: "3.x" |
| - name: Set up CMake 3.13 |
| if: ${{ runner.os == 'Linux' && inputs.oldest-cmake == 'true' }} |
| uses: jwlawson/actions-setup-cmake@802fa1a2c4e212495c05bf94dba2704a92a472be # v2.0.2 |
| with: |
| # Use the minimum required version of cmake. |
| cmake-version: "3.13.x" |
| - name: Print CMake version |
| run: cmake --version |
| shell: bash |
| - name: Set up ninja |
| uses: seanmiddleditch/gha-setup-ninja@8b297075da4cd2a5f1fd21fe011b499edf06e9d2 # v4 |
| - name: Set up nasm |
| if: ${{ inputs.codec-aom == 'LOCAL' || inputs.codec-dav1d == 'LOCAL' }} |
| uses: ilammy/setup-nasm@13cbeb366c45c4379d3478cdcbadd8295feb5028 # v1.5.1 |
| - name: Set up rust |
| if: ${{ inputs.codec-rav1e == 'LOCAL' }} |
| uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # v1.0.7 |
| with: |
| profile: minimal |
| toolchain: stable |
| override: true |