Skip to content

backend: add highlighted and theme flags #78

backend: add highlighted and theme flags

backend: add highlighted and theme flags #78

name: CI/CD delivery-service (cdn)
on:
push:
paths:
- 'backend/delivery-service/**'
- 'backend/common/**'
- '.github/workflows/delivery-service.yml'
pull_request:
paths:
- 'backend/delivery-service/**'
- 'backend/common/**'
- '.github/workflows/delivery-service.yml'
env:
PROJECT_NAME: odh-webcompstore-cdn
JAVA_VERSION: '8'
jobs:
test:
runs-on: ubuntu-20.04
steps:
- uses: noi-techpark/github-actions/checkout@v2
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v1
- name: Test backend
uses: noi-techpark/github-actions/maven-test@v2
with:
java-version: ${{ env.JAVA_VERSION }}
test-command: 'mvn -B -U clean test'
working-directory: backend
deploy-test-delivery-service:
runs-on: ubuntu-20.04
if: github.ref == 'refs/heads/main'
needs: test
concurrency: deploy-test-delivery-service
env:
DOCKER_IMAGE: ghcr.io/${{ github.repository }}/${{ github.event.repository.name }}-cdn-test
DOCKER_TAG: ${{ github.sha }}
steps:
- name: Checkout source code
uses: noi-techpark/github-actions/checkout@v2
- name: Create .env file
uses: noi-techpark/github-actions/env-file@v2
env:
X_COMPOSE_PROJECT_NAME: ${{ env.PROJECT_NAME }}
X_DOCKER_IMAGE: ${{ env.DOCKER_IMAGE }}
X_DOCKER_TAG: ${{ env.DOCKER_TAG }}
X_CDN_SERVER_PORT: 1201
X_DEBUG_LEVEL: "INFO"
X_WORKSPACE_PATH: "/workspace"
X_CDN_SWAGGER_BASE_URL: "https://cdn.webcomponents.opendatahub.testingmachine.eu"
X_DB_URL: "jdbc:postgresql://test-pg-bdp.co90ybcr8iim.eu-west-1.rds.amazonaws.com:5432/webcompstore"
X_DB_USR: ${{ secrets.DB_USR_TEST }}
X_DB_PWD: ${{ secrets.DB_PWD_TEST }}
X_DB_SCHEMA: "public"
X_DOCKER_CLIENT_TIMEOUT: 360
X_COMPOSE_HTTP_TIMEOUT: 360
X_JAVA_OPTIONS: "-Xms128m -Xmx1024m"
- name: Prepare application.properties
run: cp application-deployment.properties application.properties
working-directory: ./backend/delivery-service/src/main/resources/
- name: Build project
uses: noi-techpark/github-actions/maven-build@v2
with:
java-version: ${{ env.JAVA_VERSION }}
build-command: 'mvn -B -DskipTests -DfinalName=ROOT --projects delivery-service --also-make package'
working-directory: backend
- name: Build and push images
uses: noi-techpark/github-actions/docker-build-and-push@v2
with:
docker-username: ${{ github.actor }}
docker-password: ${{ secrets.GITHUB_TOKEN }}
working-directory: ./backend/delivery-service/infrastructure/docker/
- name: Deploy application
uses: noi-techpark/github-actions/docker-deploy@v2
with:
hosts: 'test'
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
docker-username: 'noi-techpark-bot'
docker-password: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
project-name: ${{ env.PROJECT_NAME }}
working-directory: ./backend/delivery-service/infrastructure/ansible
deploy-prod-delivery-service:
runs-on: ubuntu-20.04
if: github.ref == 'refs/heads/prod'
needs: test
concurrency: deploy-prod-delivery-service
env:
DOCKER_IMAGE: ghcr.io/${{ github.repository }}/${{ github.event.repository.name }}-cdn-prod
DOCKER_TAG: ${{ github.sha }}
steps:
- name: Checkout source code
uses: noi-techpark/github-actions/checkout@v2
- name: Create .env file
uses: noi-techpark/github-actions/env-file@v2
env:
X_COMPOSE_PROJECT_NAME: ${{ env.PROJECT_NAME }}
X_DOCKER_IMAGE: ${{ env.DOCKER_IMAGE }}
X_DOCKER_TAG: ${{ env.DOCKER_TAG }}
X_CDN_SERVER_PORT: 1089
X_DEBUG_LEVEL: "INFO"
X_WORKSPACE_PATH: "/workspace"
X_CDN_SWAGGER_BASE_URL: "https://cdn.webcomponents.opendatahub.com"
X_DB_URL: "jdbc:postgresql://postgres-prod.co90ybcr8iim.eu-west-1.rds.amazonaws.com:5432/webcompstore"
X_DB_USR: ${{ secrets.DB_USR_PROD }}
X_DB_PWD: ${{ secrets.DB_PWD_PROD }}
X_DB_SCHEMA: "public"
X_DOCKER_CLIENT_TIMEOUT: 360
X_COMPOSE_HTTP_TIMEOUT: 360
X_JAVA_OPTIONS: "-Xms128m -Xmx1024m"
- name: Prepare application.properties
run: cp application-deployment.properties application.properties
working-directory: ./backend/delivery-service/src/main/resources/
- name: Build project
uses: noi-techpark/github-actions/maven-build@v2
with:
java-version: ${{ env.JAVA_VERSION }}
build-command: 'mvn -B -DskipTests -DfinalName=ROOT --projects delivery-service --also-make package'
working-directory: backend
- name: Build and push images
uses: noi-techpark/github-actions/docker-build-and-push@v2
with:
docker-username: ${{ github.actor }}
docker-password: ${{ secrets.GITHUB_TOKEN }}
working-directory: ./backend/delivery-service/infrastructure/docker/
- name: Deploy application
uses: noi-techpark/github-actions/docker-deploy@v2
with:
hosts: 'prod'
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
docker-username: 'noi-techpark-bot'
docker-password: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
project-name: ${{ env.PROJECT_NAME }}
working-directory: ./backend/delivery-service/infrastructure/ansible