MPT-14766 E2E integration with reportportal.io #420
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: PR build and merge | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| push: | |
| branches: | |
| - main | |
| - "release/**" | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - name: "Checkout" | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: "Build test containers" | |
| run: docker compose build app_test | |
| - name: "Create environment file" | |
| run: env | grep -E '^MPT_' > .env | |
| env: | |
| RP_ENDPOINT: ${{ secrets.RP_ENDPOINT }} | |
| RP_API_KEY: ${{ secrets.RP_API_KEY }} | |
| MPT_API_BASE_URL: ${{ secrets.MPT_API_BASE_URL }} | |
| MPT_API_TOKEN: ${{ secrets.MPT_API_TOKEN }} | |
| - name: "Run validation & test - no report" | |
| run: docker compose run --service-ports app_test bash -c "ruff format --check . && ruff check . && flake8 . && mypy . && uv lock --check && pytest tests/unit" | |
| env: | |
| RP_LAUNCH: github-unit-test | |
| RP_ENDPOINT: ${{ secrets.RP_ENDPOINT }} | |
| RP_API_KEY: ${{ secrets.RP_API_KEY }} | |
| - name: "Run validation & test" | |
| run: docker compose run --service-ports app_test bash -c "ruff format --check . && ruff check . && flake8 . && mypy . && uv lock --check && pytest --reportportal --rp-launch=$RP_LAUNCH --rp-api-key=$RP_API_KEY --rp-endpoint=$RP_ENDPOINT tests/unit" | |
| env: | |
| RP_LAUNCH: github-unit-test | |
| RP_ENDPOINT: ${{ secrets.RP_ENDPOINT }} | |
| RP_API_KEY: ${{ secrets.RP_API_KEY }} | |
| - name: "Run E2E test" | |
| run: docker compose run --service-ports e2e bash -c "pytest --reportportal --rp-launch=$RP_LAUNCH --rp-api-key=$RP_API_KEY --rp-endpoint=$RP_ENDPOINT tests/e2e" | |
| env: | |
| RP_LAUNCH: github-e2e-test | |
| RP_ENDPOINT: ${{ secrets.RP_ENDPOINT }} | |
| RP_API_KEY: ${{ secrets.RP_API_KEY }} | |
| - name: "Run SonarCloud Scan" | |
| uses: SonarSource/sonarqube-scan-action@master | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
| - name: "Stop containers" | |
| if: always() | |
| run: docker compose down |