Skip to content

Commit

Permalink
Simplify GH actions: only 2 images for now both using matrix build
Browse files Browse the repository at this point in the history
  • Loading branch information
oshadura committed Nov 20, 2023
1 parent f6dd64c commit 8e6c33d
Showing 1 changed file with 21 additions and 298 deletions.
319 changes: 21 additions & 298 deletions .github/workflows/dockerci-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,86 +11,28 @@ on:
env:
PROJECT: 'coffea-casa'
GITHUB_ACTIONS: 'true'
REGISTRY: 'localhost:5000'
REGISTRY_PATH: ${{ github.workspace }}/registry
CACHE_PATH: /tmp/.buildx-cache
#REGISTRY: 'localhost:5000'
#REGISTRY_PATH: ${{ github.workspace }}/registry
#CACHE_PATH: /tmp/.buildx-cache

jobs:
version-check:
matrix-build:
strategy:
fail-fast: false
matrix:
image: [cc-base-ubuntu, cc-analysis-ubuntu]
# Keep this line in sync with gh actions @ coffea-dask repo
# python: [3.8, 3.9, '3.10']
#exclude:
# - image: cc7
# python: 3.8
name: ${{ matrix.image }}
runs-on: ubuntu-latest
steps:
- name: Fetch current date (with timestamp)
id: date
run: |
echo "::set-output name=date::$(date +"%Y-%m-%d_%H-%M-%S")"
outputs:
date: ${{ steps.date.outputs.date }}

dask-base:
runs-on: ubuntu-latest
needs: version-check
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: 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: Start Docker registry
run: |
docker run --rm --detach --publish 5000:5000 \
--volume ${{ env.REGISTRY_PATH }}:/var/lib/registry \
--name registry registry:2
sleep 10
- name: Build
uses: docker/[email protected]
with:
#outputs: type=docker,dest=/tmp/cc-base-ubuntu.tar
#push: ${{ github.event_name != 'pull_request' }}
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: |
localhost:5000/coffea-casa/cc-base-ubuntu:${{ needs.version-check.outputs.date }}
build-args: |
TAG=${{ needs.version-check.outputs.date }}
PROJECT=${{ env.PROJECT }}
GITHUB_ACTIONS=${{ env.GITHUB_ACTIONS }}
REGISTRY=${{ env.REGISTRY }}
- name: Upload Docker registry data for testing
uses: actions/upload-artifact@v2
with:
name: docker-registry-data
path: ${{ env.REGISTRY_PATH }}/
retention-days: 1

dask-cc:
runs-on: ubuntu-latest
needs: [version-check, dask-base]
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Set up QEMU
Expand All @@ -101,242 +43,23 @@ jobs:
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: hub.opensciencegrid.org
username: ${{ secrets.HARBOR_USER }}
password: ${{ secrets.HARBOR_PASSWORD }}
- name: Download Docker registry data from build job
uses: actions/download-artifact@v2
with:
name: docker-registry-data
path: ${{ env.REGISTRY_PATH }}
- name: Start Docker registry
run: |
docker run --rm --detach --publish 5000:5000 \
--volume ${{ env.REGISTRY_PATH }}:/var/lib/registry \
--name registry registry:2
sleep 10
- name: Import Docker images
run: docker pull localhost:5000/coffea-casa/cc-base-ubuntu:${{ needs.version-check.outputs.date }}
- name: Build
- name: Build and push
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: |
localhost:5000/coffea-casa/cc-ubuntu:${{ needs.version-check.outputs.date }}
build-args: |
file: docker/Dockerfile.${{ matrix.image }}
push: ${{ github.event_name == 'push' }}
platforms: linux/amd64
tags: coffea-casa/${{ matrix.image }}:${{ steps.date.outputs.date }}
build-args:
DEV=true
TAG=${{ needs.version-check.outputs.date }}
TAG=${{ steps.date.outputs.date }}
PROJECT=${{ env.PROJECT }}
GITHUB_ACTIONS=${{ env.GITHUB_ACTIONS }}
REGISTRY=${{ env.REGISTRY }}
- name: Upload Docker registry data for testing
uses: actions/upload-artifact@v2
with:
name: docker-registry-data
path: ${{ env.REGISTRY_PATH }}/
retention-days: 1

# dask-skyhook:
# runs-on: ubuntu-latest
# needs: [version-check, 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: hub.opensciencegrid.org
# username: ${{ secrets.HARBOR_USER }}
# password: ${{ secrets.HARBOR_PASSWORD }}
# - name: Download Docker registry data from build job
# uses: actions/download-artifact@v2
# with:
# name: docker-registry-data
# path: ${{ env.REGISTRY_PATH }}
# - name: Start Docker registry
# run: |
# docker run --rm --detach --publish 5000:5000 \
# --volume ${{ env.REGISTRY_PATH }}:/var/lib/registry \
# --name registry registry:2
# sleep 10
# - name: Import Docker images
# run: docker pull localhost:5000/coffea-casa/cc-ubuntu:${{ needs.version-check.outputs.date }}
# - 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: |
# localhost:5000/coffea-casa/cc-ubuntu-skyhook:${{ needs.version-check.outputs.date }}
# build-args: |
# TAG=${{ needs.version-check.outputs.date }}
# PROJECT=${{ env.PROJECT }}
# GITHUB_ACTIONS=${{ env.GITHUB_ACTIONS }}
# REGISTRY=${{ env.REGISTRY }}
# - name: Cleanup
# run: |
# docker stop registry

dask-analysis:
runs-on: ubuntu-latest
needs: version-check
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: hub.opensciencegrid.org
username: ${{ secrets.HARBOR_USER }}
password: ${{ secrets.HARBOR_PASSWORD }}
- name: Start Docker registry
run: |
docker run --rm --detach --publish 5000:5000 \
--volume ${{ env.REGISTRY_PATH }}:/var/lib/registry \
--name registry registry:2
sleep 10
- 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: |
localhost:5000/coffea-casa/cc-analysis-ubuntu:${{ needs.version-check.outputs.date }}
build-args: |
DEV=true
TAG=${{ needs.version-check.outputs.date }}
PROJECT=${{ env.PROJECT }}
GITHUB_ACTIONS=${{ env.GITHUB_ACTIONS }}
REGISTRY=${{ env.REGISTRY }}
- name: Upload Docker registry data for testing
uses: actions/upload-artifact@v2
with:
name: docker-registry-data
path: ${{ env.REGISTRY_PATH }}/
retention-days: 1


# dask-analysis-skyhook:
# runs-on: ubuntu-latest
# needs: [version-check, 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: hub.opensciencegrid.org
# username: ${{ secrets.HARBOR_USER }}
# password: ${{ secrets.HARBOR_PASSWORD }}
# - name: Download Docker registry data from build job
# uses: actions/download-artifact@v2
# with:
# name: docker-registry-data
# path: ${{ env.REGISTRY_PATH }}
# - name: Start Docker registry
# run: |
# docker run --rm --detach --publish 5000:5000 \
# --volume ${{ env.REGISTRY_PATH }}:/var/lib/registry \
# --name registry registry:2
# sleep 10
# - name: Import Docker images
# run: docker pull localhost:5000/coffea-casa/cc-analysis-ubuntu:${{ needs.version-check.outputs.date }}
# - 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: |
# localhost:5000/coffea-casa/cc-analysis-ubuntu-skyhook:${{ needs.version-check.outputs.date }}
# build-args: |
# TAG=${{ needs.version-check.outputs.date }}
# PROJECT=${{ env.PROJECT }}
# GITHUB_ACTIONS=${{ env.GITHUB_ACTIONS }}
# REGISTRY=${{ env.REGISTRY }}
# - name: Cleanup
# run: |
# docker stop registry

0 comments on commit 8e6c33d

Please sign in to comment.