| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| name: PostRelease Nightly Snapshot |
| |
| on: |
| workflow_dispatch: |
| inputs: |
| RELEASE: |
| description: Beam version of current release (e.g. 2.XX.0) |
| required: true |
| default: '2.XX.0' |
| SNAPSHOT_URL: |
| description: Location of the staged artifacts in Maven central (https://repository.apache.org/content/repositories/orgapachebeam-NNNN/). |
| required: true |
| schedule: |
| - cron: '15 16 * * *' |
| |
| #Setting explicit permissions for the action to avoid the default permissions which are `write-all` in case of pull_request_target event |
| permissions: |
| actions: write |
| pull-requests: read |
| checks: read |
| contents: read |
| deployments: read |
| id-token: none |
| issues: read |
| discussions: read |
| packages: read |
| pages: read |
| repository-projects: read |
| security-events: read |
| statuses: read |
| |
| env: |
| DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} |
| GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }} |
| GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }} |
| |
| jobs: |
| beam_PostRelease_NightlySnapshot: |
| name: beam_PostRelease_NightlySnapshot |
| runs-on: [self-hosted, ubuntu-20.04, highmem] |
| steps: |
| - uses: actions/checkout@v4 |
| - name: Setup environment |
| uses: ./.github/actions/setup-environment-action |
| with: |
| java-version: default |
| - name: Setup temp local maven |
| id: setup_local_maven |
| run: echo "NEW_TEMP_DIR=$(mktemp -d)" >> $GITHUB_OUTPUT |
| - name: run PostRelease validation script |
| uses: ./.github/actions/gradle-command-self-hosted-action |
| with: |
| gradle-command: :release:runJavaExamplesValidationTask |
| arguments: | |
| -Pver='${{ github.event.inputs.RELEASE }}' \ |
| -Prepourl='${{ github.event.inputs.SNAPSHOT_URL }}' \ |
| -PmavenLocalPath='${{ steps.setup_local_maven.outputs.NEW_TEMP_DIR }}' |
| - name: Clean up local maven |
| if: steps.setup_local_maven.outcome == 'success' |
| run: rm -rf '${{ steps.setup_local_maven.outputs.NEW_TEMP_DIR }}' |