Skip to content

feat(dlr): replace MVStore with PostgreSQL persistence #116

feat(dlr): replace MVStore with PostgreSQL persistence

feat(dlr): replace MVStore with PostgreSQL persistence #116

Workflow file for this run

name: Native E2E Tests
on:
pull_request:
paths:
- "sendium-core/**"
- "sendium-app/**"
- "pom.xml"
- ".mvn/**"
- "mvnw"
- "mvnw.cmd"
- ".github/workflows/run_tests.yml"
- ".github/workflows/native_e2e.yml"
workflow_dispatch:
concurrency:
group: SendiumNativeE2E-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
native-e2e:
if: github.event_name != 'pull_request' || !startsWith(github.head_ref, 'release-please--')
runs-on: ubuntu-latest
timeout-minutes: 60
services:
postgres:
image: postgres:17-alpine
env:
POSTGRES_DB: sendium
POSTGRES_USER: sendium
POSTGRES_PASSWORD: sendium-test
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U sendium -d sendium"
--health-interval 5s
--health-timeout 5s
--health-retries 10
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Setup Java
uses: graalvm/setup-graalvm@v1
with:
java-version: 25
distribution: graalvm
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build native application
run: |
chmod +x ./mvnw
./mvnw -B clean install -DskipTests
./mvnw -B package -pl sendium-app -Pnative -Dquarkus.native.container-build=false
- name: Build native Docker image
run: docker build -t sendium:native-e2e -f sendium-app/src/main/docker/Dockerfile.native sendium-app
- name: Run native E2E smoke tests
env:
SENDIUM_E2E_IMAGE: sendium:native-e2e
SENDIUM_DLR_POSTGRESQL_JDBC_URL: jdbc:postgresql://host.docker.internal:5432/sendium
SENDIUM_DLR_POSTGRESQL_USERNAME: sendium
SENDIUM_DLR_POSTGRESQL_PASSWORD: sendium-test
run: |
./mvnw -B -pl sendium-core -DskipTests test-compile org.codehaus.mojo:exec-maven-plugin:3.5.1:java \
-Dexec.classpathScope=test \
-Dexec.mainClass=utils.NativeE2eSmoke