Skip to content

feat: add print service #455

feat: add print service

feat: add print service #455

# Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
# This product includes software developed at Datadog (https://www.datadoghq.com/).
# Copyright 2025-Present Datadog, Inc.
name: Docker Compose Integration
on:
pull_request:
branches: [ main ]
permissions:
contents: read
jobs:
docker-compose-integration:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Install mise
run: |
curl https://mise.run | sh
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Create CI .env file
run: |
echo "ENV=ci" > .env
echo "COMMIT_SHA=latest" >> .env
echo "DEPLOYMENT_HOST_URL=http://localhost:8080" >> .env
echo "DD_API_KEY=dummy-api-key" >> .env
echo "DD_SITE=datadoghq.com" >> .env
echo "DD_RUM_APPLICATION_ID=dummy-rum-app-id" >> .env
echo "DD_RUM_CLIENT_TOKEN=dummy-rum-client-token" >> .env
- name: Start services (CI mode - no monitoring)
run: mise run compose:deploy:ci
- name: Wait for services to be ready
run: mise run test:wait
- name: Test all service endpoints
run: mise run test:services
- name: Setup Node.js for E2E tests
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
cache-dependency-path: e2e/package-lock.json
- name: Install Playwright dependencies
working-directory: e2e
run: npm ci
- name: Install Playwright browsers
working-directory: e2e
run: npx playwright install --with-deps chromium
- name: Create e2e .env file
working-directory: e2e
run: |
echo "BASE_URL=http://localhost:8080" > .env
echo "CI=true" >> .env
- name: Run E2E tests
working-directory: e2e
run: npx playwright test
env:
CI: true
- name: Upload Playwright report on failure
uses: actions/upload-artifact@v4
if: failure()
with:
name: playwright-report
path: e2e/playwright-report/
retention-days: 7
- name: Cleanup
if: always()
run: mise run compose:down