| # 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. |
| |
| # This workflow will update python dependencies as part of the release process |
| # And commit the changes into the branch release, creating a PR into the branch |
| |
| name: Update Python Depedencies |
| |
| on: |
| schedule: |
| - cron: "0 0 * * 0" |
| workflow_dispatch: |
| permissions: read-all |
| |
| env: |
| GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }} |
| GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }} |
| GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }} |
| |
| jobs: |
| set-properties: |
| runs-on: [self-hosted, ubuntu-20.04] |
| outputs: |
| properties: ${{ steps.test-properties.outputs.properties }} |
| steps: |
| - name: Checkout code |
| uses: actions/checkout@v4 |
| - id: test-properties |
| uses: ./.github/actions/setup-default-test-properties |
| |
| update_python_dependencies: |
| runs-on: [self-hosted, ubuntu-20.04] |
| needs: set-properties |
| name: Update Python Dependencies |
| steps: |
| - name: Checkout code |
| uses: actions/checkout@v4 |
| - name: Setup environment |
| uses: ./.github/actions/setup-environment-action |
| with: |
| python-version: | |
| 3.8 |
| 3.9 |
| java-version: 8 |
| go-version: 1.21 |
| - name: Update Python Dependencies |
| uses: ./.github/actions/gradle-command-self-hosted-action |
| with: |
| gradle-command: :sdks:python:container:generatePythonRequirementsAll |
| - name: Install gh cli |
| uses: ./.github/actions/setup-gh-cli-linux |
| - name: Set git config |
| run: | |
| git config user.name $GITHUB_ACTOR |
| git config user.email actions@"$RUNNER_NAME".local |
| - name: Commit Changes and create new PR |
| run: | |
| branchName=weekly_update_python_dependencies_$(date +%s) |
| git checkout -b $branchName |
| git add -A |
| git diff-index --quiet HEAD || gitdiff=$? || echo $? |
| if [[ $gitDiff != 0 ]]; then |
| echo "Changes are ready to commit" |
| git commit -m "Update Python Dependencies" --quiet |
| git push origin $branchName --quiet |
| GITHUB_PR_URL=$(gh pr create --title "Update Python Dependencies from BRANCH $branchName" --body "This PR was create using the update python dependencies from branch $branchName") |
| echo "Link of the new PR $GITHUB_PR_URL" |
| else |
| echo "No changes on the files" |
| fi |