Skip to content

Commit

Permalink
feat: backend base with logging api (#282)
Browse files Browse the repository at this point in the history
  • Loading branch information
mghilardelli authored Oct 16, 2024
1 parent 5e08abd commit dc29b19
Show file tree
Hide file tree
Showing 93 changed files with 1,270 additions and 704 deletions.
12 changes: 6 additions & 6 deletions .github/workflows/ci-backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@
# separate terms of service, privacy policy, and support
# documentation.

name: Java CI with Maven
name: Backend Java CI with Maven

defaults:
run:
working-directory: playground-backend
working-directory: backend

on:
push:
paths:
- 'playground-backend/**'
- 'backend/**'
branches: [ "main" ]
pull_request:
paths:
- 'playground-backend/**'
- 'backend/**'
branches: [ "main" ]

jobs:
Expand All @@ -43,7 +43,7 @@ jobs:
- name: Create container image
if: github.ref == 'refs/heads/main'
env:
IMAGE_ID: ghcr.io/${{ github.repository }}/playground-backend
IMAGE_ID: ghcr.io/${{ github.repository }}/backend
VERSION: main
run: |
# Convert to lowercase
Expand All @@ -58,4 +58,4 @@ jobs:
- name: Update dependency graph
uses: advanced-security/maven-dependency-submission-action@v4
with:
directory: playground-backend
directory: backend
61 changes: 61 additions & 0 deletions .github/workflows/ci-sfera-mock.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: SFERA mock Java CI with Maven

defaults:
run:
working-directory: sfera-mock

on:
push:
paths:
- 'sfera-mock/**'
branches: [ "main" ]
pull_request:
paths:
- 'sfera-mock/**'
branches: [ "main" ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up JDK 21
uses: actions/setup-java@v3
with:
java-version: '21'
distribution: 'temurin'
cache: maven
- name: Run the Maven verify phase
run: mvn --batch-mode --update-snapshots verify
- name: Login to GitHub Container Registry
if: github.ref == 'refs/heads/main'
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin
- name: Create container image
if: github.ref == 'refs/heads/main'
env:
IMAGE_ID: ghcr.io/${{ github.repository }}/sfera-mock
VERSION: main
run: |
# Convert to lowercase
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
mvn spring-boot:build-image \
-Dmaven.test.skip=true \
-Dspring-boot.build-image.imageName=$IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
# Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive
- name: Update dependency graph
uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6
with:
directory: sfera-mock
8 changes: 7 additions & 1 deletion .github/workflows/main-image-cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,13 @@ jobs:
steps:
- uses: actions/delete-package-versions@v5
with:
package-name: 'das/playground-backend'
package-name: 'das/backend'
package-type: 'container'
min-versions-to-keep: 3
delete-only-untagged-versions: 'true'
- uses: actions/delete-package-versions@v5
with:
package-name: 'das/sfera-mock'
package-type: 'container'
min-versions-to-keep: 3
delete-only-untagged-versions: 'true'
Expand Down
51 changes: 43 additions & 8 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,12 @@ jobs:
das_client--release_created: ${{ steps.release.outputs.das_client--release_created }}
das_client--version: ${{ steps.release.outputs.das_client--version }}
das_client--tag_name: ${{ steps.release.outputs.das_client--tag_name }}
playground-backend--release_created: ${{ steps.release.outputs.playground-backend--release_created }}
playground-backend--version: ${{ steps.release.outputs.playground-backend--version }}
playground-backend--tag_name: ${{ steps.release.outputs.playground-backend--tag_name }}
sfera-mock--release_created: ${{ steps.release.outputs.sfera-mock--release_created }}
sfera-mock--version: ${{ steps.release.outputs.sfera-mock--version }}
sfera-mock--tag_name: ${{ steps.release.outputs.sfera-mock--tag_name }}
backend--release_created: ${{ steps.release.outputs.backend--release_created }}
backend--version: ${{ steps.release.outputs.backend--version }}
backend--tag_name: ${{ steps.release.outputs.backend--tag_name }}
webapp--release_created: ${{ steps.release.outputs.webapp--release_created }}
webapp--version: ${{ steps.release.outputs.webapp--version }}
webapp--tag_name: ${{ steps.release.outputs.webapp--tag_name }}
Expand Down Expand Up @@ -181,13 +184,13 @@ jobs:
track: internal
status: draft

backend-release:
sfera-mock-release:
needs: release-please
if: needs.release-please.outputs.playground-backend--release_created
if: needs.release-please.outputs.sfera-mock--release_created
runs-on: ubuntu-latest
defaults:
run:
working-directory: playground-backend
working-directory: sfera-mock
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
Expand All @@ -200,8 +203,8 @@ jobs:
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io --username ${{ github.actor }} --password-stdin
- name: Create container image
env:
IMAGE_ID: ghcr.io/${{ github.repository }}/playground-backend
VERSION: ${{ needs.release-please.outputs.playground-backend--version }}
IMAGE_ID: ghcr.io/${{ github.repository }}/sfera-mock
VERSION: ${{ needs.release-please.outputs.sfera-mock--version }}
run: |
# Convert to lowercase
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
Expand All @@ -210,6 +213,38 @@ jobs:
-Dmaven.test.skip=true \
-Dspring-boot.build-image.imageName=$IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
docker tag $IMAGE_ID:$VERSION $IMAGE_ID:latest
docker push $IMAGE_ID:latest
backend-release:
needs: release-please
if: needs.release-please.outputs.backend--release_created
runs-on: ubuntu-latest
defaults:
run:
working-directory: backend
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
with:
java-version: '21'
distribution: 'temurin'
cache: 'maven'

- name: Login to GitHub Container Registry
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io --username ${{ github.actor }} --password-stdin
- name: Create container image
env:
IMAGE_ID: ghcr.io/${{ github.repository }}/backend
VERSION: ${{ needs.release-please.outputs.backend--version }}
run: |
# Convert to lowercase
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
mvn spring-boot:build-image \
-Dmaven.test.skip=true \
-Dspring-boot.build-image.imageName=$IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
docker tag $IMAGE_ID:$VERSION $IMAGE_ID:latest
docker push $IMAGE_ID:latest
Expand Down
8 changes: 4 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
playground-backend/HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
playground-backend/src/main/java/generated/**
playground-backend/src/main/java/META-INF/JAXB/**
playground-backend/src/main/java/org/w3/_2001/xmlschema/**
sfera-mock/src/main/java/generated/**
sfera-mock/src/main/java/META-INF/JAXB/**
sfera-mock/src/main/java/org/w3/_2001/xmlschema/**
*.p12

### STS ###
.apt_generated
Expand Down
47 changes: 42 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,54 @@ This repository is dedicated to the railway undertaking (RU) component of the DA

This repository is structured into several key modules, each dedicated to a specific aspect of the system

- Backend
### Mobile App
DAS-OB
- [mobile-app](das_client/README.md)
- [Dart](https://dart.dev/)
- [Flutter](https://flutter.dev/)

### Backend
RU DAS-TS
- [backend](backend/README.md)
- [Kotlin](https://kotlinlang.org/)
- [Spring Framework](https://spring.io/projects/spring-framework)
with [Spring Boot](https://spring.io/projects/spring-boot)

- Webapp
### Admin App

- [admin-app](webapp/README.md)
- [TypeScript](https://www.typescriptlang.org/)
- [Angular](https://angular.io/)
- [Angular](https://angular.io/)

- Mobile App
- [Flutter](https://flutter.dev/)
### SFERA Mock
- [sfera-mock](sfera-mock/README.md)
- [Java](https://www.java.com/)
- [Spring Framework](https://spring.io/projects/spring-framework)
with [Spring Boot](https://spring.io/projects/spring-boot)

<!--
@startuml deploymentDiagram
queue "IM DAS-TS"
frame DAS {
node "admin-app"
node "sfera-mock"
node "mobile-app"
node "backend"
}
[mobile-app]<-down->[IM DAS-TS] : SFERA
[backend]<-[IM DAS-TS] : SFERA
[sfera-mock]<->[mobile-app] : SFERA
[backend]<->[mobile-app]
[admin-app]<->[backend]
@enduml
-->

![](deploymentDiagram.svg)

## Getting-Started
Please refer to the README files in the respective modules for detailed instructions.
Expand Down
7 changes: 7 additions & 0 deletions backend/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Backend

## Introduction
- solace
- for SFERA e2e tests of mobile app

## Getting-Started
Loading

0 comments on commit dc29b19

Please sign in to comment.