name: CI on: push: branches: [main] pull_request: branches: [main] workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true defaults: run: shell: bash jobs: test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - name: Set up Python uses: actions/setup-python@v5 with: python-version: 3.13 # The test suite runs real encodes, so ffmpeg is a test dependency. - name: Install ffmpeg run: sudo apt-get update && sudo apt-get install --no-install-recommends -y ffmpeg - name: Install test dependencies run: python -m pip install --upgrade pip && pip install pytest - name: Run unit tests run: python -m pytest - name: Build the container image run: docker build -t music-mirror:ci .