Skip to content

test build on gha-sat #4785

test build on gha-sat

test build on gha-sat #4785

name: Docker CI Ubuntu
on:
push:
branches: [ main ]
paths-ignore:
- 'docs/**'
- '**.md'
- '.github/renovate.json5'
- '.github/CODEOWNERS'
- 'LICENSE'
pull_request:
branches: [ main ]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
# this job will output a boolean value to check whether files that require these tests to run
# since all jobs depend on `build-earthly` job, conditionally running it will either cause all jobs to run or skip,
# depending on the output value of this job
# check-essential-files:
# # only run on pull request since push to main is already checking files with paths-ignore
# if: ${{ github.event_name == 'pull_request' }}
# uses: ./.github/workflows/reusable-find-pr-changes.yaml
# permissions:
# pull-requests: read
# secrets: inherit
build-earthly:
# needs: check-essential-files
# allow the job to execute even if check-essential-files is skipped
if: ${{ !failure() }}
uses: ./.github/workflows/build-earthly.yml
with:
BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
RUNS_ON: "earthly-satellite#gha-test-1"
BINARY: "docker"
SUDO: ""
# SKIP_JOB: ${{ needs.check-essential-files.outputs.essential-files == 'false' }}
secrets: inherit
# docker-lint:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+lint-all"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "earthly-satellite#gha-test-1"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
docker-test-misc:
needs: build-earthly
if: ${{ !failure() }}
uses: ./.github/workflows/reusable-test.yml
with:
TEST_TARGET: "+test-misc"
BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
RUNS_ON: "earthly-satellite#gha-test-1"
BINARY: "docker"
SUDO: ""
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
EXTRA_ARGS: "--auto-skip"
secrets: inherit
docker-tests-no-qemu-group1:
needs: build-earthly
if: ${{ !failure() }}
uses: ./.github/workflows/reusable-test.yml
with:
TEST_TARGET: "+test-no-qemu-group1"
BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
RUNS_ON: "earthly-satellite#gha-test-1"
BINARY: "docker"
SUDO: ""
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
EXTRA_ARGS: "--auto-skip"
secrets: inherit
# docker-tests-no-qemu-group2:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group2"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "earthly-satellite#gha-test-1"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-tests-no-qemu-group1-no-logbus:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group1"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "earthly-satellite#gha-test-1"
# BINARY: "docker"
# SUDO: ""
# EXTRA_ARGS: "--logstream=false --logstream-upload=false --auto-skip"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-tests-no-qemu-group2-no-logbus:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group2"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "earthly-satellite#gha-test-1"
# BINARY: "docker"
# SUDO: ""
# EXTRA_ARGS: "--logstream=false --logstream-upload=false --auto-skip"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-tests-no-qemu-group3:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group3"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "earthly-satellite#gha-test-1"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-tests-no-qemu-group3-no-logbus:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group3"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "earthly-satellite#gha-test-1"
# BINARY: "docker"
# SUDO: ""
# EXTRA_ARGS: "--logstream=false --logstream-upload=false --auto-skip"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-tests-no-qemu-group4:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group4"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-tests-no-qemu-group4-no-logbus:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group4"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# EXTRA_ARGS: "--logstream=false --logstream-upload=false --auto-skip"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-tests-no-qemu-group5:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group5"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-tests-no-qemu-group5-no-logbus:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group5"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# EXTRA_ARGS: "--logstream=false --logstream-upload=false --auto-skip"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-tests-no-qemu-group6:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group6"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-tests-no-qemu-group6-no-logbus:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group6"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# EXTRA_ARGS: "--logstream=false --logstream-upload=false --auto-skip"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
docker-tests-no-qemu-group7:
needs: build-earthly
if: ${{ !failure() }}
uses: ./.github/workflows/reusable-test.yml
with:
TEST_TARGET: "+test-no-qemu-group7"
BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
RUNS_ON: "earthly-satellite#gha-test-1"
BINARY: "docker"
SUDO: ""
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
EXTRA_ARGS: "--auto-skip"
secrets: inherit
# docker-tests-no-qemu-group7-no-logbus:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group7"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "earthly-satellite#gha-test-1"
# BINARY: "docker"
# SUDO: ""
# EXTRA_ARGS: "--logstream=false --logstream-upload=false --auto-skip"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-tests-no-qemu-group8:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group8"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "earthly-satellite#gha-test-1"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-tests-no-qemu-group8-no-logbus:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group8"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "earthly-satellite#gha-test-1"
# BINARY: "docker"
# SUDO: ""
# EXTRA_ARGS: "--logstream=false --logstream-upload=false --auto-skip"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-tests-no-qemu-group9:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group9"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "earthly-satellite#gha-test-1"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-tests-no-qemu-group10:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group10"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-tests-no-qemu-group11:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group11"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-tests-no-qemu-group12:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-group12"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-tests-no-qemu-slow:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-slow"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-tests-no-qemu-kind:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-no-qemu-kind"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-test-earthly-mirror-was-setup:
# if: ${{ !failure() && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) }}
# needs: build-earthly
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "./tests+test-earthly-mirror-was-setup"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-tests-test-account:
# if: ${{ !failure() && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) }}
# needs: build-earthly
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "./tests/account+test"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-test-registry-command-dockerhub:
# if: ${{ !failure() && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) }}
# needs: build-earthly
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "./tests/registry-command+test-dockerhub"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-test-registry-command-ecr:
# if: ${{ !failure() && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) }}
# needs: build-earthly
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "./tests/registry-command+test-ecr"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-test-registry-command-gcp:
# if: ${{ !failure() && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) }}
# needs: build-earthly
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "./tests/registry-command+test-gcp"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-test-registry-command-multi:
# if: ${{ !failure() && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) }}
# needs: build-earthly
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "./tests/registry-command+test-multi"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-test-web-command:
# if: ${{ !failure() && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) }}
# needs: build-earthly
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "./tests/web+test"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-test-oidc-command:
# if: ${{ !failure() && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) }}
# needs: build-earthly
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "./tests/oidc+test"
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-tests-qemu:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test.yml
# with:
# TEST_TARGET: "+test-qemu"
# USE_QEMU: true
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-examples-1:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-example.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# EXAMPLE_NAME: "+examples-1"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-examples-2:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-example.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# EXAMPLE_NAME: "+examples-2"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-examples-3:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-example.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# EXAMPLE_NAME: "+examples-3"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-test-local:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-test-local.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# BINARY_COMPOSE: "\"docker compose\""
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-push-integrations:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-push-integrations.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-secret-integrations:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-secrets-integrations.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-bootstrap-integrations:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-bootstrap-integrations.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-repo-auth-tests:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-repo-auth-tests.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-export-test:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-export-test.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-docker-build-integrations:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-docker-build-integrations.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-earthly-image-test:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-earthly-image-tests.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-misc-test-1:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-misc-tests-1.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-misc-test-2:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-misc-tests-2.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-wait-block-main:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-wait-block-main.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# docker-wait-block-quick:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-wait-block-target.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# TARGET_NAME: "+test-misc"
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-wait-block-no-qemu-group1:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-wait-block-target.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# TARGET_NAME: "+test-no-qemu-group1"
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-wait-block-no-qemu-group2:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-wait-block-target.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# TARGET_NAME: "+test-no-qemu-group2"
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-wait-block-no-qemu-group3:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-wait-block-target.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# TARGET_NAME: "+test-no-qemu-group3"
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-wait-block-no-qemu-group4:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-wait-block-target.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# TARGET_NAME: "+test-no-qemu-group4"
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-wait-block-no-qemu-slow:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-wait-block-target.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# TARGET_NAME: "+test-no-qemu-slow"
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-wait-block-qemu:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-wait-block-target.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# TARGET_NAME: "+test-qemu"
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# docker-git-metadata-test:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-git-metadata-test.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# RUNS_ON: "ubuntu-latest"
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# race-test-misc:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-race-test.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# TEST_TARGET: "+test-misc"
# RUNS_ON: "ubuntu-latest"
# USE_QEMU: false
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# race-tests-no-qemu-group1:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-race-test.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# TEST_TARGET: "+test-no-qemu-group1"
# RUNS_ON: "ubuntu-latest"
# USE_QEMU: false
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# race-tests-no-qemu-group2:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-race-test.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# TEST_TARGET: "+test-no-qemu-group2"
# RUNS_ON: "ubuntu-latest"
# USE_QEMU: false
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# race-tests-no-qemu-group3:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-race-test.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# TEST_TARGET: "+test-no-qemu-group3"
# RUNS_ON: "ubuntu-latest"
# USE_QEMU: false
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# race-tests-no-qemu-group4:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-race-test.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# TEST_TARGET: "+test-no-qemu-group4"
# RUNS_ON: "ubuntu-latest"
# USE_QEMU: false
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# race-tests-no-qemu-slow:
# needs: build-earthly
# if: ${{ !failure() }}
# uses: ./.github/workflows/reusable-race-test.yml
# with:
# BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
# TEST_TARGET: "+test-no-qemu-slow"
# RUNS_ON: "ubuntu-latest"
# USE_QEMU: false
# BINARY: "docker"
# SUDO: ""
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# EXTRA_ARGS: "--auto-skip"
# secrets: inherit
#
# tutorial:
# needs: build-earthly
# name: Tutorial
# runs-on: ubuntu-latest
# env:
# FORCE_COLOR: 1
# EARTHLY_TOKEN: "${{ secrets.EARTHLY_TOKEN }}"
# EARTHLY_INSTALL_ID: "earthly-githubactions"
# # Used in our github action as the token - TODO: look to change it into an input
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# steps:
# - uses: actions/checkout@v4
# with:
# token: ${{ secrets.GITHUB_TOKEN }}
# - name: Docker mirror login (Earthly Only)
# run: docker login registry-1.docker.io.mirror.corp.earthly.dev --username "${{ secrets.DOCKERHUB_MIRROR_USERNAME }}" --password "${{ secrets.DOCKERHUB_MIRROR_PASSWORD }}"
# if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
# - name: Retrieve earthly from build-earthly job
# run: |-
# BUILDKITD_IMAGE=docker.io/earthly/buildkitd-staging TAG=${GITHUB_SHA}-ubuntu-latest-docker ./earthly upgrade
# mkdir -p $(dirname "./build/earthly")
# mv ${HOME}/.earthly/earthly-${GITHUB_SHA}-ubuntu-latest-docker ./build/earthly
# - name: Configure Earthly to use mirror (Earthly Only)
# run: |-
# ./build/earthly config global.buildkit_additional_config "'[registry.\"docker.io\"]
# mirrors = [\"registry-1.docker.io.mirror.corp.earthly.dev\"]'"
# if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
# - name: Set EARTHLY_VERSION_FLAG_OVERRIDES env
# run: |-
# set -euo pipefail
# EARTHLY_VERSION_FLAG_OVERRIDES="$(tr -d '\n' < .earthly_version_flag_overrides)"
# echo "EARTHLY_VERSION_FLAG_OVERRIDES=$EARTHLY_VERSION_FLAG_OVERRIDES" >> "$GITHUB_ENV"
# - name: Build tutorial part 1
# run: ./build/earthly -P ./examples/tutorial+test-part1 --earthly=$(realpath ./build/earthly)
# - name: Build tutorial part 2
# run: ./build/earthly -P ./examples/tutorial+test-part2 --earthly=$(realpath ./build/earthly)
# - name: Build tutorial part 3
# run: ./build/earthly -P ./examples/tutorial+test-part3 --earthly=$(realpath ./build/earthly)
# - name: Build tutorial part 4
# run: ./build/earthly -P ./examples/tutorial+test-part4 --earthly=$(realpath ./build/earthly)
# - name: Build tutorial part 5
# run: ./build/earthly -P ./examples/tutorial+test-part5 --earthly=$(realpath ./build/earthly)
# - name: Build tutorial part 6
# run: ./build/earthly -P ./examples/tutorial+test-part6 --earthly=$(realpath ./build/earthly)
# - name: Buildkit logs (runs on failure)
# run: docker logs earthly-buildkitd
# if: ${{ failure() }}
#
# buildkitd-amd64:
# needs: build-earthly
# name: +all-buildkitd-amd64
# runs-on: ubuntu-latest
# env:
# FORCE_COLOR: 1
# EARTHLY_TOKEN: "${{ secrets.EARTHLY_TOKEN }}"
# EARTHLY_INSTALL_ID: "earthly-githubactions"
# # Used in our github action as the token - TODO: look to change it into an input
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# steps:
# - uses: actions/checkout@v4
# with:
# token: ${{ secrets.GITHUB_TOKEN }}
# - name: Set up QEMU
# id: qemu
# uses: docker/setup-qemu-action@v3
# with:
# image: tonistiigi/binfmt:latest
# platforms: all
# - name: "Put back the git branch into git (Earthly uses it for tagging)"
# run: |
# branch=""
# if [ -n "$GITHUB_HEAD_REF" ]; then
# branch="$GITHUB_HEAD_REF"
# else
# branch="${GITHUB_REF##*/}"
# fi
# git checkout -b "$branch" || true
# - name: Docker mirror login (Earthly Only)
# run: docker login registry-1.docker.io.mirror.corp.earthly.dev --username "${{ secrets.DOCKERHUB_MIRROR_USERNAME }}" --password "${{ secrets.DOCKERHUB_MIRROR_PASSWORD }}"
# if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
# - name: Retrieve earthly from build-earthly job
# run: |-
# BUILDKITD_IMAGE=docker.io/earthly/buildkitd-staging TAG=${GITHUB_SHA}-ubuntu-latest-docker ./earthly upgrade
# mkdir -p $(dirname "./build/earthly")
# mv ${HOME}/.earthly/earthly-${GITHUB_SHA}-ubuntu-latest-docker ./build/earthly
# - name: Configure Earthly to use mirror (Earthly Only)
# run: |-
# ./build/earthly config global.buildkit_additional_config "'[registry.\"docker.io\"]
# mirrors = [\"registry-1.docker.io.mirror.corp.earthly.dev\"]'"
# if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
# - name: Set EARTHLY_VERSION_FLAG_OVERRIDES env
# run: |-
# set -euo pipefail
# EARTHLY_VERSION_FLAG_OVERRIDES="$(tr -d '\n' < .earthly_version_flag_overrides)"
# echo "EARTHLY_VERSION_FLAG_OVERRIDES=$EARTHLY_VERSION_FLAG_OVERRIDES" >> "$GITHUB_ENV"
# - name: Build linux/amd64 +buildkitd
# run: |-
# ./build/earthly --ci --platform=linux/amd64 ./buildkitd+buildkitd --BUILDKIT_PROJECT="$BUILDKIT_PROJECT"
# - name: Buildkit logs (runs on failure)
# run: docker logs earthly-buildkitd
# if: ${{ failure() }}
#
# buildkitd-arm64:
# needs: build-earthly
# name: +all-buildkitd-arm64
# runs-on: ubuntu-latest
# env:
# FORCE_COLOR: 1
# EARTHLY_TOKEN: "${{ secrets.EARTHLY_TOKEN }}"
# EARTHLY_INSTALL_ID: "earthly-githubactions"
# # Used in our github action as the token - TODO: look to change it into an input
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# steps:
# - uses: actions/checkout@v4
# with:
# token: ${{ secrets.GITHUB_TOKEN }}
# - name: Set up QEMU
# id: qemu
# uses: docker/setup-qemu-action@v3
# with:
# image: tonistiigi/binfmt:latest
# platforms: all
# - name: "Put back the git branch into git (Earthly uses it for tagging)"
# run: |
# branch=""
# if [ -n "$GITHUB_HEAD_REF" ]; then
# branch="$GITHUB_HEAD_REF"
# else
# branch="${GITHUB_REF##*/}"
# fi
# git checkout -b "$branch" || true
# - name: Docker mirror login (Earthly Only)
# run: docker login registry-1.docker.io.mirror.corp.earthly.dev --username "${{ secrets.DOCKERHUB_MIRROR_USERNAME }}" --password "${{ secrets.DOCKERHUB_MIRROR_PASSWORD }}"
# if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
# - name: Retrieve earthly from build-earthly job
# run: |-
# BUILDKITD_IMAGE=docker.io/earthly/buildkitd-staging TAG=${GITHUB_SHA}-ubuntu-latest-docker ./earthly upgrade
# mkdir -p $(dirname "./build/earthly")
# mv ${HOME}/.earthly/earthly-${GITHUB_SHA}-ubuntu-latest-docker ./build/earthly
# - name: Configure Earthly to use mirror (Earthly Only)
# run: |-
# ./build/earthly config global.buildkit_additional_config "'[registry.\"docker.io\"]
# mirrors = [\"registry-1.docker.io.mirror.corp.earthly.dev\"]'"
# if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
# - name: Set EARTHLY_VERSION_FLAG_OVERRIDES env
# run: |-
# set -euo pipefail
# EARTHLY_VERSION_FLAG_OVERRIDES="$(tr -d '\n' < .earthly_version_flag_overrides)"
# echo "EARTHLY_VERSION_FLAG_OVERRIDES=$EARTHLY_VERSION_FLAG_OVERRIDES" >> "$GITHUB_ENV"
# - name: Build linux/arm64 +buildkitd
# run: |-
# ./build/earthly --ci --platform=linux/arm64 ./buildkitd+buildkitd --BUILDKIT_PROJECT="$BUILDKIT_PROJECT"
# - name: Buildkit logs (runs on failure)
# run: docker logs earthly-buildkitd
# if: ${{ failure() }}
#
# earthly:
# needs: build-earthly
# name: +earthly-all +earthly-docker
# runs-on: ubuntu-latest
# env:
# FORCE_COLOR: 1
# EARTHLY_TOKEN: "${{ secrets.EARTHLY_TOKEN }}"
# EARTHLY_INSTALL_ID: "earthly-githubactions"
# # Used in our github action as the token - TODO: look to change it into an input
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# steps:
# - uses: actions/checkout@v4
# with:
# token: ${{ secrets.GITHUB_TOKEN }}
# - name: Set up QEMU
# id: qemu
# uses: docker/setup-qemu-action@v3
# with:
# image: tonistiigi/binfmt:latest
# platforms: all
# - name: "Put back the git branch into git (Earthly uses it for tagging)"
# run: |
# branch=""
# if [ -n "$GITHUB_HEAD_REF" ]; then
# branch="$GITHUB_HEAD_REF"
# else
# branch="${GITHUB_REF##*/}"
# fi
# git checkout -b "$branch" || true
# - name: Docker mirror login (Earthly Only)
# run: docker login registry-1.docker.io.mirror.corp.earthly.dev --username "${{ secrets.DOCKERHUB_MIRROR_USERNAME }}" --password "${{ secrets.DOCKERHUB_MIRROR_PASSWORD }}"
# if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
# - name: Retrieve earthly from build-earthly job
# run: |-
# BUILDKITD_IMAGE=docker.io/earthly/buildkitd-staging TAG=${GITHUB_SHA}-ubuntu-latest-docker ./earthly upgrade
# mkdir -p $(dirname "./build/earthly")
# mv ${HOME}/.earthly/earthly-${GITHUB_SHA}-ubuntu-latest-docker ./build/earthly
# - name: Configure Earthly to use mirror (Earthly Only)
# run: |-
# ./build/earthly config global.buildkit_additional_config "'[registry.\"docker.io\"]
# mirrors = [\"registry-1.docker.io.mirror.corp.earthly.dev\"]'"
# if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
# - name: Set EARTHLY_VERSION_FLAG_OVERRIDES env
# run: |-
# set -euo pipefail
# EARTHLY_VERSION_FLAG_OVERRIDES="$(tr -d '\n' < .earthly_version_flag_overrides)"
# echo "EARTHLY_VERSION_FLAG_OVERRIDES=$EARTHLY_VERSION_FLAG_OVERRIDES" >> "$GITHUB_ENV"
# - name: Build +earthly-all
# run: ./build/earthly --ci +earthly-all
# - name: Build +earthly-docker
# run: ./build/earthly --ci +earthly-docker
# - name: Buildkit logs (runs on failure)
# run: docker logs earthly-buildkitd
# if: ${{ failure() }}
#
# prerelease:
# needs: build-earthly
# name: +prerelease
# runs-on: ubuntu-latest
# env:
# FORCE_COLOR: 1
# EARTHLY_TOKEN: "${{ secrets.EARTHLY_TOKEN }}"
# EARTHLY_INSTALL_ID: "earthly-githubactions"
# # Used in our github action as the token - TODO: look to change it into an input
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# steps:
# - uses: actions/checkout@v4
# with:
# token: ${{ secrets.GITHUB_TOKEN }}
# - name: Set up QEMU
# id: qemu
# uses: docker/setup-qemu-action@v3
# with:
# image: tonistiigi/binfmt:latest
# platforms: all
# - name: "Put back the git branch into git (Earthly uses it for tagging)"
# run: |
# branch=""
# if [ -n "$GITHUB_HEAD_REF" ]; then
# branch="$GITHUB_HEAD_REF"
# else
# branch="${GITHUB_REF##*/}"
# fi
# git checkout -b "$branch" || true
# - name: Docker mirror login (Earthly Only)
# run: docker login registry-1.docker.io.mirror.corp.earthly.dev --username "${{ secrets.DOCKERHUB_MIRROR_USERNAME }}" --password "${{ secrets.DOCKERHUB_MIRROR_PASSWORD }}"
# if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
# - name: Retrieve earthly from build-earthly job
# run: |-
# BUILDKITD_IMAGE=docker.io/earthly/buildkitd-staging TAG=${GITHUB_SHA}-ubuntu-latest-docker ./earthly upgrade
# mkdir -p $(dirname "./build/earthly")
# mv ${HOME}/.earthly/earthly-${GITHUB_SHA}-ubuntu-latest-docker ./build/earthly
# - name: Configure Earthly to use mirror (Earthly Only)
# run: |-
# ./build/earthly config global.buildkit_additional_config "'[registry.\"docker.io\"]
# mirrors = [\"registry-1.docker.io.mirror.corp.earthly.dev\"]'"
# if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
# - name: Set EARTHLY_VERSION_FLAG_OVERRIDES env
# run: |-
# set -euo pipefail
# EARTHLY_VERSION_FLAG_OVERRIDES="$(tr -d '\n' < .earthly_version_flag_overrides)"
# echo "EARTHLY_VERSION_FLAG_OVERRIDES=$EARTHLY_VERSION_FLAG_OVERRIDES" >> "$GITHUB_ENV"
# - name: Build +prerelease
# run: ./build/earthly --ci +prerelease
# - name: Buildkit logs (runs on failure)
# run: docker logs earthly-buildkitd
# if: ${{ failure() }}
#
# push-prerelease:
# name: --push +prerelease
# if: github.event_name == 'push'
# needs:
# - build-earthly
# - buildkitd-amd64
# - buildkitd-arm64
# - prerelease
# - earthly
# runs-on: ubuntu-latest
# env:
# FORCE_COLOR: 1
# EARTHLY_TOKEN: "${{ secrets.EARTHLY_TOKEN }}"
# EARTHLY_INSTALL_ID: "earthly-githubactions"
# # Used in our github action as the token - TODO: look to change it into an input
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# steps:
# - uses: actions/checkout@v4
# with:
# token: ${{ secrets.GITHUB_TOKEN }}
# - name: Set up QEMU
# id: qemu
# uses: docker/setup-qemu-action@v3
# with:
# image: tonistiigi/binfmt:latest
# platforms: all
# - name: "Put back the git branch into git (Earthly uses it for tagging)"
# run: |
# branch=""
# if [ -n "$GITHUB_HEAD_REF" ]; then
# branch="$GITHUB_HEAD_REF"
# else
# branch="${GITHUB_REF##*/}"
# fi
# git checkout -b "$branch" || true
# - name: Docker mirror login (Earthly Only)
# run: docker login registry-1.docker.io.mirror.corp.earthly.dev --username "${{ secrets.DOCKERHUB_MIRROR_USERNAME }}" --password "${{ secrets.DOCKERHUB_MIRROR_PASSWORD }}"
# if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
# - name: Retrieve earthly from build-earthly job
# run: |-
# BUILDKITD_IMAGE=docker.io/earthly/buildkitd-staging TAG=${GITHUB_SHA}-ubuntu-latest-docker ./earthly upgrade
# mkdir -p $(dirname "./build/earthly")
# mv ${HOME}/.earthly/earthly-${GITHUB_SHA}-ubuntu-latest-docker ./build/earthly
# - name: Configure Earthly to use mirror (Earthly Only)
# run: |-
# ./build/earthly config global.buildkit_additional_config "'[registry.\"docker.io\"]
# mirrors = [\"registry-1.docker.io.mirror.corp.earthly.dev\"]'"
# if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
# - name: Docker Login (main build)
# run: docker login --username "${{ secrets.DOCKERHUB_USERNAME }}" --password "${{ secrets.DOCKERHUB_TOKEN }}"
# - name: Set EARTHLY_VERSION_FLAG_OVERRIDES env
# run: |-
# set -euo pipefail
# EARTHLY_VERSION_FLAG_OVERRIDES="$(tr -d '\n' < .earthly_version_flag_overrides)"
# echo "EARTHLY_VERSION_FLAG_OVERRIDES=$EARTHLY_VERSION_FLAG_OVERRIDES" >> "$GITHUB_ENV"
# - name: Build and push +prerelease
# run: ./build/earthly --ci --push +prerelease
# - name: Buildkit logs (runs on failure)
# run: docker logs earthly-buildkitd
# if: ${{ failure() }}