| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| name: Publish Docker images |
| |
| concurrency: |
| group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }} |
| cancel-in-progress: true |
| |
| on: |
| push: |
| tags: |
| - '*.*.*' |
| - '*.*.*-rc*' |
| - 'test-docker-publish-*' |
| |
| jobs: |
| docker: |
| name: Docker |
| if: ${{ startsWith(github.repository, 'apache/') }} |
| runs-on: ubuntu-22.04 |
| permissions: |
| contents: read |
| packages: write |
| steps: |
| - name: Remove unnecessary files |
| run: | |
| echo "Disk space before cleanup:" |
| df -h |
| docker system prune -af |
| sudo rm -rf /tmp/* |
| sudo rm -rf /opt/hostedtoolcache |
| sudo rm -rf "$AGENT_TOOLSDIRECTORY" |
| sudo apt-get clean |
| echo "Disk space after cleanup:" |
| df -h |
| - name: Set up Java |
| uses: actions/setup-java@v5 |
| with: |
| java-version: '17' |
| distribution: 'temurin' |
| cache: 'maven' |
| - name: Extract Comet version |
| id: extract_version |
| run: | |
| # use the tag that triggered this workflow as the Comet version e.g. 0.4.0-rc1 |
| echo "COMET_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV |
| - name: Echo Comet version |
| run: echo "The current Comet version is ${{ env.COMET_VERSION }}" |
| - name: Set up Docker Buildx |
| uses: docker/setup-buildx-action@v4 |
| - name: Login to GitHub Container Registry |
| uses: docker/login-action@v4 |
| with: |
| registry: ghcr.io |
| username: ${{ github.actor }} |
| password: ${{ secrets.GITHUB_TOKEN }} |
| - name: Build and push |
| uses: docker/build-push-action@v7 |
| with: |
| platforms: linux/amd64,linux/arm64 |
| push: true |
| tags: ghcr.io/apache/datafusion-comet:spark-3.5-scala-2.12-${{ env.COMET_VERSION }} |
| file: kube/Dockerfile |
| no-cache: true |