-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🤖 Init update.yml
workflow
#160
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is required to keep all files populated by this workflow in sync |
||
|
||
# [optional] to include repo in https://github.com/orgs/conda/projects/2 | ||
- .github/workflows/issues.yml | ||
- .github/workflows/labels.yml | ||
- .github/workflows/project.yml | ||
schuylermartin45 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
# [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 | ||
schuylermartin45 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
# [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 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We might end up commenting out some of the optional sections here. I'd like to see what they do first. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. https://github.com/conda/conda-package-streaming is an example that syncs these issue/PR templates and doesn't make any further modifications There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ok sweet. These do look nice but I would like some of these auto-labeled with some of the labels we created. Is there a way to patch these templates with some customization? I'm definitely going to disable the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. you can see the templates in conda/infrastructure: some of them include fields that can be templated: [workflow-update]: [[ repo.html_url ]]/blob/main/.github/workflows/update.yml others include the option to define additional templates to be injected: [% include 'issue_template_details.yml' ignore missing %] There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. currently the templates do not offer additional control over the labels There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good to know, thanks for your help on this! |
||
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 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 '[email protected]' | ||
|
||
- 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 }}. | ||
|
||
<details> | ||
<summary>Commands</summary> | ||
|
||
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 | ||
|
||
</details> | ||
|
||
###### 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 }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is all thats needed to resolve #145