Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
e2e-tests.yml 3.76 KiB
name: E2E Tests for PR

on:
  pull_request:
    types: [opened, synchronize, reopened, ready_for_review]
    paths-ignore:
      - "docs/**"
      - "**.md"
      - ".circleci/**"

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:

  build:
    if: github.event.pull_request.draft == false
    runs-on: buildjet-2vcpu-ubuntu-2004
    timeout-minutes: 25
    strategy:
      matrix:
        edition: [oss, ee]
    env:
      MB_EDITION: ${{ matrix.edition }}
      INTERACTIVE: false
    steps:
    - uses: actions/checkout@v3
    - name: Prepare front-end environment
      uses: ./.github/actions/prepare-frontend
    - name: Prepare back-end environment
      uses: ./.github/actions/prepare-backend

    - run: ./bin/build version
    - run: ./bin/build translations
    - run: ./bin/build frontend
    - run: ./bin/build licenses
    - run: ./bin/build drivers
    - run: ./bin/build uberjar

    - name: Prepare uberjar artifact
      uses: ./.github/actions/prepare-uberjar-artifact

  e2e-tests:
    runs-on: buildjet-4vcpu-ubuntu-2004
    timeout-minutes: 30
    needs: build
    name: e2e-tests-${{ matrix.folder }}-${{ matrix.edition }}
    env:
      MB_EDITION: ${{ matrix.edition }}
      DISPLAY: ""
      QA_DB_ENABLED: true
      ENTERPRISE_TOKEN: ${{ secrets.ENTERPRISE_TOKEN }}
      MB_SNOWPLOW_AVAILABLE: true
      MB_SNOWPLOW_URL: "http://localhost:9090"  # Snowplow micro
    strategy:
      fail-fast: false
      matrix:
        java-version: [11]
        edition: [oss, ee]
        folder:
          - "downloads"
          - "moderation"
          - "permissions"
    services:
      maildev:
        image: maildev/maildev:1.1.0
        ports:
          - "80:80"
          - "25:25"