@asyncapi/converter 0.9.0 β†’ 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +96 -21
  2. package/lib/convert.d.ts +3 -0
  3. package/lib/convert.js +192 -0
  4. package/lib/index.d.ts +2 -0
  5. package/lib/index.js +5 -212
  6. package/lib/interfaces.d.ts +6 -0
  7. package/lib/interfaces.js +2 -0
  8. package/lib/utils.d.ts +21 -0
  9. package/lib/utils.js +114 -0
  10. package/package.json +24 -12
  11. package/.github/workflows/add-good-first-issue-labels.yml +0 -68
  12. package/.github/workflows/automerge-for-humans-add-ready-to-merge-or-do-not-merge-label.yml +0 -54
  13. package/.github/workflows/automerge-for-humans-merging.yml +0 -32
  14. package/.github/workflows/automerge-for-humans-remove-ready-to-merge-label-on-edit.yml +0 -35
  15. package/.github/workflows/automerge-orphans.yml +0 -63
  16. package/.github/workflows/automerge.yml +0 -50
  17. package/.github/workflows/autoupdate.yml +0 -32
  18. package/.github/workflows/bump.yml +0 -33
  19. package/.github/workflows/help-command.yml +0 -43
  20. package/.github/workflows/if-go-pr-testing.yml +0 -68
  21. package/.github/workflows/if-nodejs-pr-testing.yml +0 -60
  22. package/.github/workflows/if-nodejs-release.yml +0 -85
  23. package/.github/workflows/if-nodejs-version-bump.yml +0 -48
  24. package/.github/workflows/issues-prs-notifications.yml +0 -72
  25. package/.github/workflows/lint-pr-title.yml +0 -22
  26. package/.github/workflows/notify-tsc-members-mention.yml +0 -142
  27. package/.github/workflows/release-announcements.yml +0 -76
  28. package/.github/workflows/sentiment-analysis.yml +0 -44
  29. package/.github/workflows/stale-issues-prs.yml +0 -42
  30. package/.github/workflows/welcome-first-time-contrib.yml +0 -83
  31. package/CODEOWNERS +0 -8
  32. package/cli.js +0 -66
  33. package/lib/helpers.js +0 -109
  34. package/test/index.js +0 -257
  35. package/test/input/1.0.0/streetlights.yml +0 -120
  36. package/test/input/1.1.0/streetlights.yml +0 -120
  37. package/test/input/1.2.0/gitter-streaming.yml +0 -140
  38. package/test/input/1.2.0/slack-rtm.yml +0 -876
  39. package/test/input/1.2.0/streetlights.yml +0 -120
  40. package/test/input/2.0.0/streetlights.json +0 -172
  41. package/test/input/2.0.0/streetlights.yml +0 -112
  42. package/test/input/2.0.0-rc1/streetlights.yml +0 -109
  43. package/test/input/2.0.0-rc2/streetlights.yml +0 -112
  44. package/test/input/2.1.0/streetlights.yml +0 -112
  45. package/test/input/2.2.0/streetlights.yml +0 -112
  46. package/test/output/2.0.0/gitter-streaming.yml +0 -137
  47. package/test/output/2.0.0/slack-rtm.yml +0 -879
  48. package/test/output/2.0.0/streetlights.yml +0 -112
  49. package/test/output/2.0.0-rc1/gitter-streaming.yml +0 -137
  50. package/test/output/2.0.0-rc1/slack-rtm.yml +0 -879
  51. package/test/output/2.0.0-rc1/streetlights.yml +0 -109
  52. package/test/output/2.0.0-rc2/gitter-streaming.yml +0 -137
  53. package/test/output/2.0.0-rc2/slack-rtm.yml +0 -879
  54. package/test/output/2.0.0-rc2/streetlights.yml +0 -112
  55. package/test/output/2.1.0/streetlights.json +0 -172
  56. package/test/output/2.1.0/streetlights.yml +0 -112
  57. package/test/output/2.2.0/streetlights.yml +0 -112
  58. package/test/output/2.3.0/streetlights.yml +0 -112
@@ -1,60 +0,0 @@
1
- #This action is centrally managed in https://github.com/asyncapi/.github/
2
- #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
3
- #It does magic only if there is package.json file in the root of the project
4
- name: PR testing - if Node project
5
-
6
- on:
7
- pull_request:
8
- types: [opened, reopened, synchronize, ready_for_review]
9
-
10
- jobs:
11
- test:
12
- name: ${{ matrix.os }}
13
- runs-on: ${{ matrix.os }}
14
- strategy:
15
- matrix:
16
- os: [ubuntu-latest, macos-latest, windows-latest]
17
- steps:
18
- - if: "github.event.pull_request.draft == false &&!((github.actor == 'asyncapi-bot' && startsWith(github.event.pull_request.title, 'ci: update global workflows')) || (github.actor == 'asyncapi-bot' && startsWith(github.event.pull_request.title, 'chore(release):')) || (github.actor == 'allcontributors' && startsWith(github.event.pull_request.title, 'docs: add')))"
19
- id: should_run
20
- name: Should Run
21
- run: echo "::set-output name=shouldrun::true"
22
- - if: steps.should_run.outputs.shouldrun == 'true'
23
- name: Set git to use LF #to once and for all finish neverending fight between Unix and Windows
24
- run: |
25
- git config --global core.autocrlf false
26
- git config --global core.eol lf
27
- - if: steps.should_run.outputs.shouldrun == 'true'
28
- name: Checkout repository
29
- uses: actions/checkout@v2
30
- - if: steps.should_run.outputs.shouldrun == 'true'
31
- name: Check if Node.js project and has package.json
32
- id: packagejson
33
- run: test -e ./package.json && echo "::set-output name=exists::true" || echo "::set-output name=exists::false"
34
- shell: bash
35
- - if: steps.packagejson.outputs.exists == 'true'
36
- name: Setup Node.js
37
- uses: actions/setup-node@v2
38
- with:
39
- node-version: 14
40
- cache: 'npm'
41
- cache-dependency-path: '**/package-lock.json'
42
- - if: steps.packagejson.outputs.exists == 'true'
43
- name: Install dependencies
44
- id: first-installation
45
- run: npm install --loglevel verbose
46
- continue-on-error: true
47
- - if: steps.first-installation.outputs.status == 'failure' && steps.packagejson.outputs.exists == 'true'
48
- name: Clear NPM cache and install deps again
49
- run: |
50
- npm cache clean --force
51
- npm install --loglevel verbose
52
- - if: steps.packagejson.outputs.exists == 'true'
53
- name: Test
54
- run: npm test
55
- - if: steps.packagejson.outputs.exists == 'true'
56
- name: Run linter
57
- run: npm run lint
58
- - if: steps.packagejson.outputs.exists == 'true'
59
- name: Run release assets generation to make sure PR does not break it
60
- run: npm run generate:assets
@@ -1,85 +0,0 @@
1
- #This action is centrally managed in https://github.com/asyncapi/.github/
2
- #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
3
- #It does magic only if there is package.json file in the root of the project
4
- name: Release - if Node project
5
-
6
- on:
7
- push:
8
- branches:
9
- - master
10
- # below lines are not enough to have release supported for these branches
11
- # make sure configuration of `semantic-release` package mentiones these branches
12
- - next
13
- - next-major
14
- - beta
15
- - alpha
16
- - '**-release' # custom
17
-
18
- jobs:
19
-
20
- test:
21
- name: Test on ${{ matrix.os }}
22
- runs-on: ${{ matrix.os }}
23
- strategy:
24
- matrix:
25
- os: [ubuntu-latest, macos-latest, windows-latest]
26
- steps:
27
- - name: Set git to use LF #to once and for all finish neverending fight between Unix and Windows
28
- run: |
29
- git config --global core.autocrlf false
30
- git config --global core.eol lf
31
- - name: Checkout repository
32
- uses: actions/checkout@v2
33
- - name: Check if Node.js project and has package.json
34
- id: packagejson
35
- run: test -e ./package.json && echo "::set-output name=exists::true" || echo "::set-output name=exists::false"
36
- shell: bash
37
- - if: steps.packagejson.outputs.exists == 'true'
38
- name: Setup Node.js
39
- uses: actions/setup-node@v2
40
- with:
41
- node-version: 14
42
- cache: 'npm'
43
- cache-dependency-path: '**/package-lock.json'
44
- - if: steps.packagejson.outputs.exists == 'true'
45
- name: Install dependencies
46
- run: npm install
47
- - if: steps.packagejson.outputs.exists == 'true'
48
- name: Run test
49
- run: npm test
50
-
51
- release:
52
- needs: test
53
- name: Publish to any of NPM, Github, and Docker Hub
54
- runs-on: ubuntu-latest
55
- steps:
56
- - name: Set git to use LF #to once and for all finish neverending fight between Unix and Windows
57
- run: |
58
- git config --global core.autocrlf false
59
- git config --global core.eol lf
60
- - name: Checkout repository
61
- uses: actions/checkout@v2
62
- - name: Check if Node.js project and has package.json
63
- id: packagejson
64
- run: test -e ./package.json && echo "::set-output name=exists::true" || echo "::set-output name=exists::false"
65
- - if: steps.packagejson.outputs.exists == 'true'
66
- name: Setup Node.js
67
- uses: actions/setup-node@v1
68
- with:
69
- node-version: 14
70
- - if: steps.packagejson.outputs.exists == 'true'
71
- name: Install dependencies
72
- run: npm install
73
- - if: steps.packagejson.outputs.exists == 'true'
74
- name: Publish to any of NPM, Github, and Docker Hub
75
- id: release
76
- env:
77
- GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
78
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
79
- DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
80
- DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
81
- GIT_AUTHOR_NAME: asyncapi-bot
82
- GIT_AUTHOR_EMAIL: info@asyncapi.io
83
- GIT_COMMITTER_NAME: asyncapi-bot
84
- GIT_COMMITTER_EMAIL: info@asyncapi.io
85
- run: npm run release
@@ -1,48 +0,0 @@
1
- #This action is centrally managed in https://github.com/asyncapi/.github/
2
- #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
3
- #It does magic only if there is package.json file in the root of the project
4
- name: Version bump - if Node.js project
5
-
6
- on:
7
- release:
8
- types:
9
- - published
10
-
11
- jobs:
12
- version_bump:
13
- name: Generate assets and bump
14
- runs-on: ubuntu-latest
15
- steps:
16
- - name: Checkout repository
17
- uses: actions/checkout@v2
18
- with:
19
- # target branch of release. More info https://docs.github.com/en/rest/reference/repos#releases
20
- # in case release is created from release branch then we need to checkout from given branch
21
- # if @semantic-release/github is used to publish, the minimum version is 7.2.0 for proper working
22
- ref: ${{ github.event.release.target_commitish }}
23
- - name: Check if Node.js project and has package.json
24
- id: packagejson
25
- run: test -e ./package.json && echo "::set-output name=exists::true" || echo "::set-output name=exists::false"
26
- - if: steps.packagejson.outputs.exists == 'true'
27
- name: Install dependencies
28
- run: npm install
29
- - if: steps.packagejson.outputs.exists == 'true'
30
- name: Assets generation
31
- run: npm run generate:assets
32
- - if: steps.packagejson.outputs.exists == 'true'
33
- name: Bump version in package.json
34
- # There is no need to substract "v" from the tag as version script handles it
35
- # When adding "bump:version" script in package.json, make sure no tags are added by default (--no-git-tag-version) as they are already added by release workflow
36
- # When adding "bump:version" script in package.json, make sure --allow-same-version is set in case someone forgot and updated package.json manually and we want to avoide this action to fail and raise confusion
37
- run: VERSION=${{github.event.release.tag_name}} npm run bump:version
38
- - if: steps.packagejson.outputs.exists == 'true'
39
- name: Create Pull Request with updated asset files including package.json
40
- uses: peter-evans/create-pull-request@v3
41
- with:
42
- token: ${{ secrets.GH_TOKEN }}
43
- commit-message: 'chore(release): ${{github.event.release.tag_name}}'
44
- committer: asyncapi-bot <info@asyncapi.io>
45
- author: asyncapi-bot <info@asyncapi.io>
46
- title: 'chore(release): ${{github.event.release.tag_name}}'
47
- body: 'Version bump in package.json for release [${{github.event.release.tag_name}}](${{github.event.release.html_url}})'
48
- branch: version-bump/${{github.event.release.tag_name}}
@@ -1,72 +0,0 @@
1
- #This action is centrally managed in https://github.com/asyncapi/.github/
2
- #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
3
-
4
- #This action notifies community on slack whenever there is a new issue, PR or discussion started in given repository
5
- name: Notify slack
6
-
7
- on:
8
-
9
- issues:
10
- types: [opened, reopened]
11
-
12
- pull_request_target:
13
- types: [opened, reopened, ready_for_review]
14
-
15
- discussion:
16
- types: [created]
17
-
18
- jobs:
19
-
20
- issue:
21
- if: github.event_name == 'issues' && github.actor != 'asyncapi-bot' && github.actor != 'dependabot[bot]' && github.actor != 'dependabot-preview[bot]'
22
- name: On every new issue
23
- runs-on: ubuntu-latest
24
- steps:
25
- - name: Convert markdown to slack markdown for issue
26
- uses: LoveToKnow/slackify-markdown-action@v1.0.0
27
- id: issuemarkdown
28
- with:
29
- text: "[${{github.event.issue.title}}](${{github.event.issue.html_url}}) \n ${{github.event.issue.body}}"
30
- - name: Send info about issue
31
- uses: rtCamp/action-slack-notify@v2
32
- env:
33
- SLACK_WEBHOOK: ${{secrets.SLACK_GITHUB_NEWISSUEPR}}
34
- SLACK_TITLE: πŸ› New Issue πŸ›
35
- SLACK_MESSAGE: ${{steps.issuemarkdown.outputs.text}}
36
- MSG_MINIMAL: true
37
-
38
- pull_request:
39
- if: github.event_name == 'pull_request_target' && github.actor != 'asyncapi-bot' && github.actor != 'dependabot[bot]' && github.actor != 'dependabot-preview[bot]'
40
- name: On every new pull request
41
- runs-on: ubuntu-latest
42
- steps:
43
- - name: Convert markdown to slack markdown for pull request
44
- uses: LoveToKnow/slackify-markdown-action@v1.0.0
45
- id: prmarkdown
46
- with:
47
- text: "[${{github.event.pull_request.title}}](${{github.event.pull_request.html_url}}) \n ${{github.event.pull_request.body}}"
48
- - name: Send info about pull request
49
- uses: rtCamp/action-slack-notify@v2
50
- env:
51
- SLACK_WEBHOOK: ${{secrets.SLACK_GITHUB_NEWISSUEPR}}
52
- SLACK_TITLE: πŸ’ͺ New Pull Request πŸ’ͺ
53
- SLACK_MESSAGE: ${{steps.prmarkdown.outputs.text}}
54
- MSG_MINIMAL: true
55
-
56
- discussion:
57
- if: github.event_name == 'discussion' && github.actor != 'asyncapi-bot' && github.actor != 'dependabot[bot]' && github.actor != 'dependabot-preview[bot]'
58
- name: On every new pull request
59
- runs-on: ubuntu-latest
60
- steps:
61
- - name: Convert markdown to slack markdown for pull request
62
- uses: LoveToKnow/slackify-markdown-action@v1.0.0
63
- id: discussionmarkdown
64
- with:
65
- text: "[${{github.event.discussion.title}}](${{github.event.discussion.html_url}}) \n ${{github.event.discussion.body}}"
66
- - name: Send info about pull request
67
- uses: rtCamp/action-slack-notify@v2
68
- env:
69
- SLACK_WEBHOOK: ${{secrets.SLACK_GITHUB_NEWISSUEPR}}
70
- SLACK_TITLE: πŸ’¬ New Discussion πŸ’¬
71
- SLACK_MESSAGE: ${{steps.discussionmarkdown.outputs.text}}
72
- MSG_MINIMAL: true
@@ -1,22 +0,0 @@
1
- #This action is centrally managed in https://github.com/asyncapi/.github/
2
- #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
3
-
4
- name: Lint PR title
5
-
6
- on:
7
-
8
- pull_request_target:
9
- types: [opened, reopened, synchronize, edited, ready_for_review]
10
-
11
- jobs:
12
-
13
- lint:
14
- runs-on: ubuntu-latest
15
- steps:
16
- - uses: amannn/action-semantic-pull-request@v3.2.5
17
- env:
18
- GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
19
- with:
20
- subjectPattern: ^(?![A-Z]).+$
21
- subjectPatternError: |
22
- The subject "{subject}" found in the pull request title "{title}" should start with a lowercase character.
@@ -1,142 +0,0 @@
1
- #This action is centrally managed in https://github.com/asyncapi/.github/
2
- #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
3
-
4
- #This action notifies community on slack whenever there is a new issue, PR or discussion started in given repository
5
- name: Notify slack whenever TSC members are mentioned in GitHub
6
-
7
- on:
8
- issue_comment:
9
- types:
10
- - created
11
- - edited
12
-
13
- discussion_comment:
14
- types:
15
- - created
16
- - edited
17
-
18
- issues:
19
- types:
20
- - opened
21
- - reopened
22
-
23
- pull_request_target:
24
- types:
25
- - opened
26
- - reopened
27
- - ready_for_review
28
-
29
- discussion:
30
- types:
31
- - created
32
- - edited
33
-
34
- jobs:
35
-
36
- issue:
37
- if: github.event_name == 'issues' && contains(github.event.issue.body, '@asyncapi/tsc_members')
38
- name: On every new issue
39
- runs-on: ubuntu-latest
40
- steps:
41
- - name: Convert markdown to slack markdown
42
- uses: LoveToKnow/slackify-markdown-action@v1.0.0
43
- id: issuemarkdown
44
- with:
45
- text: "[${{github.event.issue.title}}](${{github.event.issue.html_url}}) \n ${{github.event.issue.body}}"
46
- - name: Send info about issue
47
- uses: rtCamp/action-slack-notify@v2
48
- env:
49
- SLACK_WEBHOOK: ${{secrets.SLACK_TSC_MEMBERS_NOTIFY}}
50
- SLACK_TITLE: πŸ†˜ New issue that requires TSC Members attention πŸ†˜
51
- SLACK_MESSAGE: ${{steps.issuemarkdown.outputs.text}}
52
- MSG_MINIMAL: true
53
-
54
- pull_request:
55
- if: github.event_name == 'pull_request_target' && contains(github.event.pull_request.body, '@asyncapi/tsc_members')
56
- name: On every new pull request
57
- runs-on: ubuntu-latest
58
- steps:
59
- - name: Convert markdown to slack markdown
60
- uses: LoveToKnow/slackify-markdown-action@v1.0.0
61
- id: prmarkdown
62
- with:
63
- text: "[${{github.event.pull_request.title}}](${{github.event.pull_request.html_url}}) \n ${{github.event.pull_request.body}}"
64
- - name: Send info about pull request
65
- uses: rtCamp/action-slack-notify@v2
66
- env:
67
- SLACK_WEBHOOK: ${{secrets.SLACK_TSC_MEMBERS_NOTIFY}}
68
- SLACK_TITLE: πŸ†˜ New PR that requires TSC Members attention πŸ†˜
69
- SLACK_MESSAGE: ${{steps.prmarkdown.outputs.text}}
70
- MSG_MINIMAL: true
71
-
72
- discussion:
73
- if: github.event_name == 'discussion' && contains(github.event.discussion.body, '@asyncapi/tsc_members')
74
- name: On every new discussion
75
- runs-on: ubuntu-latest
76
- steps:
77
- - name: Convert markdown to slack markdown
78
- uses: LoveToKnow/slackify-markdown-action@v1.0.0
79
- id: discussionmarkdown
80
- with:
81
- text: "[${{github.event.discussion.title}}](${{github.event.discussion.html_url}}) \n ${{github.event.discussion.body}}"
82
- - name: Send info about pull request
83
- uses: rtCamp/action-slack-notify@v2
84
- env:
85
- SLACK_WEBHOOK: ${{secrets.SLACK_TSC_MEMBERS_NOTIFY}}
86
- SLACK_TITLE: πŸ†˜ New discussion that requires TSC Members attention πŸ†˜
87
- SLACK_MESSAGE: ${{steps.discussionmarkdown.outputs.text}}
88
- MSG_MINIMAL: true
89
-
90
- issue_comment:
91
- if: ${{ github.event_name == 'issue_comment' && !github.event.issue.pull_request && contains(github.event.comment.body, '@asyncapi/tsc_members') }}
92
- name: On every new comment in issue
93
- runs-on: ubuntu-latest
94
- steps:
95
- - name: Convert markdown to slack markdown
96
- uses: LoveToKnow/slackify-markdown-action@v1.0.0
97
- id: issuemarkdown
98
- with:
99
- text: "[${{github.event.issue.title}}](${{github.event.comment.html_url}}) \n ${{github.event.comment.body}}"
100
- - name: Send info about issue comment
101
- uses: rtCamp/action-slack-notify@v2
102
- env:
103
- SLACK_WEBHOOK: ${{secrets.SLACK_TSC_MEMBERS_NOTIFY}}
104
- SLACK_TITLE: πŸ†˜ New comment under existing issue that requires TSC Members attention πŸ†˜
105
- SLACK_MESSAGE: ${{steps.issuemarkdown.outputs.text}}
106
- MSG_MINIMAL: true
107
-
108
- pr_comment:
109
- if: github.event_name == 'issue_comment' && github.event.issue.pull_request && contains(github.event.comment.body, '@asyncapi/tsc_members')
110
- name: On every new comment in pr
111
- runs-on: ubuntu-latest
112
- steps:
113
- - name: Convert markdown to slack markdown
114
- uses: LoveToKnow/slackify-markdown-action@v1.0.0
115
- id: prmarkdown
116
- with:
117
- text: "[${{github.event.issue.title}}](${{github.event.comment.html_url}}) \n ${{github.event.comment.body}}"
118
- - name: Send info about PR comment
119
- uses: rtCamp/action-slack-notify@v2
120
- env:
121
- SLACK_WEBHOOK: ${{secrets.SLACK_TSC_MEMBERS_NOTIFY}}
122
- SLACK_TITLE: πŸ†˜ New comment under existing PR that requires TSC Members attention πŸ†˜
123
- SLACK_MESSAGE: ${{steps.prmarkdown.outputs.text}}
124
- MSG_MINIMAL: true
125
-
126
- discussion_comment:
127
- if: github.event_name == 'discussion_comment' && contains(github.event.comment.body, '@asyncapi/tsc_members')
128
- name: On every new comment in discussion
129
- runs-on: ubuntu-latest
130
- steps:
131
- - name: Convert markdown to slack markdown
132
- uses: LoveToKnow/slackify-markdown-action@v1.0.0
133
- id: discussionmarkdown
134
- with:
135
- text: "[${{github.event.discussion.title}}](${{github.event.comment.html_url}}) \n ${{github.event.comment.body}}"
136
- - name: Send info about discussion comment
137
- uses: rtCamp/action-slack-notify@v2
138
- env:
139
- SLACK_WEBHOOK: ${{secrets.SLACK_TSC_MEMBERS_NOTIFY}}
140
- SLACK_TITLE: πŸ†˜ New comment under existing discussion that requires TSC Members attention πŸ†˜
141
- SLACK_MESSAGE: ${{steps.discussionmarkdown.outputs.text}}
142
- MSG_MINIMAL: true
@@ -1,76 +0,0 @@
1
- #This action is centrally managed in https://github.com/asyncapi/.github/
2
- #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
3
- name: 'Announce releases in different channels'
4
-
5
- on:
6
- release:
7
- types:
8
- - published
9
-
10
- jobs:
11
-
12
- slack:
13
- name: Slack - notify on every release
14
- runs-on: ubuntu-latest
15
- steps:
16
- - name: Convert markdown to slack markdown for issue
17
- uses: LoveToKnow/slackify-markdown-action@v1.0.0
18
- id: markdown
19
- with:
20
- text: "[${{github.event.release.tag_name}}](${{github.event.release.html_url}}) \n ${{ github.event.release.body }}"
21
- - name: Send info about release to Slack
22
- uses: rtCamp/action-slack-notify@v2
23
- env:
24
- SLACK_WEBHOOK: ${{ secrets.SLACK_RELEASES }}
25
- SLACK_TITLE: Release ${{github.event.release.tag_name}} for ${{github.repository}} is out in the wild 😱πŸ’ͺπŸΎπŸŽ‚
26
- SLACK_MESSAGE: ${{steps.markdown.outputs.text}}
27
- MSG_MINIMAL: true
28
-
29
- twitter:
30
- name: Twitter - notify on minor and major releases
31
- runs-on: ubuntu-latest
32
- steps:
33
- - name: Checkout repo
34
- uses: actions/checkout@v2
35
- - name: Get version of last and previous release
36
- uses: actions/github-script@v3
37
- id: versions
38
- with:
39
- github-token: ${{ secrets.GITHUB_TOKEN }}
40
- script: |
41
- const query = `query($owner:String!, $name:String!) {
42
- repository(owner:$owner, name:$name){
43
- releases(first: 2, orderBy: {field: CREATED_AT, direction: DESC}) {
44
- nodes {
45
- name
46
- }
47
- }
48
- }
49
- }`;
50
- const variables = {
51
- owner: context.repo.owner,
52
- name: context.repo.repo
53
- };
54
- const { repository: { releases: { nodes } } } = await github.graphql(query, variables);
55
- core.setOutput('lastver', nodes[0].name);
56
- // In case of first release in the package, there is no such thing as previous error, so we set info about previous version only once we have it
57
- // We should tweet about the release no matter of the type as it is initial release
58
- if (nodes.length != 1) core.setOutput('previousver', nodes[1].name);
59
- - name: Identify release type
60
- id: releasetype
61
- # if previousver is not provided then this steps just logs information about missing version, no errors
62
- run: echo "::set-output name=type::$(npx -q -p semver-diff-cli semver-diff ${{steps.versions.outputs.previousver}} ${{steps.versions.outputs.lastver}})"
63
- - name: Get name of the person that is behind the newly released version
64
- id: author
65
- run: echo "::set-output name=name::$(git log -1 --pretty=format:'%an')"
66
- - name: Publish information about the release to Twitter # tweet only if detected version change is not a patch
67
- # tweet goes out even if the type is not major or minor but "You need provide version number to compare."
68
- # it is ok, it just means we did not identify previous version as we are tweeting out information about the release for the first time
69
- if: steps.releasetype.outputs.type != 'null' && steps.releasetype.outputs.type != 'patch' # null means that versions are the same
70
- uses: m1ner79/Github-Twittction@v1.0.1
71
- with:
72
- twitter_status: "Release ${{github.event.release.tag_name}} for ${{github.repository}} is out in the wild 😱πŸ’ͺπŸΎπŸŽ‚\n\nThank you for the contribution ${{ steps.author.outputs.name }} ${{github.event.release.html_url}}"
73
- twitter_consumer_key: ${{ secrets.TWITTER_CONSUMER_KEY }}
74
- twitter_consumer_secret: ${{ secrets.TWITTER_CONSUMER_SECRET }}
75
- twitter_access_token_key: ${{ secrets.TWITTER_ACCESS_TOKEN_KEY }}
76
- twitter_access_token_secret: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
@@ -1,44 +0,0 @@
1
- #This action is centrally managed in https://github.com/asyncapi/.github/
2
- #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
3
-
4
- name: 'Sentiment Analysis'
5
-
6
- on:
7
- issue_comment:
8
- types:
9
- - created
10
- - edited
11
- issues:
12
- types:
13
- - opened
14
- - edited
15
- pull_request:
16
- types:
17
- - opened
18
- - edited
19
- pull_request_review:
20
- types:
21
- - submitted
22
- - edited
23
- pull_request_review_comment:
24
- types:
25
- - created
26
- - edited
27
- jobs:
28
- test:
29
- name: Checking sentiments
30
- runs-on: ubuntu-latest
31
- steps:
32
- - uses: actions/checkout@v2
33
- - name: Check sentiment
34
- uses: derberg/code-of-conduct-sentiment-analysis-github-action@v1
35
- id: sentiments
36
- with:
37
- gcp_key: ${{ secrets.GCP_KEY_SENTIMENT }}
38
- - uses: someimportantcompany/github-actions-slack-message@v1
39
- # this step runs only if sentiment is a negative number
40
- if: steps.sentiments.outputs.sentiment < -0.6
41
- with:
42
- webhook-url: ${{ secrets.SLACK_SENTIMENTS }}
43
- text: Here ${{steps.sentiments.outputs.source}} you can find a potential negative text that requires your attention as the sentiment analysis score is ${{steps.sentiments.outputs.sentiment}}
44
- color: orange
@@ -1,42 +0,0 @@
1
- #This action is centrally managed in https://github.com/asyncapi/.github/
2
- #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
3
-
4
- name: Manage stale issues and PRs
5
-
6
- on:
7
- schedule:
8
- - cron: "0 0 * * *"
9
-
10
- jobs:
11
- stale:
12
- runs-on: ubuntu-latest
13
- steps:
14
- - uses: actions/stale@v4.0.0
15
- with:
16
- repo-token: ${{ secrets.GITHUB_TOKEN }}
17
- stale-issue-message: |
18
- This issue has been automatically marked as stale because it has not had recent activity :sleeping:
19
-
20
- It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.
21
-
22
- There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under [open governance model](https://github.com/asyncapi/community/blob/master/CHARTER.md).
23
-
24
- Let us figure out together how to push this issue forward. Connect with us through [one of many communication channels](https://github.com/asyncapi/community/issues/1) we established here.
25
-
26
- Thank you for your patience :heart:
27
- stale-pr-message: |
28
- This pull request has been automatically marked as stale because it has not had recent activity :sleeping:
29
-
30
- It will be closed in 120 days if no further activity occurs. To unstale this pull request, add a comment with detailed explanation.
31
-
32
- There can be many reasons why some specific pull request has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under [open governance model](https://github.com/asyncapi/community/blob/master/CHARTER.md).
33
-
34
- Let us figure out together how to push this pull request forward. Connect with us through [one of many communication channels](https://github.com/asyncapi/community/issues/1) we established here.
35
-
36
- Thank you for your patience :heart:
37
- days-before-stale: 120
38
- days-before-close: 120
39
- stale-issue-label: stale
40
- stale-pr-label: stale
41
- exempt-issue-labels: keep-open
42
- exempt-pr-labels: keep-open