forked from 5733d9e2be6485d52ffa08870cabdee0/sandbox
-
Notifications
You must be signed in to change notification settings - Fork 0
102 lines (97 loc) · 4.14 KB
/
CD.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
name: Bridge - CD
on:
push:
branches:
- main
paths-ignore:
- 'LICENSE'
- '**/.gitignore'
- '**.md'
- '**.adoc'
- '*.txt'
- '.github/**'
- 'kustomize/**'
- 'dev/**'
- 'app-interface/**'
jobs:
event-bridge-build:
env:
FLEET_MANAGER_CONTAINER_NAME: quay.io/5733d9e2be6485d52ffa08870cabdee0/fleet-manager:${{ github.sha }}
FLEET_SHARD_OPENSHIFT_CONTAINER_NAME: quay.io/5733d9e2be6485d52ffa08870cabdee0/fleet-shard:ocp-${{ github.sha }}
FLEET_SHARD_MINIKUBE_CONTAINER_NAME: quay.io/5733d9e2be6485d52ffa08870cabdee0/fleet-shard:k8s-${{ github.sha }}
EXECUTOR_CONTAINER_NAME: quay.io/5733d9e2be6485d52ffa08870cabdee0/executor:${{ github.sha }}
timeout-minutes: 30
runs-on: ubuntu-latest
if: github.repository == '5733d9e2be6485d52ffa08870cabdee0/sandbox'
name: Publish JARs and Containers
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Free disk space
uses: ./.github/actions/free-disk-space
- name: Java and Maven Setup
uses: ./.github/actions/java-maven-setup
with:
cache-key-prefix: ${{ runner.os }}
- name: Build JARs
uses: ./.github/actions/maven
with:
maven-command: package --batch-mode -DskipTests -Dcheckstyle.skip
- name: Login to Container Registry
shell: bash
env:
CONTAINER_REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
CONTAINER_REGISTRY_USER: ${{ secrets.CONTAINER_REGISTRY_USER }}
run: docker login quay.io --username $CONTAINER_REGISTRY_USER --password $CONTAINER_REGISTRY_PASSWORD
- uses: dorny/[email protected]
id: filter
with:
filters: |
general: &general
- infra-parent/**
- bom/**
- build-parent/**
- rhoas-client/**
- processor/**
manager:
- *general
- manager-parent/**
shard-operator:
- *general
- shard-operator-parent/**
executor:
- *general
- executor/**
# run only if 'manager' or any 'general' modules have changed
- name: Build and Publish JVM Container - Fleet Manager
if: steps.filter.outputs.manager == 'true'
run: |
echo "Building and pushing docker image for Fleet Manager"
docker build -f docker/Dockerfile.jvm -t $FLEET_MANAGER_CONTAINER_NAME-jvm manager-parent/manager/
docker push $FLEET_MANAGER_CONTAINER_NAME-jvm
# run only if 'shard-operator' or any 'general' modules have changed
- name: Build and Publish JVM Container - Fleet Shard
if: steps.filter.outputs.shard-operator == 'true'
run: |
echo "Building and pushing docker image for Fleet Shard"
docker build -f docker/Dockerfile.jvm -t $FLEET_SHARD_OPENSHIFT_CONTAINER_NAME-jvm shard-operator-parent/shard-operator/
docker push $FLEET_SHARD_OPENSHIFT_CONTAINER_NAME-jvm
# run only if 'executor' or any 'general' modules have changed
- name: Build and Publish JVM Container - Executor
if: steps.filter.outputs.executor == 'true'
run: |
echo "Building and pushing docker image for Executor"
docker build -f docker/Dockerfile.jvm -t $EXECUTOR_CONTAINER_NAME-jvm executor/
docker push $EXECUTOR_CONTAINER_NAME-jvm
# Build shard operator if 'shard-operator' or any 'general' modules have changed
- name: Build Minikube Fleet Shard
if: steps.filter.outputs.shard-operator == 'true'
uses: ./.github/actions/maven
with:
maven-command: package --batch-mode -DskipTests -Dcheckstyle.skip
- name: Build and Publish JVM Container - Minikube Fleet Shard
if: steps.filter.outputs.shard-operator == 'true'
run: |
echo "Building and pushing docker image for Fleet Shard with Minikube profile"
docker build -f docker/Dockerfile.jvm -t $FLEET_SHARD_MINIKUBE_CONTAINER_NAME-jvm shard-operator-parent/shard-operator/
docker push $FLEET_SHARD_MINIKUBE_CONTAINER_NAME-jvm