Skip to content

Use actions from deployment repository #6

Use actions from deployment repository

Use actions from deployment repository #6

Workflow file for this run

name: CI Pipeline
on:
push:
branches:
- main
pull_request:
branches:
- "**"
jobs:
detekt:
name: Detekt Analysis
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set Java 21 as default
run: |
export JAVA_HOME=${JAVA_HOME_21_X64}
export PATH=$JAVA_HOME/bin:$PATH
- name: Run detekt Analysis
run: ./gradlew detekt
spotless:
name: Spotless Analysis
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set Java 21 as default
run: |
export JAVA_HOME=${JAVA_HOME_21_X64}
export PATH=$JAVA_HOME/bin:$PATH
- name: Run detekt Analysis
run: ./gradlew spotlessCheck
unit-test:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set Java 21 as default
run: |
export JAVA_HOME=${JAVA_HOME_21_X64}
export PATH=$JAVA_HOME/bin:$PATH
- name: Run Unit Tests
run: ./gradlew test
test:
name: test end node
runs-on: ubuntu-latest
needs: [detekt, spotless, unit-test]
steps:
- run: echo "finished test stage" # this is a indirection to the previous test steps
docker-image-native:
name: Docker image native
if: github.event_name == 'push' && github.ref_name == 'main'
needs: [test]
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Build and Push Image
uses: explorviz/deployment/.github/actions/build-and-deploy-quarkus-native@main
with:
platforms: "linux/amd64,linux/arm64/v8"
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
image-name: ${{ vars.DOCKER_NATIVE_IMAGE_NAME }}
image-tag: "latest"
docker-image-jvm:
name: Docker image JVM
if: github.event_name == 'push' && github.ref_name == 'main'
needs: [test]
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Build and Push Image
uses: explorviz/deployment/.github/actions/build-and-deploy-quarkus-jvm@main
with:
platforms: "linux/amd64,linux/arm64/v8"
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
image-name: ${{ vars.DOCKER_JVM_IMAGE_NAME }}
image-tag: "latest"