Update eclipse-temurin Docker tag #79
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: Test | |
| on: | |
| pull_request: | |
| paths-ignore: | |
| - 'README.md' | |
| - 'CODE_OF_CONDUCT.md' | |
| - 'CONTRIBUTING.md' | |
| - 'LICENSE' | |
| - 'SECURITY.md' | |
| - 'docs/**' | |
| - '.github/**' | |
| - '!.github/workflows/test.yml' | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - '[0-9]+.[0-9]+.[0-9]+' | |
| paths-ignore: | |
| - 'README.md' | |
| - 'CODE_OF_CONDUCT.md' | |
| - 'CONTRIBUTING.md' | |
| - 'LICENSE' | |
| - 'SECURITY.md' | |
| - 'docs/**' | |
| - '.github/**' | |
| - '!.github/workflows/test.yml' | |
| release: | |
| types: | |
| - created | |
| # Limit the number of concurrent runs to one per PR | |
| # If a run is already in progress, cancel it | |
| # If the run is not for a PR, then this limit does not apply | |
| concurrency: | |
| group: test-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| # Keep in sync with codeql-analysis.yml and build.yml | |
| env: | |
| CI: true | |
| node: 24 | |
| java: 25 | |
| # Run all tests for non-draft pull-requests or the default branch. Otherwise, only module-affected tests are run. | |
| RUN_ALL_TESTS: ${{ (github.event_name == 'pull_request' && github.event.pull_request.draft == false) || github.event.repository.default_branch == github.ref_name }} | |
| jobs: | |
| server-style: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup Java | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '${{ env.java }}' | |
| cache: 'gradle' | |
| - name: Java Code Style | |
| run: ./gradlew spotlessCheck | |
| - name: Java Documentation | |
| run: ./gradlew checkstyleMain | |
| if: success() || failure() | |
| client-style: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| defaults: | |
| run: | |
| working-directory: src/main/webapp | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '${{ env.node }}' | |
| cache: 'npm' | |
| cache-dependency-path: 'src/main/webapp/package-lock.json' | |
| - name: Install Dependencies | |
| run: npm ci | |
| - name: TypeScript Formatting | |
| run: npm run prettier:check | |
| - name: TypeScript Code Style | |
| run: npm run lint | |
| if: success() || failure() | |
| client-compilation: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| defaults: | |
| run: | |
| working-directory: src/main/webapp | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '${{ env.node }}' | |
| cache: 'npm' | |
| cache-dependency-path: 'src/main/webapp/package-lock.json' | |
| - name: Install Dependencies | |
| run: npm ci | |
| - name: Compile TypeScript Files With Typechecking | |
| run: npm run compile:ts | |
| client-tests: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| defaults: | |
| run: | |
| working-directory: src/main/webapp | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '${{ env.node }}' | |
| cache: 'npm' | |
| cache-dependency-path: 'src/main/webapp/package-lock.json' | |
| - name: Install Dependencies | |
| run: npm ci | |
| - name: Run Client Tests | |
| run: npm test | |
| server-tests: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup Java | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '${{ env.java }}' | |
| cache: 'gradle' | |
| - name: Run Tests with Coverage | |
| run: ./gradlew test jacocoTestReport | |
| - name: Upload Coverage Report | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: coverage-report | |
| path: build/reports/jacoco/test/html/ | |
| retention-days: 14 | |
| - name: Upload Test Results | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: test-results | |
| path: build/reports/tests/test/ | |
| retention-days: 14 |