Adds builders for h264 sps structs + size of un/signed Exp-Golomb encoded numbers #1026
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: ci | |
on: | |
push: | |
branches: | |
- automation/brawl/try/* | |
- automation/brawl/merge/* | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
# By default, when a action is run against a PR it will use a merge commit from the target branch & the PR branch. We want to use just the PR branch. | |
# So this changes the SHA to the PR branch SHA or falls back to the current SHA (if its not a PR) | |
# https://github.com/actions/checkout/issues/426 | |
SHA: ${{ github.event.pull_request.head.sha || github.sha }} | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
matrix_prep: | |
name: Matrix Prep | |
runs-on: ubuntu-24.04 | |
outputs: | |
matrix: ${{ steps.compute.outputs.matrix }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ env.SHA }} | |
- name: Run matrix prep | |
id: compute | |
run: | | |
set -xeo pipefail | |
python3 .github/scripts/ci-matrix-prep.py '${{ toJson(github) }}' | tee -a $GITHUB_OUTPUT | |
jobs: | |
name: ${{ matrix.job_name || 'Jobs' }} | |
needs: matrix_prep | |
strategy: | |
matrix: | |
include: ${{ fromJson(needs.matrix_prep.outputs.matrix) }} | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ env.SHA }} | |
- name: Setup FFmpeg | |
if: ${{ matrix.ffmpeg != null }} | |
uses: ./.github/actions/setup-ffmpeg | |
with: ${{ matrix.ffmpeg }} | |
- name: Setup Rust | |
if: ${{ matrix.rust != null }} | |
uses: ./.github/actions/setup-rust | |
with: ${{ matrix.rust }} | |
- name: Setup Secrets | |
if: ${{ matrix.secrets != null }} | |
run: | | |
set -eo pipefail | |
secrets='${{ toJson(secrets) }}' | |
for secret in $(echo '${{ toJson(matrix.secrets) }}' | jq -r '.[]'); do | |
value=$(echo "$secrets" | jq -r --arg key "$secret" '.[$key]') | |
echo "$secret=$value" >> $GITHUB_ENV | |
echo "Setting $secret to $value" | |
done | |
- name: Run ./.github/actions/ci/${{ matrix.job }} | |
uses: ./.github/actions/ci/dynamic | |
with: | |
uses: ./.github/actions/ci/${{ matrix.job }} | |
with: | | |
${{ toJson(matrix.inputs) }} | |
brawl-done: | |
runs-on: ubuntu-24.04 | |
needs: [jobs] | |
if: ${{ !cancelled() && github.event_name == 'push' }} | |
steps: | |
- name: calculate the correct exit status | |
run: jq --exit-status 'all(.result == "success" or .result == "skipped")' <<< '${{ toJson(needs) }}' |