diff --git a/.github/workflows/continuous-integration-workflow.yml b/.github/workflows/continuous-integration-workflow.yml index c4f43b28f1..7966b3f022 100644 --- a/.github/workflows/continuous-integration-workflow.yml +++ b/.github/workflows/continuous-integration-workflow.yml @@ -60,6 +60,53 @@ jobs: retention-days: 1 + integration: + name: Execute Integration CI tests + runs-on: ubuntu-latest + needs: build + permissions: + contents: read + packages: read + + steps: + # The first 2 steps (checking out, and building from Openfire Dockerfile) + # can be removed when the docker image is published to a registry. + # This 'integration' job should then need the 'build-and-push-docker' job as a dependency. + - uses: actions/checkout@v4 + + - name: Build Docker Image + run: | + docker build -t openfire:latest . + + - name: Checkout Integration Tests + uses: actions/checkout@v4 + with: + repository: igniterealtime/openfire-integration-tests + path: openfire-integration-tests + + - name: Initialize Integration Tests Submodules + working-directory: openfire-integration-tests + run: | + git submodule update --init + + - name: Setup Java + uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: '17' + cache: 'maven' + + - name: Run Integration Tests + working-directory: openfire-integration-tests + run: ./mvnw -B verify + + - name: Upload test reports + uses: actions/upload-artifact@v4 + if: always() + with: + name: integration-test-reports + path: openfire-integration-tests/target/failsafe-reports + aioxmpp: name: Execute aioxmpp-based CI tests