Skip to content

Build docker images and push it in Harbor #31

Build docker images and push it in Harbor

Build docker images and push it in Harbor #31

Workflow file for this run

name: Build docker images and push it in Harbor
on:
release:
types: [published]
env:
PROJECT: 'coffea-casa'
GITHUB_ACTIONS: 'true'
REGISTRY: 'hub.opensciencegrid.org'
CACHE_PATH: /tmp/.buildx-cache
jobs:
dask-base:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
with:
version: latest
driver-opts: network=host
- name: Docker meta
id: meta
uses: docker/metadata-action@v3
with:
images: ${{ env.REGISTRY }}/coffea-casa/cc-base-ubuntu
flavor: latest=false
tags: |
type=ref,event=tag
- name: Cache Docker layers
uses: actions/cache@v2
id: cache
with:
path: ${{ env.CACHE_PATH }}
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Login to Harbor Hub
if: success() && github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
registry: hub.opensciencegrid.org
username: ${{ secrets.HARBOR_USER }}
password: ${{ secrets.HARBOR_PASSWORD }}
- name: Build
uses: docker/[email protected]
with:
push: true
cache-from: |
type=local,src=${{ env.CACHE_PATH }}
cache-to: type=local,dest=${{ env.CACHE_PATH }}
builder: ${{ steps.buildx.outputs.name }}
context: docker/
file: docker/Dockerfile.cc-base-ubuntu
tags: |
${{ steps.meta.outputs.tags }}
build-args: |
TAG=${{ github.ref_name }}
PROJECT=${{ env.PROJECT }}
GITHUB_ACTIONS=${{ env.GITHUB_ACTIONS }}
REGISTRY=${{ env.REGISTRY }}
dask-cc:
runs-on: ubuntu-latest
needs: [dask-base]
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
with:
version: latest
driver-opts: network=host
- name: Docker meta
id: meta
uses: docker/metadata-action@v3
with:
images: ${{ env.REGISTRY }}/coffea-casa/cc-ubuntu
flavor: latest=false
tags: |
type=ref,event=tag
- name: Cache Docker layers
uses: actions/cache@v2
id: cache
with:
path: ${{ env.CACHE_PATH }}
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Login to Harbor Hub
if: success() && github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.HARBOR_USER }}
password: ${{ secrets.HARBOR_PASSWORD }}
- name: Build
uses: docker/[email protected]
with:
#push: ${{ github.event_name != 'pull_request' }}
push: true
cache-from: |
type=local,src=${{ env.CACHE_PATH }}
cache-to: type=local,dest=${{ env.CACHE_PATH }}
context: docker/
file: docker/Dockerfile.cc-ubuntu
tags: |
${{ steps.meta.outputs.tags }}
build-args: |
TAG=${{ github.ref_name }}
PROJECT=${{ env.PROJECT }}
GITHUB_ACTIONS=${{ env.GITHUB_ACTIONS }}
REGISTRY=${{ env.REGISTRY }}
# dask-skyhook:
# runs-on: ubuntu-latest
# needs: [dask-cc]
# steps:
# - name: Check out code
# uses: actions/checkout@v2
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v2
# - name: Set up Docker Buildx
# id: buildx
# uses: docker/setup-buildx-action@v2
# with:
# version: latest
# driver-opts: network=host
# - name: Cache Docker layers
# uses: actions/cache@v2
# id: cache
# with:
# path: ${{ env.CACHE_PATH }}
# key: ${{ runner.os }}-buildx-${{ github.sha }}
# restore-keys: |
# ${{ runner.os }}-buildx-
# - name: Login to Harbor Hub
# if: success() && github.event_name != 'pull_request'
# uses: docker/login-action@v2
# with:
# registry: ${{ env.REGISTRY }}
# username: ${{ secrets.HARBOR_USER }}
# password: ${{ secrets.HARBOR_PASSWORD }}
# - name: Build
# uses: docker/docker/[email protected]
# with:
# push: ${{ github.event_name != 'pull_request' }}
# cache-from: |
# type=local,src=${{ env.CACHE_PATH }}
# cache-to: type=local,dest=${{ env.CACHE_PATH }}
# context: docker/
# file: docker/Dockerfile.cc-base-centos7
# tags: |
# ${{ env.REGISTRY }}/coffea-casa/cc-ubuntu-skyhook:${{ steps.meta.outputs.tags }}
# build-args: |
# TAG=${{ github.ref_name }}
# PROJECT=${{ env.PROJECT }}
# GITHUB_ACTIONS=${{ env.GITHUB_ACTIONS }}
# REGISTRY=${{ env.REGISTRY }}
# - name: Cleanup
# run: |
# docker stop registry
dask-analysis:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
with:
version: latest
driver-opts: network=host
- name: Docker meta
id: meta
uses: docker/metadata-action@v3
with:
images: ${{ env.REGISTRY }}/coffea-casa/cc-analysis-ubuntu
flavor: latest=false
tags: |
type=ref,event=tag
- name: Cache Docker layers
uses: actions/cache@v2
id: cache
with:
path: ${{ env.CACHE_PATH }}
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Login to Harbor Hub
if: success() && github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.HARBOR_USER }}
password: ${{ secrets.HARBOR_PASSWORD }}
- name: Build
uses: docker/build-push-action@v2
with:
#push: ${{ github.event_name != 'pull_request' }}
push: true
#outputs: type=docker,dest=/tmp/cc-analysis-ubuntu.tar
cache-from: |
type=local,src=${{ env.CACHE_PATH }}
cache-to: type=local,dest=${{ env.CACHE_PATH }}
context: docker/
file: docker/Dockerfile.cc-analysis-ubuntu
tags: |
${{ steps.meta.outputs.tags }}
build-args: |
TAG=${{ github.ref_name }}
PROJECT=${{ env.PROJECT }}
GITHUB_ACTIONS=${{ env.GITHUB_ACTIONS }}
REGISTRY=${{ env.REGISTRY }}
# dask-analysis-skyhook:
# runs-on: ubuntu-latest
# needs: [dask-analysis]
# steps:
# - name: Check out code
# uses: actions/checkout@v2
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v2
# - name: Set up Docker Buildx
# id: buildx
# uses: docker/setup-buildx-action@v2
# with:
# version: latest
# driver-opts: network=host
# - name: Cache Docker layers
# uses: actions/cache@v2
# id: cache
# with:
# path: ${{ env.CACHE_PATH }}
# key: ${{ runner.os }}-buildx-${{ github.sha }}
# restore-keys: |
# ${{ runner.os }}-buildx-
# - name: Login to Harbor Hub
# if: success() && github.event_name != 'pull_request'
# uses: docker/login-action@v2
# with:
# registry: ${{ env.REGISTRY }}
# username: ${{ secrets.HARBOR_USER }}
# password: ${{ secrets.HARBOR_PASSWORD }}
# - name: Build
# uses: docker/[email protected]
# with:
# #push: ${{ github.event_name != 'pull_request' }}
# push: true
# cache-from: |
# type=local,src=${{ env.CACHE_PATH }}
# cache-to: type=local,dest=${{ env.CACHE_PATH }}
# context: docker/
# file: docker/Dockerfile.cc-analysis-ubuntu-skyhook
# tags: |
# ${{ env.REGISTRY }}/coffea-casa/cc-analysis-ubuntu-skyhook:${{ steps.meta.outputs.tags }}
# build-args: |
# TAG=${{ github.ref_name }}
# PROJECT=${{ env.PROJECT }}
# GITHUB_ACTIONS=${{ env.GITHUB_ACTIONS }}
# REGISTRY=${{ env.REGISTRY }}