diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 0f9b0f12e7..1cfd50e858 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -10,12 +10,31 @@ jobs: build: runs-on: ubuntu-latest + permissions: + packages: write + steps: - uses: actions/checkout@v3 - - name: Run build + - name: Login to GitHub Container Registry + if: ${{ env.has_token = true }} + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + env: + has_token: ${{ !!secrets.GITHUB_TOKEN && github.repository_owner == 'casparcg' }} + + - name: Prepare dependencies run: | ./tools/linux/ensure-base-images + env: + CI: 1 + CASPARCG_PUSH_IMAGES: ${{ !!secrets.GITHUB_TOKEN && github.repository_owner == 'casparcg' }} + + - name: Run build + run: | ./tools/linux/build-in-docker ./tools/linux/extract-from-docker diff --git a/tools/linux/ensure-base-images b/tools/linux/ensure-base-images index 583bc0f774..8b4b7f425a 100755 --- a/tools/linux/ensure-base-images +++ b/tools/linux/ensure-base-images @@ -7,4 +7,9 @@ docker pull $IMAGE_CEF || docker build -t $IMAGE_CEF --build-arg PROC_COUNT --bu docker pull $IMAGE_BOOST || docker build -t $IMAGE_BOOST --build-arg PROC_COUNT --build-arg IMAGE_BASE tools/linux/boost docker pull $IMAGE_FFMPEG || docker build -t $IMAGE_FFMPEG --build-arg PROC_COUNT --build-arg IMAGE_BASE tools/linux/ffmpeg -# TODO - push images if auth variables are defined +if [ "$CASPARCG_PUSH_IMAGES" = true ]; then + docker push $IMAGE_BASE + docker push $IMAGE_CEF + docker push $IMAGE_BOOST + docker push $IMAGE_FFMPEG +fi