123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- name: Build
- on:
- push:
- branches:
- - main
- - release/*
- workflow_dispatch:
- jobs:
- common:
- uses: ./.github/workflows/build-common.yml
- secrets:
- GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
- GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
- GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
- 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:
- GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
- GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
- GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
- 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@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- - name: Free disk space
- run: .github/scripts/gha-free-disk-space.sh
- - name: Set up JDK for running Gradle
- uses: actions/setup-java@9704b39bf258b59bc04b50fa2dd55e9ed76b47a8 # v4.1.0
- with:
- distribution: temurin
- java-version: 17.0.6
- - name: Build and publish artifact snapshots
- env:
- GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
- SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
- SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }}
- GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
- GPG_PASSWORD: ${{ secrets.GPG_PASSWORD }}
- uses: gradle/gradle-build-action@29c0906b64b8fc82467890bfb7a0a7ef34bda89e # v3.1.0
- with:
- arguments: assemble publishToSonatype
- # gradle enterprise is used for the build cache
- gradle-home-cache-excludes: caches/build-cache-1
- - name: Build and publish gradle plugin snapshots
- env:
- GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
- SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
- SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }}
- GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
- GPG_PASSWORD: ${{ secrets.GPG_PASSWORD }}
- uses: gradle/gradle-build-action@29c0906b64b8fc82467890bfb7a0a7ef34bda89e # v3.1.0
- with:
- build-root-directory: gradle-plugins
- arguments: build publishToSonatype
- # gradle enterprise is used for the build cache
- gradle-home-cache-excludes: caches/build-cache-1
|