New UI for permission management #4480
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: Build | |
| on: | |
| push: | |
| branches: | |
| - 'main' | |
| pull_request: {} | |
| # allow manual execution just in case | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| permissions: | |
| # Cf. https://github.com/marketplace/actions/publish-test-results#permissions | |
| checks: write | |
| pull-requests: write | |
| # For detekt | |
| security-events: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: '.nvmrc' | |
| - name: Set up JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| - name: Set up Gradle | |
| uses: gradle/actions/setup-gradle@v3 | |
| - name: Build | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: ./gradlew --build-cache build detektMain detektTest detektJsMain detektJsTest detektJvmMain detektJvmTest :koverHtmlReport :koverXmlReport -PciBuild=true | |
| - name: Publish test results | |
| uses: EnricoMi/publish-unit-test-result-action@v2 | |
| # Also report in case the build failed | |
| if: always() | |
| with: | |
| files: | | |
| **/test-results/**/*.xml | |
| - name: Archive test report | |
| uses: actions/upload-artifact@v4 | |
| # Archive test reports for introspection even if the build failed. They are most useful in this situation. | |
| if: always() | |
| with: | |
| name: test-report | |
| path: | | |
| */build/test-results | |
| */build/reports | |
| - name: Report test coverage | |
| uses: madrapps/jacoco-report@v1.7.1 | |
| with: | |
| paths: ${{ github.workspace }}/build/reports/kover/report.xml | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| title: JVM coverage report | |
| update-comment: true | |
| # We need to combine the SARIF files because GitHub has a limit of 20 runs. Our number of modules + targets | |
| # exceeds this limit. Therefore, we combine the individual runs in the SARIF files. | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: '.nvmrc' | |
| - name: Combine SARIF files | |
| run: | | |
| npx @microsoft/sarif-multitool merge --merge-runs --output-file merged.sarif $(find . -iname '*.sarif*') | |
| - name: Upload SARIF file | |
| uses: github/codeql-action/upload-sarif@v3 | |
| with: | |
| sarif_file: merged.sarif | |
| category: detekt | |
| test-model-api-gen-gradle: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| - name: Set up Gradle | |
| uses: gradle/actions/setup-gradle@v3 | |
| - name: Assemble | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: ./gradlew --build-cache assemble publishToMavenLocal -PciBuild=true | |
| - name: Test Model API Generator Gradle Plugin | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: model-api-gen-gradle-test/ci.sh | |
| test-model-client-js: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| - name: Set up Gradle | |
| uses: gradle/actions/setup-gradle@v3 | |
| - name: Assemble | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: ./gradlew --build-cache assemble publishToMavenLocal -PciBuild=true | |
| - name: Test Model Client JS API | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: model-client-js-test/ci.sh | |
| test-bulk-model-sync-gradle: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| - name: Set up Gradle | |
| uses: gradle/actions/setup-gradle@v3 | |
| - name: Assemble | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: ./gradlew --build-cache assemble publishToMavenLocal -PciBuild=true | |
| - name: Test Bulk Model Sync Gradle Plugin | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: bulk-model-sync-gradle-test/ci.sh |