diff --git a/.github/workflows/docker-webv2.yaml b/.github/workflows/docker-webv2.yaml new file mode 100644 index 000000000..b60a44b23 --- /dev/null +++ b/.github/workflows/docker-webv2.yaml @@ -0,0 +1,40 @@ +# See https://docs.earthly.dev/ci-integration/vendor-specific-guides/gh-actions-integration +# for details. + +name: Build webv2 docker + +on: + workflow_dispatch: + schedule: + - cron: '0 3 * * *' + +jobs: + Docker: + runs-on: ubuntu-latest + steps: + - uses: earthly/actions-setup@v1 + with: + version: 'latest' # or pin to an specific version, e.g. "v0.6.10" + + - name: Earthly version + run: earthly --version + + - name: Log into GitHub Container Registry + env: + GH_CR_PAT: ${{ secrets.GH_CR_PAT }} + run: echo "${{ secrets.GH_CR_PAT }}" | docker login https://ghcr.io -u ${{ github.actor }} --password-stdin + if: env.GH_CR_PAT != null + + - name: Set up QEMU + id: qemu + uses: docker/setup-qemu-action@v2 + with: + image: tonistiigi/binfmt:latest + platforms: all + + - uses: actions/checkout@v3 + - name: Checkout and build + if: env.GH_CR_PAT != null + env: + GH_CR_PAT: ${{ secrets.GH_CR_PAT }} + run: cd build/release && ./docker-webv2.sh diff --git a/build/release/docker-webv2.sh b/build/release/docker-webv2.sh new file mode 100644 index 000000000..b75a9d4c9 --- /dev/null +++ b/build/release/docker-webv2.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# Docker build +# Must authenticate first: https://docs.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-docker-for-use-with-github-packages#authenticating-to-github-packages +DOCKER_IMAGE="owncast" +DATE=$(date +"%Y%m%d") +TAG="webv2" +VERSION="${DATE}-${TAG}" +echo "Building Docker image ${DOCKER_IMAGE}..." + +# Change to the root directory of the repository +cd $(git rev-parse --show-toplevel) +git checkout webv2 + +earthly --ci --push +docker-all --image="ghcr.io/owncast/${DOCKER_IMAGE}" --tag=${TAG} --version="${VERSION}"