Skip to content

Support AWS authentication with OIDC #4614

Support AWS authentication with OIDC

Support AWS authentication with OIDC #4614

name: Podman 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: "ubuntu-latest"
BINARY: "podman"
SUDO: "sudo -E"
# SKIP_JOB: ${{ needs.check-essential-files.outputs.essential-files == 'false' }}
secrets: inherit
podman-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: "ubuntu-latest"
BINARY: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-tests-quick:
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: "ubuntu-latest"
BINARY: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "ubuntu-latest"
BINARY: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "ubuntu-latest"
BINARY: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "ubuntu-latest"
BINARY: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "ubuntu-latest"
BINARY: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "ubuntu-latest"
BINARY: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "ubuntu-latest"
BINARY: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-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: "podman"
SUDO: "sudo -E"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-examples-1:
# TODO: Figure out how to run multiple Podman instances in parallel with different ports for buildkitd
needs: build-earthly
if: ${{ !failure() }}
uses: ./.github/workflows/reusable-example.yml
with:
BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
RUNS_ON: "ubuntu-latest"
BINARY: "podman"
USE_QEMU: true
SUDO: "sudo -E"
EXAMPLE_NAME: "+examples-1"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-examples-2:
# TODO: Figure out how to run multiple Podman instances in parallel with different ports for buildkitd
needs: build-earthly
if: ${{ !failure() }}
uses: ./.github/workflows/reusable-example.yml
with:
BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
RUNS_ON: "ubuntu-latest"
BINARY: "podman"
USE_QEMU: true
SUDO: "sudo -E"
EXAMPLE_NAME: "+examples-2"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
podman-examples-3:
# TODO: Figure out how to run multiple Podman instances in parallel with different ports for buildkitd
needs: build-earthly
if: ${{ !failure() }}
uses: ./.github/workflows/reusable-example.yml
with:
BUILT_EARTHLY_PATH: "./build/linux/amd64/earthly"
RUNS_ON: "ubuntu-latest"
BINARY: "podman"
USE_QEMU: true
SUDO: "sudo -E"
EXAMPLE_NAME: "+examples-3"
SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
secrets: inherit
# podman-test-local:
# # TODO: Figure out how to run multiple Podman instances in parallel with different ports for buildkitd
# 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: "podman"
# BINARY_COMPOSE: "\"sudo -E podman-compose\""
# SUDO: "sudo -E"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# TODO: Fix and bring back the below tests
# podman-push-integrations:
# # TODO: Figure out how to run multiple Podman instances in parallel with different ports for buildkitd
# 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: "podman"
# SUDO: "sudo -E"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# podman-secret-integrations:
# # TODO: Figure out how to run multiple Podman instances in parallel with different ports for buildkitd
# 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: "podman"
# SUDO: "sudo -E"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# podman-bootstrap-integrations:
# # TODO: Figure out how to run multiple Podman instances in parallel with different ports for buildkitd
# 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: "podman"
# SUDO: "sudo -E"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# podman-repo-auth-tests:
# # TODO: Figure out how to run multiple Podman instances in parallel with different ports for buildkitd
# 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: "podman"
# SUDO: "sudo -E"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# podman-export-tests:
# # TODO: Figure out how to run multiple Podman instances in parallel with different ports for buildkitd
# 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: "podman"
# SUDO: "sudo -E"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# podman-earthly-image-tests:
# # TODO: Figure out how to run multiple Podman instances in parallel with different ports for buildkitd
# 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: "podman"
# SUDO: "sudo -E"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# podman-misc-tests-1:
# # TODO: Figure out how to run multiple Podman instances in parallel with different ports for buildkitd
# 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: "podman"
# SUDO: "sudo -E"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit
#
# podman-misc-tests-2:
# # TODO: Figure out how to run multiple Podman instances in parallel with different ports for buildkitd
# 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: "podman"
# SUDO: "sudo -E"
# SKIP_JOB: ${{ needs.build-earthly.result != 'success' }}
# secrets: inherit