dash-mpd-cli 0.2.32

Download media content from a DASH-MPEG or DASH-WebM MPD manifest.
# Run cargo tests in a FreeBSD VM.
#
# We need to build without default features (in particular without the "cookies" feature), because
# the decrypt-cookies crate doesn't compile on FreeBSD.
#
# See https://github.com/cross-platform-actions/action

on: workflow_dispatch

name: freebsd

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v6
    - name: Run tests in FreeBSD VM
      uses: cross-platform-actions/action@v0.32.0
      with:
          memory: 2G
          operating_system: freebsd
          version: "15.0"
          shell: bash
          run: |
            uname -a
            sudo pkg install -y --quiet curl
            sudo pkg install -y --quiet wget
            curl https://sh.rustup.rs -sSf --output rustup.sh
            bash rustup.sh -y --profile minimal --default-toolchain stable
            export PATH=${HOME}/.cargo/bin:{$PATH}
            echo "~~~~ rustc --version ~~~~"
            rustc --version
            echo "~~~~ installing cmake, protobuf, mp4decrypt ~~~~~"
            sudo pkg install -y --quiet devel/cmake
            sudo pkg install -y --quiet devel/protobuf
            sudo pkg install -y --quiet Bento4
            mp4decrypt || true
            # we are depending here on FreeBSD's Linux binary compatibility layer
            sudo service linux onestart
            sudo pkg install -y --quiet linux_base-rl9
            echo "~~~~ downloading shaka-packager ~~~~"
            # Don't download this with curl; json parsing tricks are needed
            wget --quiet -O /tmp/shaka-packager https://github.com/shaka-project/shaka-packager/releases/latest/download/packager-linux-x64 
            sudo mv /tmp/shaka-packager /usr/local/bin
            sudo chmod +x /usr/local/bin/shaka-packager
            sudo brandelf -t Linux /usr/local/bin/shaka-packager
            ls -l /usr/local/bin/shaka-packager
            export PATH=${PATH}:/usr/local/bin
            echo "~~~~ shaka-packager version ~~~~"
            shaka-packager --version
            echo "~~~~ installing ffmpeg ~~~~"
            sudo pkg install -y --quiet ffmpeg
            sudo pkg install -y --quiet libxslt
            ls -l
            echo "~~~~ building dash-mpd-cli ~~~~"
            cargo build --jobs 1 --no-default-features --verbose
            echo "~~~~ running tests ~~~~"
            env CI=yes cargo test --jobs 1 --no-default-features --verbose -- --skip container