Skip to content

Commit

Permalink
add: Github Actions CI
Browse files Browse the repository at this point in the history
  • Loading branch information
antonioscardace committed Jun 20, 2024
1 parent 8dcadf1 commit 85a70b3
Show file tree
Hide file tree
Showing 2 changed files with 117 additions and 0 deletions.
51 changes: 51 additions & 0 deletions .github/workflows/ci-docker-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Docker Publish

on:
workflow_run:
workflows: ["CI for Testing"]
types:
- completed

jobs:
build-and-push:
runs-on: ubuntu-latest

strategy:
matrix:
image:
- name: API Gateway
context: ./api-gateway/
tag: antonioscardace/api-gateway:latest
- name: Data Manager
context: ./data-manager/
tag: antonioscardace/data-manager:latest
- name: Spark Metadata
context: ./spark-metadata/
tag: antonioscardace/spark-metadata:latest
- name: User Interface
context: ./user-interface/
tag: antonioscardace/user-interface:latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log into Docker Hub registry
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Build and Push Docker Image
uses: docker/build-push-action@v6
with:
platforms: linux/amd64,linux/arm64
tags: ${{ matrix.image.tag }}
context: ${{ matrix.image.context }}
push: true
66 changes: 66 additions & 0 deletions .github/workflows/ci-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: CI for Testing

on:
push:
pull_request:
workflow_dispatch:

jobs:

#------------------------------#
# API Gateway Microservice #
#------------------------------#

test_java_gateway:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v4
with:
java-version: '11'
distribution: 'corretto'
cache: maven

- name: Run Maven Tests
run: cd api-gateway/ && mvn -B clean package

#-------------------------------#
# Data Manager Microservice #
#-------------------------------#

test_java_manager:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'corretto'
cache: maven

- name: Run Maven Tests
run: cd data-manager/ && mvn -B clean package

#---------------------------------#
# Spark-Metadata Microservice #
#---------------------------------#

test_python_spark:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.9
uses: actions/setup-python@v4
with:
python-version: '3.9'

- name: Install Python dependencies
run: cd spark-metadata/ && pip install -r requirements.txt

- name: Change the PythonPath
run: echo "PYTHONPATH=$PYTHONPATH:$GITHUB_WORKSPACE/spark-metadata/src" >> $GITHUB_ENV

- name: Run Python Tests
run: cd spark-metadata/ && pytest tests/

0 comments on commit 85a70b3

Please sign in to comment.