Skip to content

Commit bdb63ed

Browse files
author
David Bernabeu Ferrer
committed
Prueba de creación imagen provider
1 parent 0ec0de0 commit bdb63ed

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: Build and Publish Provider Image (Main)
2+
3+
on:
4+
push:
5+
branches:
6+
- "feature/deployment"
7+
paths:
8+
- 'providers/provider/src/**'
9+
- 'providers/provider-base/Dockerfile'
10+
- '.github/workflows/provider-build.yml'
11+
12+
concurrency:
13+
group: provider-main
14+
cancel-in-progress: true
15+
16+
jobs:
17+
# ------------------------------
18+
# 1. BUILD & PUSH PROVIDER DOCKER IMAGE
19+
# ------------------------------
20+
build-and-push-provider:
21+
runs-on: ubuntu-latest
22+
23+
permissions:
24+
contents: read
25+
packages: write
26+
id-token: write
27+
28+
steps:
29+
- name: Checkout repository
30+
uses: actions/checkout@v4
31+
32+
# -------- LOGIN GHCR --------
33+
- name: Login to GHCR
34+
uses: docker/login-action@v3
35+
with:
36+
registry: ghcr.io
37+
username: ${{ github.actor }}
38+
password: ${{ secrets.GITHUB_TOKEN }}
39+
40+
# -------- GRADLE BUILD --------
41+
- name: Set up JDK 17
42+
uses: actions/setup-java@v4
43+
with:
44+
distribution: temurin
45+
java-version: 17
46+
47+
- name: Make Gradle executable
48+
run: chmod +x ./gradlew
49+
50+
- name: Build provider JAR
51+
run: |
52+
./gradlew clean build
53+
54+
# ---------------------------------
55+
56+
- name: Set dynamic tags for Federated Catalog
57+
id: vars
58+
run: |
59+
IMAGE_BASE_PROVIDER="ghcr.io/wake-ua/provider-base"
60+
DATE=$(date +%Y%m%d)
61+
SHA_SHORT=$(echo "${GITHUB_SHA}" | cut -c1-7)
62+
63+
# Tags for provider image
64+
echo "PROVIDER_LATEST=${IMAGE_BASE_PROVIDER}:latest" >> $GITHUB_OUTPUT
65+
echo "PROVIDER_SHA=${IMAGE_BASE_PROVIDER}:${SHA_SHORT}" >> $GITHUB_OUTPUT
66+
echo "PROVIDER_DATE=${IMAGE_BASE_PROVIDER}:${DATE}" >> $GITHUB_OUTPUT
67+
68+
# -------- DOCKER BUILD & PUSH --------
69+
- name: Build Docker image for Federated Catalog
70+
run: |
71+
docker build \
72+
-t ${{ steps.vars.outputs.PROVIDER_LATEST }} \
73+
-t ${{ steps.vars.outputs.PROVIDER_SHA }} \
74+
-t ${{ steps.vars.outputs.PROVIDER_DATE }} \
75+
./provider-base
76+
77+
- name: Push Federated Catalog images
78+
run: |
79+
docker push ${{ steps.vars.outputs.PROVIDER_LATEST }}
80+
docker push ${{ steps.vars.outputs.PROVIDER_SHA }}
81+
docker push ${{ steps.vars.outputs.PROVIDER_DATE }}
82+
# ---------------------------------
83+
84+

0 commit comments

Comments
 (0)