This is an automated email from the ASF dual-hosted git repository. yhu pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/master by this push: new cc410cae08c Github Workflow Replacement for Jenkins Job, beam_PreCommit_Website_Stage_GCS (Cron, Commit, Phrase) (#27261) cc410cae08c is described below commit cc410cae08c7affa1af88dfefeb18768705c605a Author: magicgoody <131876064+magicgo...@users.noreply.github.com> AuthorDate: Fri Jul 28 22:36:29 2023 +0600 Github Workflow Replacement for Jenkins Job, beam_PreCommit_Website_Stage_GCS (Cron, Commit, Phrase) (#27261) * workflow added * pull request target * update * permissions add, website gcs * workflow and readme update * auth gcp * setup cloud sdk * name and path fix * fix trigger * spaces fix * moved events * Add website link to the summary * readme name fix * link generation process was fixed * if event added * new updates * code fix --- .github/workflows/README.md | 1 + .../workflows/beam_PreCommit_Website_Stage_GCS.yml | 116 +++++++++++++++++++++ 2 files changed, 117 insertions(+) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index 8cc764362cc..a980c427007 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -131,3 +131,4 @@ Please note that jobs with matrix need to have matrix element in the comment. Ex | [ PreCommit Python Integration](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Python_Integration.yml) | ['3.8','3.11'] | `Run Python_Integration PreCommit (matrix_element)` | [![.github/workflows/beam_PreCommit_Python_Integration.yml](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Python_Integration.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Python_Integration.yml) | | [ RAT PreCommit ](https://github.com/apache/beam/actions/workflows/beam_PreCommit_RAT.yml) | N/A | `Run RAT PreCommit` | [![.github/workflows/beam_PreCommit_RAT.yml](https://github.com/apache/beam/actions/workflows/beam_PreCommit_RAT.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/beam_PreCommit_RAT.yml) | | [ PreCommit SQL Java11 ](https://github.com/apache/beam/actions/workflows/beam_PreCommit_SQL_Java11.yml) | N/A |`Run SQL_Java11 PreCommit`| [![PreCommit SQL Java11](https://github.com/apache/beam/actions/workflows/beam_PreCommit_SQL_Java11.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/beam_PreCommit_SQL_Java11.yml) | +| [ PreCommit Website Stage GCS ](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Website_Stage_GCS.yml) | N/A |`Run Website_Stage_GCS PreCommit`| [![PreCommit Website Stage GCS](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Website_Stage_GCS.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Website_Stage_GCS.yml) | diff --git a/.github/workflows/beam_PreCommit_Website_Stage_GCS.yml b/.github/workflows/beam_PreCommit_Website_Stage_GCS.yml new file mode 100644 index 00000000000..665a5cdaac1 --- /dev/null +++ b/.github/workflows/beam_PreCommit_Website_Stage_GCS.yml @@ -0,0 +1,116 @@ +# 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: PreCommit Website Stage GCS + +on: + push: + tags: ['v*'] + branches: ['master', 'release-*'] + paths: ['website/**','.github/workflows/beam_PreCommit_Website_Stage_GCS.yml'] + pull_request_target: + branches: ['master', 'release-*'] + paths: ['website/**'] + issue_comment: + types: [created] + schedule: + - cron: '0 */6 * * *' + workflow_dispatch: + +# This allows a subsequently queued workflow run to interrupt previous runs +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.sha || github.head_ref || github.ref }}-${{ github.event.sender.login }}-${{ github.event.schedule }}' + cancel-in-progress: true + +#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: + gcsbucket: apache-beam-website-pull-requests + ghprbPullId: + +jobs: + beam_PreCommit_Website_Stage_GCS: + timeout-minutes: 120 + if: | + github.event_name == 'push' || + github.event_name == 'pull_request_target' || + github.event_name == 'schedule' || + github.event.comment.body == 'Run Website_Stage_GCS PreCommit' + runs-on: [self-hosted, ubuntu-20.04, main] + name: beam_PreCommit_Website_Stage_GCS (Run Website_Stage_GCS PreCommit) + steps: + - name: Git checkout + uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.sha }} + - name: Rerun on comment + if: github.event.comment.body == 'Run Website_Stage_GCS PreCommit' + uses: ./.github/actions/rerun-job-action + with: + pull_request_url: ${{ github.event.issue.pull_request.url }} + github_repository: ${{ github.repository }} + github_token: ${{ secrets.GITHUB_TOKEN }} + github_job: ${{ github.job }} + github_current_run_id: ${{ github.run_id }} + - name: Find Current Pull Request + uses: jwalton/gh-find-current-pr@v1 + id: findPr + with: + state: open + - name: Echo PR number + run: echo "ghprbPullId=${{ steps.findPr.outputs.pr || github.event.issue.number }}" >> $GITHUB_ENV + - name: Setup self-hosted + uses: ./.github/actions/setup-self-hosted-action + with: + requires-py-39: false + requires-go: false + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + with: + cache-read-only: false + - name: Authenticate on GCP + uses: google-github-actions/setup-gcloud@v0 + with: + service_account_email: ${{ secrets.GCP_SA_EMAIL }} + service_account_key: ${{ secrets.GCP_SA_KEY }} + project_id: ${{ secrets.GCP_PROJECT_ID }} + export_default_credentials: true + - name: Run website_stageWebsite script + uses: ./.github/actions/gradle-command-self-hosted-action + with: + gradle-command: :website:stageWebsite + arguments: -PwebsiteBucket=$gcsbucket + - name: Add website link to the summary if pr + if: env.ghprbPullId != null + run: echo "Website published to http://$gcsbucket.storage.googleapis.com/$ghprbPullId/index.html" >> $GITHUB_STEP_SUMMARY + - name: Add website link to the summary + if: env.ghprbPullId == null + run: | + USERNAME="$(whoami)" + echo "Website published to http://$gcsbucket.storage.googleapis.com/$USERNAME-${GITHUB_REF##*/}/index.html" >> $GITHUB_STEP_SUMMARY \ No newline at end of file