| 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 |