name: Build on: push: branches: - main - release/* workflow_dispatch: permissions: contents: read jobs: common: uses: ./.github/workflows/build-common.yml secrets: FLAKY_TEST_REPORTER_ACCESS_KEY: ${{ secrets.FLAKY_TEST_REPORTER_ACCESS_KEY }} test-latest-deps: # release branches are excluded # because any time a new library version is released to maven central it can fail # which requires unnecessary release branch maintenance, especially for patches if: "!startsWith(github.ref_name, 'release/')" uses: ./.github/workflows/reusable-test-latest-deps.yml secrets: FLAKY_TEST_REPORTER_ACCESS_KEY: ${{ secrets.FLAKY_TEST_REPORTER_ACCESS_KEY }} muzzle: # release branches are excluded # because any time a new library version is released to maven central it can fail # which requires unnecessary release branch maintenance, especially for patches if: "!startsWith(github.ref_name, 'release/')" uses: ./.github/workflows/reusable-muzzle.yml shell-script-check: # release branches are excluded to avoid unnecessary maintenance if new shell checks are added if: "!startsWith(github.ref_name, 'release/')" uses: ./.github/workflows/reusable-shell-script-check.yml markdown-link-check: # release branches are excluded to avoid unnecessary maintenance if external links break # (and also because the README.md javaagent download link has to be updated on release branches # before the release download has been published) if: "!startsWith(github.ref_name, 'release/')" uses: ./.github/workflows/reusable-markdown-link-check.yml markdown-lint-check: # release branches are excluded if: "!startsWith(github.ref_name, 'release/')" uses: ./.github/workflows/reusable-markdown-lint-check.yml misspell-check: # release branches are excluded to avoid unnecessary maintenance if new misspellings are added # to the misspell dictionary if: "!startsWith(github.ref_name, 'release/')" uses: ./.github/workflows/reusable-misspell-check.yml publish-snapshots: needs: # intentionally not blocking snapshot publishing on test-latest-deps, muzzle, # markdown-link-check, or misspell-check - common runs-on: ubuntu-latest # skipping release branches because the versions in those branches are not snapshots if: github.ref_name == 'main' && github.repository == 'open-telemetry/opentelemetry-java-instrumentation' steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Free disk space run: .github/scripts/gha-free-disk-space.sh - name: Set up JDK for running Gradle uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0 with: distribution: temurin java-version-file: .java-version - name: Setup Gradle uses: gradle/actions/setup-gradle@94baf225fe0a508e581a564467443d0e2379123b # v4.3.0 - name: Build and publish artifact snapshots env: SONATYPE_USER: ${{ secrets.SONATYPE_USER }} SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }} GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} GPG_PASSWORD: ${{ secrets.GPG_PASSWORD }} run: ./gradlew assemble spdxSbom publishToSonatype - name: Build and publish gradle plugin snapshots env: SONATYPE_USER: ${{ secrets.SONATYPE_USER }} SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }} GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} GPG_PASSWORD: ${{ secrets.GPG_PASSWORD }} run: ./gradlew build publishToSonatype working-directory: gradle-plugins