Skip to content
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

ci: update generic workflows #866

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
166 changes: 164 additions & 2 deletions .github/workflows/notify-tsc-members-mention.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# 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

# This action notifies community on slack whenever there is a new issue, PR or discussion started in given repository
name: Notify slack whenever TSC members are mentioned in GitHub
name: Notify slack and email subscribers whenever TSC members are mentioned in GitHub

on:
issue_comment:
Expand Down Expand Up @@ -38,6 +38,9 @@ jobs:
name: TSC notification on every new issue
runs-on: ubuntu-latest
steps:
#########
# Handling Slack notifications
#########
- name: Convert markdown to slack markdown
uses: LoveToKnow/[email protected]
id: issuemarkdown
Expand All @@ -50,12 +53,39 @@ jobs:
SLACK_TITLE: 🆘 New issue that requires TSC Members attention 🆘
SLACK_MESSAGE: ${{steps.issuemarkdown.outputs.text}}
MSG_MINIMAL: true
#########
# Handling Mailchimp notifications
#########
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: 16
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- name: Install deps
run: npm install
working-directory: ./.github/workflows/scripts/mailchimp
- name: Send email with MailChimp
uses: actions/github-script@v4
env:
CALENDAR_ID: ${{ secrets.CALENDAR_ID }}
CALENDAR_SERVICE_ACCOUNT: ${{ secrets.CALENDAR_SERVICE_ACCOUNT }}
MAILCHIMP_API_KEY: ${{ secrets.MAILCHIMP_API_KEY }}
with:
script: |
const sendEmail = require('./.github/workflows/scripts/mailchimp/index.js');
sendEmail('${{github.event.issue.html_url}}');

pull_request:
if: github.event_name == 'pull_request_target' && contains(github.event.pull_request.body, '@asyncapi/tsc_members')
name: TSC notification on every new pull request
runs-on: ubuntu-latest
steps:
#########
# Handling Slack notifications
#########
- name: Convert markdown to slack markdown
uses: LoveToKnow/[email protected]
id: prmarkdown
Expand All @@ -68,12 +98,39 @@ jobs:
SLACK_TITLE: 🆘 New PR that requires TSC Members attention 🆘
SLACK_MESSAGE: ${{steps.prmarkdown.outputs.text}}
MSG_MINIMAL: true
#########
# Handling Mailchimp notifications
#########
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: 16
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- name: Install deps
run: npm install
working-directory: ./.github/workflows/scripts/mailchimp
- name: Send email with MailChimp
uses: actions/github-script@v4
env:
CALENDAR_ID: ${{ secrets.CALENDAR_ID }}
CALENDAR_SERVICE_ACCOUNT: ${{ secrets.CALENDAR_SERVICE_ACCOUNT }}
MAILCHIMP_API_KEY: ${{ secrets.MAILCHIMP_API_KEY }}
with:
script: |
const sendEmail = require('./.github/workflows/scripts/mailchimp/index.js');
sendEmail('${{github.event.pull_request.html_url}}');

discussion:
if: github.event_name == 'discussion' && contains(github.event.discussion.body, '@asyncapi/tsc_members')
name: TSC notification on every new discussion
runs-on: ubuntu-latest
steps:
#########
# Handling Slack notifications
#########
- name: Convert markdown to slack markdown
uses: LoveToKnow/[email protected]
id: discussionmarkdown
Expand All @@ -86,12 +143,39 @@ jobs:
SLACK_TITLE: 🆘 New discussion that requires TSC Members attention 🆘
SLACK_MESSAGE: ${{steps.discussionmarkdown.outputs.text}}
MSG_MINIMAL: true
#########
# Handling Mailchimp notifications
#########
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: 16
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- name: Install deps
run: npm install
working-directory: ./.github/workflows/scripts/mailchimp
- name: Send email with MailChimp
uses: actions/github-script@v4
env:
CALENDAR_ID: ${{ secrets.CALENDAR_ID }}
CALENDAR_SERVICE_ACCOUNT: ${{ secrets.CALENDAR_SERVICE_ACCOUNT }}
MAILCHIMP_API_KEY: ${{ secrets.MAILCHIMP_API_KEY }}
with:
script: |
const sendEmail = require('./.github/workflows/scripts/mailchimp/index.js');
sendEmail('${{github.event.discussion.html_url}}');

issue_comment:
if: ${{ github.event_name == 'issue_comment' && !github.event.issue.pull_request && contains(github.event.comment.body, '@asyncapi/tsc_members') }}
name: TSC notification on every new comment in issue
runs-on: ubuntu-latest
steps:
#########
# Handling Slack notifications
#########
- name: Convert markdown to slack markdown
uses: LoveToKnow/[email protected]
id: issuemarkdown
Expand All @@ -104,12 +188,39 @@ jobs:
SLACK_TITLE: 🆘 New comment under existing issue that requires TSC Members attention 🆘
SLACK_MESSAGE: ${{steps.issuemarkdown.outputs.text}}
MSG_MINIMAL: true
#########
# Handling Mailchimp notifications
#########
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: 16
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- name: Install deps
run: npm install
working-directory: ./.github/workflows/scripts/mailchimp
- name: Send email with MailChimp
uses: actions/github-script@v4
env:
CALENDAR_ID: ${{ secrets.CALENDAR_ID }}
CALENDAR_SERVICE_ACCOUNT: ${{ secrets.CALENDAR_SERVICE_ACCOUNT }}
MAILCHIMP_API_KEY: ${{ secrets.MAILCHIMP_API_KEY }}
with:
script: |
const sendEmail = require('./.github/workflows/scripts/mailchimp/index.js');
sendEmail('${{github.event.comment.html_url}}');

pr_comment:
if: github.event_name == 'issue_comment' && github.event.issue.pull_request && contains(github.event.comment.body, '@asyncapi/tsc_members')
name: TSC notification on every new comment in pr
runs-on: ubuntu-latest
steps:
#########
# Handling Slack notifications
#########
- name: Convert markdown to slack markdown
uses: LoveToKnow/[email protected]
id: prmarkdown
Expand All @@ -122,12 +233,39 @@ jobs:
SLACK_TITLE: 🆘 New comment under existing PR that requires TSC Members attention 🆘
SLACK_MESSAGE: ${{steps.prmarkdown.outputs.text}}
MSG_MINIMAL: true
#########
# Handling Mailchimp notifications
#########
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: 16
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- name: Install deps
run: npm install
working-directory: ./.github/workflows/scripts/mailchimp
- name: Send email with MailChimp
uses: actions/github-script@v4
env:
CALENDAR_ID: ${{ secrets.CALENDAR_ID }}
CALENDAR_SERVICE_ACCOUNT: ${{ secrets.CALENDAR_SERVICE_ACCOUNT }}
MAILCHIMP_API_KEY: ${{ secrets.MAILCHIMP_API_KEY }}
with:
script: |
const sendEmail = require('./.github/workflows/scripts/mailchimp/index.js');
sendEmail('${{github.event.comment.html_url}}');

discussion_comment:
if: github.event_name == 'discussion_comment' && contains(github.event.comment.body, '@asyncapi/tsc_members')
name: TSC notification on every new comment in discussion
runs-on: ubuntu-latest
steps:
#########
# Handling Slack notifications
#########
- name: Convert markdown to slack markdown
uses: LoveToKnow/[email protected]
id: discussionmarkdown
Expand All @@ -139,4 +277,28 @@ jobs:
SLACK_WEBHOOK: ${{secrets.SLACK_TSC_MEMBERS_NOTIFY}}
SLACK_TITLE: 🆘 New comment under existing discussion that requires TSC Members attention 🆘
SLACK_MESSAGE: ${{steps.discussionmarkdown.outputs.text}}
MSG_MINIMAL: true
MSG_MINIMAL: true
#########
# Handling Mailchimp notifications
#########
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: 16
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- name: Install deps
run: npm install
working-directory: ./.github/workflows/scripts/mailchimp
- name: Send email with MailChimp
uses: actions/github-script@v4
env:
CALENDAR_ID: ${{ secrets.CALENDAR_ID }}
CALENDAR_SERVICE_ACCOUNT: ${{ secrets.CALENDAR_SERVICE_ACCOUNT }}
MAILCHIMP_API_KEY: ${{ secrets.MAILCHIMP_API_KEY }}
with:
script: |
const sendEmail = require('./.github/workflows/scripts/mailchimp/index.js');
sendEmail('${{github.event.comment.html_url}}');
1 change: 1 addition & 0 deletions .github/workflows/scripts/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The entire `scripts` directory is centrally managed in [.github](https:/asyncapi/.github/) repository. Any changes in this folder should be done in central repository.
Loading