This repository has been archived by the owner on Oct 22, 2023. It is now read-only.
Update module github.com/moby/buildkit to v0.12.3 #5330
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- '**' | |
- '!renovate/**' | |
tags: | |
- '**' | |
pull_request: | |
# Cancel PR builds if the PR is updated. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} | |
cancel-in-progress: true | |
env: | |
GRADLE_OPTS: "-Dorg.gradle.internal.launcher.welcomeMessageEnabled=false" | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
validate-gradle-wrapper: | |
name: "Validate Gradle wrapper" | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out code | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
- name: Validate Gradle wrapper | |
uses: gradle/[email protected] | |
build-and-test-library: | |
needs: | |
- validate-gradle-wrapper | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: Linux, latest Docker | |
os: ubuntu-20.04 | |
dockerVersion: latest | |
- name: Linux, Docker 19.03.10 | |
os: ubuntu-20.04 | |
dockerVersion: 5:19.03.10~3-0~ubuntu-focal | |
- name: Linux, latest Docker, TLS over TCP connection | |
os: ubuntu-20.04 | |
dockerVersion: latest | |
useTLS: true | |
- name: Windows, default Docker | |
os: windows-2019 | |
containerOperatingSystem: windows | |
dockerVersion: useRunnerDefault | |
- name: macOS, no Docker | |
os: macos-11 | |
disableDockerDaemonTests: 1 | |
dockerVersion: useRunnerDefault | |
permissions: | |
packages: read | |
name: "Build and test (${{ matrix.name }})" | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Check out code | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
- name: Set up JDK | |
uses: actions/[email protected] | |
with: | |
java-version: 17.0.2+8 | |
distribution: temurin | |
- name: Cache Golang packages | |
id: cache-golang-packages | |
uses: actions/[email protected] | |
with: | |
path: ~/go | |
key: go-packages-${{ runner.os }}-${{ hashFiles('golang-wrapper/src/go.*') }} | |
- name: Cache Kotlin/Native dependencies | |
id: cache-kotlin-native | |
uses: actions/[email protected] | |
with: | |
path: ~/.konan | |
key: kotlin-native-${{ runner.os }}-${{ hashFiles('gradle/libs.versions.toml') }} | |
- name: Cache tools | |
id: cache-tools | |
uses: actions/[email protected] | |
with: | |
path: golang-wrapper/build/tools | |
key: tools-${{ runner.os }}-${{ hashFiles('**/*.gradle.kts', 'buildSrc/src/**/*.kt') }} | |
- name: Install Docker | |
run: ./.github/workflows/ci/install_docker.sh ${{ matrix.dockerVersion }} | |
if: matrix.dockerVersion != 'useRunnerDefault' | |
- name: Configure Docker to use TLS over TCP | |
run: ./.github/workflows/ci/configure_docker_tls.sh | |
if: matrix.useTLS == true | |
# This step is required so that we can test pulling images from a registry that requires authentication. | |
- name: Log in to GitHub Container Registry | |
run: echo "$GITHUB_TOKEN" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
if: matrix.disableDockerDaemonTests != 1 | |
- name: Build, test and package | |
uses: burrunan/[email protected] | |
with: | |
# client:allTests is disabled until https://github.com/gradle/gradle/issues/21547 is fixed | |
arguments: client:check client:jvmJar --scan --exclude-task client:allTests | |
env: | |
DISABLE_DOCKER_DAEMON_TESTS: ${{ matrix.disableDockerDaemonTests }} | |
DOCKER_CONTAINER_OPERATING_SYSTEM: ${{ matrix.containerOperatingSystem }} | |
DOCKER_CONNECTION_OVER_TCP: ${{ matrix.useTLS }} | |
RUN_TARGETS_FOR_OTHER_HOSTS: false | |
TEST_ENVIRONMENT_DESCRIPTION: ${{ matrix.name }} | |
- name: Check for outdated generated code | |
run: if [ ! -z "$(git status --porcelain)" ]; then echo "Generated code changed. Do you need to run './gradlew generate'?">/dev/stderr; echo; git status --porcelain; echo; git diff; exit 1; fi | |
check-samples: | |
name: "Check sample applications" | |
needs: | |
- validate-gradle-wrapper | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out code | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
- name: Set up JDK | |
uses: actions/[email protected] | |
with: | |
java-version: 17.0.2+8 | |
distribution: temurin | |
- name: Cache Golang packages | |
id: cache-golang-packages | |
uses: actions/[email protected] | |
with: | |
path: ~/go | |
key: go-packages-${{ runner.os }}-${{ hashFiles('golang-wrapper/src/go.*') }} | |
- name: Cache Kotlin/Native dependencies | |
id: cache-kotlin-native | |
uses: actions/[email protected] | |
with: | |
path: ~/.konan | |
key: kotlin-native-${{ runner.os }}-${{ hashFiles('gradle/libs.versions.toml') }} | |
- name: Cache tools | |
id: cache-tools | |
uses: actions/[email protected] | |
with: | |
path: golang-wrapper/build/tools | |
key: tools-${{ runner.os }}-${{ hashFiles('**/*.gradle.kts', 'buildSrc/src/**/*.kt') }} | |
- name: Build, test and package | |
uses: burrunan/[email protected] | |
with: | |
arguments: samples:check | |
check-wrapper: | |
name: "Lint wrapper library" | |
needs: | |
- validate-gradle-wrapper | |
runs-on: macos-13 | |
steps: | |
- name: Check out code | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
- name: Set up JDK | |
uses: actions/[email protected] | |
with: | |
java-version: 17.0.2+8 | |
distribution: temurin | |
- name: Cache Golang packages | |
id: cache-golang-packages | |
uses: actions/[email protected] | |
with: | |
path: ~/go | |
key: go-lint-packages-${{ runner.os }}-${{ hashFiles('golang-wrapper/src/go.*') }} | |
- name: Cache Kotlin/Native dependencies | |
id: cache-kotlin-native | |
uses: actions/[email protected] | |
with: | |
path: ~/.konan | |
key: kotlin-native-lint-${{ runner.os }}-${{ hashFiles('gradle/libs.versions.toml') }} | |
- name: Cache tools | |
id: cache-tools | |
uses: actions/[email protected] | |
with: | |
path: golang-wrapper/build/tools | |
key: tools-${{ runner.os }}-${{ hashFiles('**/*.gradle.kts', 'buildSrc/src/**/*.kt') }} | |
- name: Run linting | |
uses: burrunan/[email protected] | |
with: | |
arguments: golang-wrapper:check --scan | |
check-build-logic: | |
name: "Lint, test and check build logic" | |
needs: | |
- validate-gradle-wrapper | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out code | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
- name: Set up JDK | |
uses: actions/[email protected] | |
with: | |
java-version: 17.0.2+8 | |
distribution: temurin | |
- name: Run linting, tests and other checks | |
uses: burrunan/[email protected] | |
with: | |
arguments: :build-logic:check --scan | |
build-docs: | |
name: "Build documentation" | |
needs: | |
- validate-gradle-wrapper | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out code | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
- name: Set up JDK | |
uses: actions/[email protected] | |
with: | |
java-version: 17.0.2+8 | |
distribution: temurin | |
- name: Cache Golang packages | |
id: cache-golang-packages | |
uses: actions/[email protected] | |
with: | |
path: ~/go | |
key: go-packages-${{ runner.os }}-${{ hashFiles('golang-wrapper/src/go.*') }} | |
- name: Cache Kotlin/Native dependencies | |
id: cache-kotlin-native | |
uses: actions/[email protected] | |
with: | |
path: ~/.konan | |
key: kotlin-native-${{ runner.os }}-${{ hashFiles('gradle/libs.versions.toml') }} | |
- name: Cache tools | |
id: cache-tools | |
uses: actions/[email protected] | |
with: | |
path: golang-wrapper/build/tools | |
key: tools-${{ runner.os }}-${{ hashFiles('**/*.gradle.kts', 'buildSrc/src/**/*.kt') }} | |
- name: Build documentation | |
uses: burrunan/[email protected] | |
with: | |
arguments: dokkaHtml --scan | |
- name: Upload artifact | |
uses: actions/[email protected] | |
with: | |
path: client/build/dokka/html | |
publish-libs: | |
name: "Publish libraries" | |
runs-on: macos-13 | |
if: github.repository == 'batect/docker-client' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/')) && github.event_name == 'push' | |
needs: | |
- validate-gradle-wrapper | |
- build-and-test-library | |
- check-wrapper | |
- check-build-logic | |
- check-samples | |
- build-docs | |
env: | |
SONATYPE_USERNAME: batect-docker-client-github-actions | |
steps: | |
- name: Check out code | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
- name: Set up JDK | |
uses: actions/[email protected] | |
with: | |
java-version: 17.0.2+8 | |
distribution: temurin | |
- name: Cache Golang packages | |
id: cache-golang-packages | |
uses: actions/[email protected] | |
with: | |
path: ~/go | |
key: go-packages-${{ runner.os }}-${{ hashFiles('golang-wrapper/src/go.*') }} | |
- name: Cache Kotlin/Native dependencies | |
id: cache-kotlin-native | |
uses: actions/[email protected] | |
with: | |
path: ~/.konan | |
key: kotlin-native-${{ runner.os }}-${{ hashFiles('gradle/libs.versions.toml') }} | |
- name: Cache tools | |
id: cache-tools | |
uses: actions/[email protected] | |
with: | |
path: golang-wrapper/build/tools | |
key: tools-${{ runner.os }}-${{ hashFiles('**/*.gradle.kts', 'buildSrc/src/**/*.kt') }} | |
- name: Check JAR contains native libraries for all operating systems | |
uses: burrunan/[email protected] | |
with: | |
arguments: client:checkJarContents --scan | |
- name: Publish snapshot | |
uses: burrunan/[email protected] | |
with: | |
arguments: publishSnapshot --scan | |
env: | |
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ env.SONATYPE_USERNAME }} | |
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }} | |
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.GPG_KEY }} | |
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.GPG_KEY_PASSPHRASE }} | |
if: github.repository == 'batect/docker-client' && github.ref == 'refs/heads/main' && github.event_name == 'push' | |
- name: Publish release | |
uses: burrunan/[email protected] | |
with: | |
arguments: publishRelease --scan | |
env: | |
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ env.SONATYPE_USERNAME }} | |
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }} | |
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.GPG_KEY }} | |
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.GPG_KEY_PASSPHRASE }} | |
if: github.repository == 'batect/docker-client' && startsWith(github.ref, 'refs/tags/') && github.event_name == 'push' | |
publish-docs: | |
name: "Publish documentation" | |
runs-on: ubuntu-22.04 | |
if: github.repository == 'batect/docker-client' && startsWith(github.ref, 'refs/tags/') && github.event_name == 'push' | |
needs: | |
- validate-gradle-wrapper | |
- build-and-test-library | |
- check-wrapper | |
- check-build-logic | |
- check-samples | |
- build-docs | |
permissions: | |
id-token: write | |
pages: write | |
environment: | |
name: github-pages | |
url: ${{ steps.publish.outputs.page_url }} | |
steps: | |
- name: Publish documentation to GitHub Pages | |
id: publish | |
uses: actions/[email protected] |