Skip to content

CI: install xmllint before running tests #652

CI: install xmllint before running tests

CI: install xmllint before running tests #652

Workflow file for this run

on: [push]
name: macos
jobs:
build:
runs-on: macos-latest
timeout-minutes: 100
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: taiki-e/install-action@cargo-hack
# The "|| true" on upgrade is to work around homebrew conflicts between GitHub-installed Python versions
# and those required by our packages.
- name: install GPAC/MP4Box
run: |
brew update
brew upgrade || true
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 brew install gpac
MP4Box -version
- name: install ffmpeg
run: brew install ffmpeg
- name: install mkvmerge
run: brew install mkvtoolnix
- name: install mediainfo
run: |
brew install media-info
mediainfo --Version
# We can't install the version of Bento4 distributed with brew, because it conflicts with GPAC
- name: install Bento4 mp4decrypt
run: |
wget -q -O /tmp/bento4.zip https://www.bok.net/Bento4/binaries/Bento4-SDK-1-6-0-641.universal-apple-macosx.zip
unzip /tmp/bento4.zip "Bento4-SDK-*/bin/mp4decrypt" -d /tmp
sudo mv /tmp/Bento4-SDK*/bin/mp4decrypt /usr/local/bin
# Shaka packager is not available via homebrew. Alternatively, could use docker
# google/shaka-packager. Here we are depending on the macos runner being an AMD64 machine.
- name: Install shaka-packager
run: |
wget -q -O /tmp/shaka-packager https://github.com/shaka-project/shaka-packager/releases/latest/download/packager-osx-x64
mv /tmp/shaka-packager /usr/local/bin
chmod +x /usr/local/bin/shaka-packager
# We need libxml2 for xmllint, used in the serialization tests.
- name: install xsltproc
run: brew install libxslt libxml2
- name: install protobuf compiler
run: brew install protobuf cmake
- run: cargo hack check --feature-powerset --exclude-features libav --no-dev-deps
- run: cargo build
- run: RUST_LOG=info cargo test --jobs 1 --verbose --no-run
- run: RUST_LOG=info cargo test --jobs 1 --verbose -- --show-output