Skip to content

Build (daily)

Build (daily) #1502

Workflow file for this run

name: Build (daily)
on:
schedule:
# daily at 3:24 UTC
- cron: "24 3 * * *"
workflow_dispatch:
permissions:
contents: read
jobs:
common:
uses: ./.github/workflows/build-common.yml
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
FLAKY_TEST_REPORTER_ACCESS_KEY: ${{ secrets.FLAKY_TEST_REPORTER_ACCESS_KEY }}
test-latest-deps:
uses: ./.github/workflows/reusable-test-latest-deps.yml
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
FLAKY_TEST_REPORTER_ACCESS_KEY: ${{ secrets.FLAKY_TEST_REPORTER_ACCESS_KEY }}
muzzle:
uses: ./.github/workflows/reusable-muzzle.yml
link-check:
uses: ./.github/workflows/reusable-link-check.yml
markdown-lint-check:
uses: ./.github/workflows/reusable-markdown-lint-check.yml
publish-snapshots:
environment: protected
needs:
- common
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Free disk space
run: .github/scripts/gha-free-disk-space.sh
- name: Set up JDK for running Gradle
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: temurin
java-version-file: .java-version
- name: Setup Gradle
uses: gradle/actions/setup-gradle@50e97c2cd7a37755bbfafc9c5b7cafaece252f6e # v6.1.0
- name: Build and publish artifact snapshots
env:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
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:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
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
workflow-notification:
permissions:
contents: read
issues: write
needs:
- common
- test-latest-deps
- muzzle
- link-check
- publish-snapshots
if: always()
uses: ./.github/workflows/reusable-workflow-notification.yml
with:
success: >-
${{
needs.common.result == 'success' &&
needs.test-latest-deps.result == 'success' &&
needs.muzzle.result == 'success' &&
needs.link-check.result == 'success' &&
needs.publish-snapshots.result == 'success'
}}