# See https://docs.earthly.dev/ci-integration/vendor-specific-guides/gh-actions-integration # for details. name: Build development container on: schedule: - cron: '0 2 * * *' push: branches: - develop pull_request: branches: - develop jobs: Earthly: runs-on: ubuntu-latest steps: - name: Set up Earthly uses: earthly/actions-setup@v1 with: version: 'latest' # or pin to an specific version, e.g. "v0.6.10" - name: Log Earthly version run: earthly --version - name: Authenticate to GitHub Container Registry if: ${{ github.event_name == 'schedule' && env.GH_CR_PAT != null }} env: GH_CR_PAT: ${{ secrets.GH_CR_PAT }} run: echo "${{ secrets.GH_CR_PAT }}" | docker login https://ghcr.io -u ${{ github.actor }} --password-stdin - name: Set up QEMU uses: docker/setup-qemu-action@v3 with: image: tonistiigi/binfmt:latest platforms: all - name: Check out pull request code uses: actions/checkout@v4 if: github.event_name == 'pull_request' with: repository: ${{ github.event.pull_request.head.repo.full_name }} - name: Check out repository code uses: actions/checkout@v4 if: github.event_name == 'push' || github.event_name == 'schedule' - name: Build and push if: ${{ github.event_name == 'schedule' && env.GH_CR_PAT != null }} env: GH_CR_PAT: ${{ secrets.GH_CR_PAT }} EARTHLY_BUILD_TAG: 'nightly' EARTHLY_BUILD_BRANCH: 'develop' EARTHLY_PUSH: true uses: nick-fields/retry@v3 with: timeout_minutes: 20 max_attempts: 3 command: ./build/develop/container.sh