enhance: for supporting ARM-based GPU images #75
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: Publish Gpu Builder | |
# TODO: do not trigger action for some document file update | |
# This workflow is triggered on pushes or pull request to the repository. | |
on: | |
push: | |
# file paths to consider in the event. Optional; defaults to all. | |
paths: | |
- 'build/docker/builder/gpu/**' | |
- '.github/workflows/publish-gpu-builder.yaml' | |
- '!**.md' | |
pull_request: | |
# file paths to consider in the event. Optional; defaults to all. | |
paths: | |
- 'build/docker/builder/gpu/**' | |
- '.github/workflows/publish-gpu-builder.yaml' | |
- '!**.md' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
jobs: | |
publish-gpu-builder: | |
name: ${{ matrix.arch }} ${{ matrix.os }} | |
runs-on: ubuntu-latest | |
timeout-minutes: 500 | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu20.04] | |
arch: [amd64] | |
env: | |
OS_NAME: ${{ matrix.os }} | |
IMAGE_ARCH: ${{ matrix.arch }} | |
steps: | |
- name: Maximize build space | |
uses: easimon/maximize-build-space@master | |
if: ${{ ! startsWith(runner.name, 'self') }} # skip this step if it is self-hosted runner | |
with: | |
root-reserve-mb: 20480 | |
# overprovision-lvm: 'true' | |
swap-size-mb: 1024 | |
remove-dotnet: 'true' | |
remove-android: 'true' | |
remove-haskell: 'true' | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Get version from system time after release step | |
id: extracter | |
run: | | |
echo "::set-output name=version::$(date +%Y%m%d)" | |
echo "::set-output name=sha_short::$(git rev-parse --short=7 HEAD)" | |
- name: Docker meta | |
id: meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: | | |
milvusdb/milvus-env | |
tags: | | |
type=raw,enable=true,value=${{ matrix.os }}-{{date 'YYYYMMDD'}}-{{sha}} | |
type=raw,enable=true,value=${{ matrix.os }}-latest | |
# - name: Setup upterm session | |
# uses: lhotari/action-upterm@v1 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Docker Hub | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USER }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
platforms: linux/amd64 | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: ${{ steps.meta.outputs.tags }} | |
file: build/docker/builder/gpu/${{ matrix.os }}/Dockerfile | |
- name: Bump Builder Version | |
if: success() && github.event_name == 'push' && github.repository == 'milvus-io/milvus' && matrix.os == 'ubuntu20.04' | |
uses: ./.github/actions/bump-builder-version | |
with: | |
tag: "${{ steps.extracter.outputs.version }}-${{ steps.extracter.outputs.sha_short }}" | |
type: gpu | |
token: ${{ secrets.ALL_CONTRIBUTORS_TOKEN }} |