Skip to content

Commit

Permalink
ci: update generic workflows (#98)
Browse files Browse the repository at this point in the history
  • Loading branch information
asyncapi-bot committed Nov 9, 2022
1 parent ced70ff commit 174c974
Show file tree
Hide file tree
Showing 7 changed files with 397 additions and 405 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@

name: Label PRs # if proper comment added

on:
issue_comment:
types:
- created
on:
issue_comment:
types:
- created

jobs:
add-ready-to-merge-label:
if: >
if: >
github.event.issue.pull_request &&
github.event.issue.state != 'closed' &&
github.actor != 'asyncapi-bot' &&
Expand All @@ -25,7 +25,6 @@ jobs:
runs-on: ubuntu-latest
steps:

- name: Add ready-to-merge label
uses: actions/github-script@v5
with:
Expand Down Expand Up @@ -64,7 +63,7 @@ jobs:
Thanks 😄`
})
}
add-do-not-merge-label:
if: >
github.event.issue.pull_request &&
Expand All @@ -86,7 +85,7 @@ jobs:
owner: context.repo.owner,
repo: context.repo.repo,
labels: ['do-not-merge']
})
})
add-autoupdate-label:
if: >
github.event.issue.pull_request &&
Expand All @@ -108,4 +107,4 @@ jobs:
owner: context.repo.owner,
repo: context.repo.repo,
labels: ['autoupdate']
})
})
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,11 @@ jobs:
script: |
const labelToRemove = 'ready-to-merge';
const labels = context.payload.pull_request.labels;
const isLabelPresent = labels.some(label => label.name === labelToRemove)
if(!isLabelPresent) return;
github.rest.issues.removeLabel({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
name: labelToRemove
})
})
104 changes: 51 additions & 53 deletions .github/workflows/issues-prs-notifications.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
name: Notify slack

on:

issues:
types: [opened, reopened]

Expand All @@ -16,57 +15,56 @@ on:
types: [created]

jobs:
issue:
if: github.event_name == 'issues' && github.actor != 'asyncapi-bot' && github.actor != 'dependabot[bot]' && github.actor != 'dependabot-preview[bot]'
name: Notify slack on every new issue
runs-on: ubuntu-latest
steps:
- name: Convert markdown to slack markdown for issue
uses: LoveToKnow/[email protected]
id: issuemarkdown
with:
text: "[${{github.event.issue.title}}](${{github.event.issue.html_url}}) \n ${{github.event.issue.body}}"
- name: Send info about issue
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{secrets.SLACK_GITHUB_NEWISSUEPR}}
SLACK_TITLE: 🐛 New Issue in ${{github.repository}} 🐛
SLACK_MESSAGE: ${{steps.issuemarkdown.outputs.text}}
MSG_MINIMAL: true

issue:
if: github.event_name == 'issues' && github.actor != 'asyncapi-bot' && github.actor != 'dependabot[bot]' && github.actor != 'dependabot-preview[bot]'
name: Notify slack on every new issue
runs-on: ubuntu-latest
steps:
- name: Convert markdown to slack markdown for issue
uses: LoveToKnow/[email protected]
id: issuemarkdown
with:
text: "[${{github.event.issue.title}}](${{github.event.issue.html_url}}) \n ${{github.event.issue.body}}"
- name: Send info about issue
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{secrets.SLACK_GITHUB_NEWISSUEPR}}
SLACK_TITLE: 🐛 New Issue in ${{github.repository}} 🐛
SLACK_MESSAGE: ${{steps.issuemarkdown.outputs.text}}
MSG_MINIMAL: true
pull_request:
if: github.event_name == 'pull_request_target' && github.actor != 'asyncapi-bot' && github.actor != 'dependabot[bot]' && github.actor != 'dependabot-preview[bot]'
name: Notify slack on every new pull request
runs-on: ubuntu-latest
steps:
- name: Convert markdown to slack markdown for pull request
uses: LoveToKnow/[email protected]
id: prmarkdown
with:
text: "[${{github.event.pull_request.title}}](${{github.event.pull_request.html_url}}) \n ${{github.event.pull_request.body}}"
- name: Send info about pull request
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{secrets.SLACK_GITHUB_NEWISSUEPR}}
SLACK_TITLE: 💪 New Pull Request in ${{github.repository}} 💪
SLACK_MESSAGE: ${{steps.prmarkdown.outputs.text}}
MSG_MINIMAL: true

pull_request:
if: github.event_name == 'pull_request_target' && github.actor != 'asyncapi-bot' && github.actor != 'dependabot[bot]' && github.actor != 'dependabot-preview[bot]'
name: Notify slack on every new pull request
runs-on: ubuntu-latest
steps:
- name: Convert markdown to slack markdown for pull request
uses: LoveToKnow/[email protected]
id: prmarkdown
with:
text: "[${{github.event.pull_request.title}}](${{github.event.pull_request.html_url}}) \n ${{github.event.pull_request.body}}"
- name: Send info about pull request
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{secrets.SLACK_GITHUB_NEWISSUEPR}}
SLACK_TITLE: 💪 New Pull Request in ${{github.repository}} 💪
SLACK_MESSAGE: ${{steps.prmarkdown.outputs.text}}
MSG_MINIMAL: true

discussion:
if: github.event_name == 'discussion' && github.actor != 'asyncapi-bot' && github.actor != 'dependabot[bot]' && github.actor != 'dependabot-preview[bot]'
name: Notify slack on every new pull request
runs-on: ubuntu-latest
steps:
- name: Convert markdown to slack markdown for pull request
uses: LoveToKnow/[email protected]
id: discussionmarkdown
with:
text: "[${{github.event.discussion.title}}](${{github.event.discussion.html_url}}) \n ${{github.event.discussion.body}}"
- name: Send info about pull request
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{secrets.SLACK_GITHUB_NEWISSUEPR}}
SLACK_TITLE: 💬 New Discussion in ${{github.repository}} 💬
SLACK_MESSAGE: ${{steps.discussionmarkdown.outputs.text}}
MSG_MINIMAL: true
discussion:
if: github.event_name == 'discussion' && github.actor != 'asyncapi-bot' && github.actor != 'dependabot[bot]' && github.actor != 'dependabot-preview[bot]'
name: Notify slack on every new pull request
runs-on: ubuntu-latest
steps:
- name: Convert markdown to slack markdown for pull request
uses: LoveToKnow/[email protected]
id: discussionmarkdown
with:
text: "[${{github.event.discussion.title}}](${{github.event.discussion.html_url}}) \n ${{github.event.discussion.body}}"
- name: Send info about pull request
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{secrets.SLACK_GITHUB_NEWISSUEPR}}
SLACK_TITLE: 💬 New Discussion in ${{github.repository}} 💬
SLACK_MESSAGE: ${{steps.discussionmarkdown.outputs.text}}
MSG_MINIMAL: true
38 changes: 19 additions & 19 deletions .github/workflows/link-check-cron.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,30 +8,30 @@ on:
schedule:
# At 00:00 UTC on every Monday
- cron: '0 0 * * 0'

jobs:
External-link-validation-weekly:
if: startsWith(github.repository, 'asyncapi/')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v3

# Checks the status of hyperlinks in .md files
- name: Check links
uses: gaurav-nelson/github-action-markdown-link-check@0a51127e9955b855a9bbfa1ff5577f1d1338c9a5 #1.0.14 but pointing to commit for security reasons
with:
use-quiet-mode: 'yes'
use-verbose-mode: 'yes'

# Checks the status of hyperlinks in .md files
- name: Check links
uses: gaurav-nelson/github-action-markdown-link-check@0a51127e9955b855a9bbfa1ff5577f1d1338c9a5 #1.0.14 but pointing to commit for security reasons
with:
use-quiet-mode: 'yes'
use-verbose-mode: 'yes'

# A configuration file can be included, indicating the properties of the link check action
# More information can be found here: https://github.com/tcort/markdown-link-check#config-file-format
# Create mlc_config.json file in the root of the directory
# A configuration file can be included, indicating the properties of the link check action
# More information can be found here: https://github.com/tcort/markdown-link-check#config-file-format
# Create mlc_config.json file in the root of the directory

- name: Report workflow run status to Slack
uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
fields: repo,action,workflow
env:
- name: Report workflow run status to Slack
uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
fields: repo,action,workflow
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CI_FAIL_NOTIFY }}
if: failure() # Only, on failure, send a message on the 94_bot-failing-ci slack channel
if: failure() # Only, on failure, send a message on the 94_bot-failing-ci slack channel
27 changes: 14 additions & 13 deletions .github/workflows/link-check-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

name: Check Markdown links

on:
on:
pull_request_target:
types: [synchronize, ready_for_review, opened, reopened]
paths:
Expand All @@ -13,15 +13,16 @@ jobs:
External-link-validation-on-PR:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Check links
uses: gaurav-nelson/github-action-markdown-link-check@0a51127e9955b855a9bbfa1ff5577f1d1338c9a5 #1.0.14 but pointing to commit for security reasons
with:
use-quiet-mode: 'yes'
use-verbose-mode: 'yes'
check-modified-files-only: 'yes' # Only modified files are checked on PRs

# A configuration file can be included, indicating the properties of the link check action
# More information can be found here: https://github.com/tcort/markdown-link-check#config-file-format
# Create mlc_config.json file in the root of the directory
- name: Checkout repo
uses: actions/checkout@v3
- name: Check links
uses: gaurav-nelson/github-action-markdown-link-check@0a51127e9955b855a9bbfa1ff5577f1d1338c9a5 #1.0.14 but pointing to commit for security reasons
with:
use-quiet-mode: 'yes'
use-verbose-mode: 'yes'
check-modified-files-only: 'yes' # Only modified files are checked on PRs


# A configuration file can be included, indicating the properties of the link check action
# More information can be found here: https://github.com/tcort/markdown-link-check#config-file-format
# Create mlc_config.json file in the root of the directory
36 changes: 17 additions & 19 deletions .github/workflows/lint-pr-title.yml
Original file line number Diff line number Diff line change
@@ -1,49 +1,47 @@
# This action is centrally managed in https://github.com/asyncapi/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in above mentioned repo



name: Lint PR title

on:
pull_request_target:
types: [opened, reopened, synchronize, edited, ready_for_review]

jobs:
lint-pr-title:
name: Lint PR title
runs-on: ubuntu-latest
steps:
name: Lint PR title
runs-on: ubuntu-latest
steps:
# Since this workflow is REQUIRED for a PR to be mergable, we have to have this 'if' statement in step level instead of job level.
- if: ${{ !contains(fromJson('["asyncapi-bot", "dependabot[bot]", "dependabot-preview[bot]", "allcontributors"]'), github.actor) }}
uses: amannn/action-semantic-pull-request@505e44b4f33b4c801f063838b3f053990ee46ea7 #version 4.6.0
uses: amannn/action-semantic-pull-request@505e44b4f33b4c801f063838b3f053990ee46ea7 #version 4.6.0
id: lint_pr_title
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN}}
with:
subjectPattern: ^(?![A-Z]).+$
subjectPatternError: |
The subject "{subject}" found in the pull request title "{title}" should start with a lowercase character.
# Comments the error message from the above lint_pr_title action
# Comments the error message from the above lint_pr_title action
- if: ${{ always() && steps.lint_pr_title.outputs.error_message != null && !contains(fromJson('["asyncapi-bot", "dependabot[bot]", "dependabot-preview[bot]", "allcontributors"]'), github.actor)}}
name: Comment on PR
uses: marocchino/sticky-pull-request-comment@39c5b5dc7717447d0cba270cd115037d32d28443 #version 2.2
uses: marocchino/sticky-pull-request-comment@39c5b5dc7717447d0cba270cd115037d32d28443 #version 2.2
with:
header: pr-title-lint-error
GITHUB_TOKEN: ${{ secrets.GH_TOKEN}}
message: |
We require all PRs to follow [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/).
More details 👇🏼
```
${{ steps.lint_pr_title.outputs.error_message}}
```
# deletes the error comment if the title is correct
We require all PRs to follow [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/).
More details 👇🏼
```
${{ steps.lint_pr_title.outputs.error_message}}
```
# deletes the error comment if the title is correct
- if: ${{ steps.lint_pr_title.outputs.error_message == null }}
name: delete the comment
uses: marocchino/sticky-pull-request-comment@39c5b5dc7717447d0cba270cd115037d32d28443 #version 2.2
with:
uses: marocchino/sticky-pull-request-comment@39c5b5dc7717447d0cba270cd115037d32d28443 #version 2.2
with:
header: pr-title-lint-error
delete: true
GITHUB_TOKEN: ${{ secrets.GH_TOKEN}}
Loading

0 comments on commit 174c974

Please sign in to comment.