WIP: milvus on rhel 9 #5
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 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/cpu/**' | |
- '.github/workflows/publish-builder.yaml' | |
- '!**.md' | |
pull_request: | |
# file paths to consider in the event. Optional; defaults to all. | |
paths: | |
- 'build/docker/builder/cpu/**' | |
- '.github/workflows/publish-builder.yaml' | |
- '!**.md' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
jobs: | |
publish-builder: | |
name: ${{ matrix.arch }} ${{ matrix.os }} | |
runs-on: ubuntu-latest | |
timeout-minutes: 500 | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [rockylinux8] | |
arch: [arm64] | |
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 QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: arm64 | |
- 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,linux/arm64 | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: ${{ steps.meta.outputs.tags }} | |
file: build/docker/builder/cpu/${{ matrix.os }}/Dockerfile | |
- name: Bump Builder Version | |
uses: ./.github/actions/bump-builder-version | |
if: success() && github.event_name == 'push' && github.repository == 'milvus-io/milvus' && matrix.os == 'ubuntu20.04' | |
with: | |
tag: "${{ steps.extracter.outputs.version }}-${{ steps.extracter.outputs.sha_short }}" | |
type: cpu | |
token: ${{ secrets.ALL_CONTRIBUTORS_TOKEN }} |