From f9fb6a608c51916226ec5c0501f3a84dd3cd4eeb Mon Sep 17 00:00:00 2001 From: Conda Bot <18747875+conda-bot@users.noreply.github.com> Date: Thu, 26 Sep 2024 22:36:07 +0000 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=A4=96=20updated=20file(s)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/template-files/config.yml | 50 ++++++++++++ .github/workflows/update.yml | 124 ++++++++++++++++++++++++++++++ 2 files changed, 174 insertions(+) create mode 100644 .github/template-files/config.yml create mode 100644 .github/workflows/update.yml diff --git a/.github/template-files/config.yml b/.github/template-files/config.yml new file mode 100644 index 00000000..10381688 --- /dev/null +++ b/.github/template-files/config.yml @@ -0,0 +1,50 @@ +conda/governance: + # [required] community files + - CODE_OF_CONDUCT.md + +conda/infrastructure: + # [required] general workflows + - .github/workflows/cla.yml + - .github/workflows/update.yml + + # [optional] to include repo in https://github.com/orgs/conda/projects/2 + - .github/workflows/issues.yml + - .github/workflows/labels.yml + - .github/workflows/project.yml + + # [optional] stale bot workflows + - .github/workflows/stale.yml + - .github/workflows/lock.yml + + # [optional] general processes for the conda org + - src: templates/HOW_WE_USE_GITHUB.md + dst: HOW_WE_USE_GITHUB.md + + # [optional] standard issue templates + - src: templates/issues/bug.yml + dst: .github/ISSUE_TEMPLATE/0_bug.yml + + - src: templates/issues/feature.yml + dst: .github/ISSUE_TEMPLATE/1_feature.yml + + - src: templates/issues/documentation.yml + dst: .github/ISSUE_TEMPLATE/2_documentation.yml + + - src: templates/issues/epic.yml + dst: .github/ISSUE_TEMPLATE/epic.yml + + # [optional] standard PR template + # - src: templates/pull_requests/news_tests_docs.md + # dst: .github/template-files/templates/pull_request_template_details.md + - src: templates/pull_requests/base.md + dst: .github/PULL_REQUEST_TEMPLATE.md + + # [optional] rever release files + # - src: templates/releases/RELEASE.md + # dst: RELEASE.md + # with: + # placeholder: YY.M + # - src: templates/releases/rever.xsh + # dst: rever.xsh + # - src: templates/releases/TEMPLATE + # dst: news/TEMPLATE diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml new file mode 100644 index 00000000..0164674b --- /dev/null +++ b/.github/workflows/update.yml @@ -0,0 +1,124 @@ +name: Update Repository + +on: + # every Sunday at 00:36 UTC + # https://crontab.guru/#36_2_*_*_0 + schedule: + - cron: 36 2 * * 0 + + workflow_dispatch: + + issue_comment: + types: + - created + +jobs: + update: + if: >- + !github.event.repository.fork + && ( + github.event_name == 'schedule' + || github.event_name == 'workflow_dispatch' + || ( + github.event_name == 'issue_comment' + && github.event.issue.pull_request + && ( + github.event.comment.body == '@conda-bot render' + || github.event.comment.body == '@conda-bot recreate' + ) + ) + ) + runs-on: ubuntu-latest + steps: + - if: github.event_name == 'issue_comment' + uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 + with: + comment-id: ${{ github.event.comment.id }} + reactions: eyes + reactions-edit-mode: replace + token: ${{ secrets.SYNC_TOKEN }} + + - if: github.event.comment.body == '@conda-bot render' + name: Configure git origin + run: | + echo REPOSITORY=$(curl --silent ${{ github.event.issue.pull_request.url }} | jq --raw-output '.head.repo.full_name') >> $GITHUB_ENV + echo REF=$(curl --silent ${{ github.event.issue.pull_request.url }} | jq --raw-output '.head.ref') >> $GITHUB_ENV + + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + with: + repository: ${{ env.REPOSITORY || github.repository }} + ref: ${{ env.REF || '' }} + token: ${{ secrets.SYNC_TOKEN }} + + - name: Configure git user + run: | + git config --global user.name 'Conda Bot' + git config --global user.email '18747875+conda-bot@users.noreply.github.com' + + - uses: conda/actions/combine-durations@15f883f14f4232f83658e3609c3316d58905138f # v24.8.0 + id: durations + continue-on-error: true + + - uses: conda/actions/template-files@15f883f14f4232f83658e3609c3316d58905138f # v24.8.0 + id: templates + continue-on-error: true + + - name: Commit changes + # no-op if there are no updates + continue-on-error: true + run: | + git add . + git commit --message "🤖 updated file(s)" + + - if: github.event.comment.body != '@conda-bot render' + name: Create fork + # no-op if the repository is already forked + run: echo FORK=$(gh repo fork --clone=false --default-branch-only 2>&1 | awk '{print $1}') >> $GITHUB_ENV + env: + GH_TOKEN: ${{ secrets.SYNC_TOKEN }} + + - if: github.event.comment.body != '@conda-bot render' + id: create + # no-op if no commits were made + uses: peter-evans/create-pull-request@8867c4aba1b742c39f8d0ba35429c2dfa4b6cb20 # v7.0.1 + with: + push-to-fork: ${{ env.FORK }} + token: ${{ secrets.SYNC_TOKEN }} + branch: update + delete-branch: true + title: 🤖 Update infrastructure file(s) + body: | + [update.yml]: ${{ github.server_url }}/${{ github.repository }}/blob/main/.github/workflows/update.yml + + Your friendly repository updater. + + ${{ steps.durations.outputs.summary }} + + ${{ steps.templates.outputs.summary }} + + This PR was triggered by @${{ github.triggering_actor }} via ${{ github.event_name }}. + +
+ Commands + + Trigger actions by commenting on this PR: + + - `@conda-bot render` will run rendering workflows and commit and push any changes to this PR + - `@conda-bot recreate` will recreate this PR, overwriting any edits that have been made to it + +
+ + ###### Auto-generated by the [`update.yml`][update.yml] workflow, see ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}. + + - if: github.event.comment.body == '@conda-bot render' + id: update + name: Push changes + run: git push --force-with-lease + + - if: always() && github.event_name == 'issue_comment' + uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 + with: + comment-id: ${{ github.event.comment.id }} + reactions: ${{ (steps.create.conclusion == 'success' || steps.update.conclusion == 'success') && 'hooray' || 'confused' }} + reactions-edit-mode: replace + token: ${{ secrets.SYNC_TOKEN }} From 66104d98edd1d0a1c84945467ae4401062a4ccf6 Mon Sep 17 00:00:00 2001 From: Schuyler Martin Date: Thu, 26 Sep 2024 16:43:35 -0600 Subject: [PATCH 2/3] Update .github/template-files/config.yml --- .github/template-files/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/template-files/config.yml b/.github/template-files/config.yml index 10381688..3d14c8b5 100644 --- a/.github/template-files/config.yml +++ b/.github/template-files/config.yml @@ -8,9 +8,9 @@ conda/infrastructure: - .github/workflows/update.yml # [optional] to include repo in https://github.com/orgs/conda/projects/2 - - .github/workflows/issues.yml - - .github/workflows/labels.yml - - .github/workflows/project.yml + # - .github/workflows/issues.yml + # - .github/workflows/labels.yml + # - .github/workflows/project.yml # [optional] stale bot workflows - .github/workflows/stale.yml From 60360674f12ce0d756b80c20cc48942de99b5f8e Mon Sep 17 00:00:00 2001 From: Schuyler Martin Date: Thu, 26 Sep 2024 16:47:53 -0600 Subject: [PATCH 3/3] Update .github/template-files/config.yml --- .github/template-files/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/template-files/config.yml b/.github/template-files/config.yml index 3d14c8b5..ffb2f043 100644 --- a/.github/template-files/config.yml +++ b/.github/template-files/config.yml @@ -30,8 +30,8 @@ conda/infrastructure: - src: templates/issues/documentation.yml dst: .github/ISSUE_TEMPLATE/2_documentation.yml - - src: templates/issues/epic.yml - dst: .github/ISSUE_TEMPLATE/epic.yml + # - src: templates/issues/epic.yml + # dst: .github/ISSUE_TEMPLATE/epic.yml # [optional] standard PR template # - src: templates/pull_requests/news_tests_docs.md