[da-vinci][server] Add OTel metrics to RocksDBMemoryStats (#2603) #11110
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
| # GitHub Actions workflow for running static analysis and unit tests | |
| name: AnalyseStatiqueEtTestsUnitaires | |
| on: [push, pull_request, workflow_dispatch] | |
| jobs: | |
| ValidateGradleWrapper: | |
| strategy: | |
| fail-fast: false | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Validate Gradle wrapper | |
| uses: gradle/actions/wrapper-validation@v3 | |
| StaticAnalysis: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| jdk: [17] | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - uses: ./.github/actions/gradle-test-setup | |
| with: | |
| java-version: ${{ matrix.jdk }} | |
| - name: Run Static Analysis | |
| run: ./gradlew --continue --no-daemon clean check --parallel -Pspotallbugs -x test -x integrationTest -x jacocoTestCoverageVerification -Pspotbugs.reports.all=true | |
| - name: Package Build Artifacts | |
| if: success() || failure() | |
| shell: bash | |
| run: | | |
| mkdir ${{ github.job }}-artifacts | |
| find . -path "**/build/reports/*" -or -path "**/build/test-results/*" > artifacts.list | |
| rsync -R --files-from=artifacts.list . ${{ github.job }}-artifacts | |
| tar -zcvf ${{ github.job }}-jdk${{ matrix.jdk }}-logs.tar.gz ${{ github.job }}-artifacts | |
| - name: Upload Build Artifacts | |
| if: success() || failure() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: ${{ github.job }} | |
| path: ${{ github.job }}-jdk${{ matrix.jdk }}-logs.tar.gz | |
| retention-days: 30 | |
| Clients: | |
| uses: ./.github/workflows/UnitTests-core.yml | |
| with: | |
| artifact_suffix: clients | |
| arg: | |
| # Cannot use :clients:recursiveDiffCoverage because that would include DVC, and we want this one to run in server... | |
| :clients:venice-admin-tool:diffCoverage | |
| :clients:venice-producer:diffCoverage | |
| :clients:venice-client:diffCoverage | |
| :clients:venice-push-job:diffCoverage | |
| :clients:venice-thin-client:diffCoverage | |
| --continue | |
| Integrations: | |
| uses: ./.github/workflows/UnitTests-core.yml | |
| with: | |
| artifact_suffix: integrations | |
| arg: | |
| :integrations:recursiveDiffCoverage | |
| --continue | |
| Internal: | |
| uses: ./.github/workflows/UnitTests-core.yml | |
| with: | |
| artifact_suffix: internal | |
| arg: | |
| # Cannot use :internal:recursiveDiffCoverage because that would include the avro compat test, and we want this one to run in the Compatibility group (TODO: move it out of internal?)... | |
| :internal:venice-client-common:diffCoverage | |
| :internal:venice-common:diffCoverage | |
| :internal:venice-jdk-compatibility-test:diffCoverage | |
| :internal:venice-test-common:diffCoverage | |
| --continue | |
| Controller: | |
| uses: ./.github/workflows/UnitTests-core.yml | |
| with: | |
| artifact_suffix: controller | |
| arg: | |
| :services:venice-controller:diffCoverage | |
| --continue | |
| Server: | |
| uses: ./.github/workflows/UnitTests-core.yml | |
| with: | |
| artifact_suffix: server | |
| arg: | |
| :clients:da-vinci-client:diffCoverage | |
| :services:venice-server:diffCoverage | |
| --continue | |
| Router: | |
| uses: ./.github/workflows/UnitTests-core.yml | |
| with: | |
| artifact_suffix: router | |
| arg: | |
| :services:venice-router:diffCoverage | |
| alpiniUnitTest | |
| --continue | |
| # This workflow gets skipped if all upstream jobs succeeded, but it runs (and fails) if any upstream failed. | |
| # This is what we want since GitHub required actions do not block merging when skipped, but can block it when failed. | |
| StaticAnalysisAndUnitTestsFailureAlert: | |
| strategy: | |
| fail-fast: false | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| needs: [ValidateGradleWrapper, StaticAnalysis, Clients, Integrations, Internal, Controller, Server, Router] | |
| timeout-minutes: 20 | |
| if: ${{ cancelled() || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'failure') }} | |
| steps: | |
| - name: NoGood | |
| shell: bash | |
| run: | | |
| echo "Some workflows have failed!" | |
| exit 1 |