52 lines
1.6 KiB
YAML
52 lines
1.6 KiB
YAML
name: latest image to DockerHub
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
jobs:
|
|
publish-image-to-dockerhub:
|
|
name: publish to DockerHub
|
|
# prevent job running from forked repository, otherwise
|
|
# 1. running on the forked repository would fail as missing necessary secret.
|
|
# 2. running on the forked repository would use unnecessary GitHub Action time.
|
|
if: ${{ github.repository == 'karmada-io/karmada' && github.ref == 'refs/heads/master' }}
|
|
strategy:
|
|
matrix:
|
|
target:
|
|
- karmada-controller-manager
|
|
- karmada-scheduler
|
|
- karmada-descheduler
|
|
- karmada-webhook
|
|
- karmada-agent
|
|
- karmada-scheduler-estimator
|
|
- karmada-interpreter-webhook-example
|
|
- karmada-aggregated-apiserver
|
|
- karmada-search
|
|
runs-on: ubuntu-18.04
|
|
steps:
|
|
- name: checkout code
|
|
uses: actions/checkout@v2
|
|
with:
|
|
# fetch-depth:
|
|
# 0 indicates all history for all branches and tags.
|
|
# for `git describe --tags` in Makefile.
|
|
fetch-depth: 0
|
|
- name: install Go
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: 1.17.x
|
|
- name: install QEMU
|
|
uses: docker/setup-qemu-action@v1
|
|
- name: install Buildx
|
|
uses: docker/setup-buildx-action@v1
|
|
- name: login to DockerHub
|
|
uses: docker/login-action@v1
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USER_NAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
- name: build and publish images
|
|
env:
|
|
REGISTRY: karmada
|
|
VERSION: latest
|
|
run: make mp-image-${{ matrix.target }}
|