Skip to content

Commit 8497209

Browse files
authored
Merge branch 'asyncapi:master' into onboarding-maintainers-guide
2 parents 334faea + d2baf55 commit 8497209

File tree

13 files changed

+130
-38
lines changed

13 files changed

+130
-38
lines changed

.github/workflows/slack-integration.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ jobs:
1414
steps:
1515
- name: Checkout
1616
uses: actions/checkout@v4
17+
- name: Install terraform
18+
uses: hashicorp/setup-terraform@v3
19+
with:
20+
terraform_version: "^1.3.7"
21+
terraform_wrapper: false
1722
- name: Deploy changes to Slack
1823
run: |
1924
cd .github/workflows/slack

.github/workflows/slack/channels/channels.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ locals {
5757
purpose = lookup(lookup(lookup(wg_data, "slack", {}), "channel", {}), "description", lookup(wg_data, "description", ""))
5858
topic = lookup(lookup(lookup(wg_data, "slack", {}), "channel", {}), "topic", "")
5959

60-
permanent_members = concat([for member in wg_data.chairpersons : member.slack], [for member in wg_data.members : member.slack])
60+
permanent_members = concat([for member in wg_data.chairpersons : lookup(member, "slack", null)], [for member in wg_data.members : lookup(member, "slack", null)])
6161
is_private = false
6262

6363
action_on_destroy = "archive"

.github/workflows/slack/groups/groups.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ locals {
5959

6060
# Handle will be the name of the group in lowercase and with spaces replaced by hyphens succeded by "wg-"
6161
handle = lookup(lookup(lookup(wg_data, "slack", {}), "group", {}), "handle", "${replace(lower(wg_data.name), " ", "-")}-wg")
62-
users = concat([for member in wg_data.chairpersons : member.slack], [for member in wg_data.members : member.slack])
62+
users = concat([for member in wg_data.chairpersons : lookup(member, "slack", null)], [for member in wg_data.members : lookup(member, "slack", null)])
6363
}
6464
}
6565
}

.github/workflows/slack/users/users.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ locals {
1717
repos = setunion(flatten([for maintainer in local.maintainers_data : maintainer.repos]))
1818
repo_maintainers = {
1919
for repo in local.repos : repo =>
20-
[for maintainer in local.maintainers_data : maintainer.slack if contains(maintainer.repos, repo)]
20+
[for maintainer in local.maintainers_data : lookup(maintainer, "slack", null) if contains(maintainer.repos, repo)]
2121
}
2222
}
2323

2424
output "data_sources" {
2525
value = {
26-
maintainers_user_ids = [for maintainer in local.maintainers_data : maintainer.slack]
27-
tsc_members_user_ids = [for tsc_member in local.tsc_members_data : tsc_member.slack]
26+
maintainers_user_ids = [for maintainer in local.maintainers_data : lookup(maintainer, "slack", null)]
27+
tsc_members_user_ids = [for tsc_member in local.tsc_members_data : lookup(tsc_member, "slack", null)]
2828
repo_maintainers = local.repo_maintainers
2929
}
3030
}
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: Update latest Community documentation in the website
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- 'master'
8+
paths:
9+
- 'docs/**/*.md'
10+
11+
jobs:
12+
Make-PR:
13+
name: Make PR on website repository with updated latest Community documentation
14+
runs-on: ubuntu-latest
15+
env:
16+
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
17+
steps:
18+
- name: Checkout Current repository
19+
uses: actions/checkout@v4
20+
with:
21+
path: community
22+
- name: Checkout Another repository
23+
uses: actions/checkout@v4
24+
with:
25+
repository: asyncapi/website
26+
path: website
27+
token: ${{ env.GITHUB_TOKEN }}
28+
- name: Config git
29+
run: |
30+
git config --global user.name asyncapi-bot
31+
git config --global user.email [email protected]
32+
- name: Create branch
33+
working-directory: ./website
34+
run: |
35+
git checkout -b update-community-docs-${{ github.sha }}
36+
- name: Update edit-page-config.json
37+
uses: actions/github-script@v4
38+
with:
39+
script: |
40+
const fs = require('fs').promises;
41+
const configPath = './website/config/edit-page-config.json';
42+
const configData = require(configPath);
43+
const docsDir = 'community/docs';
44+
45+
async function readDirectories(dirPath) {
46+
const entries = await fs.readdir(dirPath, { withFileTypes: true });
47+
const subdirectories = entries.filter(entry => entry.isDirectory()).map(entry => entry.name);
48+
return subdirectories;
49+
}
50+
51+
async function updateConfigData() {
52+
const subfolders = await readDirectories(docsDir);
53+
54+
for (const subfolder of subfolders) {
55+
const checkSlug = `community/${subfolder}`;
56+
const slug = {
57+
"value": checkSlug,
58+
"href": `https://github.com/asyncapi/community/tree/master/docs/${subfolder}`
59+
};
60+
61+
const entryExists = configData.some(entry => entry.value === checkSlug);
62+
if (!entryExists) {
63+
configData.push(slug);
64+
}
65+
}
66+
67+
await fs.writeFile(configPath, JSON.stringify(configData, null, 2));
68+
}
69+
updateConfigData();
70+
71+
- name: Copy community folder from Current Repo to Another
72+
working-directory: ./website
73+
run: |
74+
find "./markdown/docs/community" -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} +
75+
rm ../community/docs/README.md
76+
mv ../community/docs/* ./markdown/docs/community/
77+
- name: Commit and push
78+
working-directory: ./website
79+
run: |
80+
git add .
81+
git commit -m "docs(community): update latest community docs"
82+
git push https://${{ env.GITHUB_TOKEN }}@github.com/asyncapi/website
83+
- name: Create PR
84+
working-directory: ./website
85+
run: |
86+
gh pr create --title "docs(community): update latest community documentation" --body "Updated community documentation is available and this PR introduces update to community folder on the website" --head "update-community-docs-${{ github.sha }}"

AMBASSADORS_MEMBERS.json

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -416,37 +416,6 @@
416416
}
417417
]
418418
},
419-
{
420-
"name": "Raphael De Lio",
421-
"github": "raphaeldelio",
422-
"twitter": "raphaeldelio",
423-
"linkedin": "raphaeldelio",
424-
"country": "🇧🇷",
425-
"bio": "Raphael De Lio is a passionate software engineer who loves to think about solutions and ways to improve anything he touches. He was born in Brazil, lived in Portugal for five years, and now works as a consultant in the Netherlands. In his quest for knowledge, Raphael has always valued learning and sharing insights with others. This pursuit not only led him to Xebia, a place where he found a community of engineers who share his enthusiasm for technology and continuous improvement but also to becoming the co-organizer of the Amsterdam Kotlin MeetUp, where he has been able to enable other speakers to share their knowledge as well.",
426-
"company": "Xebia",
427-
"title": "Software Consultant at Xebia",
428-
"img": "https://avatars.githubusercontent.com/u/25641721?v=4",
429-
"contributions": [
430-
{
431-
"type": "article",
432-
"title": "AsyncAPI — A standard specification for documenting Event-Driven Applications",
433-
"date": {
434-
"year": 2024,
435-
"month": "February"
436-
},
437-
"link": "https://medium.com/@raphaeldelio/asyncapi-a-standard-for-documenting-event-driven-applications-8ff657119036"
438-
},
439-
{
440-
"type": "presentation",
441-
"title": "AsyncAPI & Springwolf - Automated documentation (and more)",
442-
"date": {
443-
"year": 2024,
444-
"month": "May"
445-
},
446-
"link": "https://www.youtube.com/watch?v=DylvTW_ia4Y"
447-
}
448-
]
449-
},
450419
{
451420
"name": "Hari Krishnan",
452421
"github": "harikrishnan83",

Emeritus.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ emeritus_tsc:
2222
emeritus_ambassadors:
2323
- jessemenning
2424
- meteatamel
25+
- raphaeldelio

docs/onboarding-guide/docs-onboarding-checklist.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ Complete in order the following onboarding tasks:
1212
- [ ] Read the [AsyncAPI Slack etiquette](https://github.com/asyncapi/community/blob/master/slack-etiquette.md).
1313
- [ ] Join [the AsyncAPI Slack workspace](https://asyncapi.com/slack-invite).
1414
- [ ] Add the AsyncAPI calendar found in [the AsyncAPI events page](https://www.asyncapi.com/community/events).
15-
- [ ] Read the list of [technical writer contributor responsibilities](/docs/onboarding-guide/technical-writer-contributor-responsibilities.md).
16-
- [ ] Read and familiarize yourself with the [prerequisite knowledge topics](/docs/onboarding-guide/prerequisite-knowledge.md).
15+
- [ ] Read the list of [technical writer contributor responsibilities](/docs/onboarding-guide/technical-writer-contributor-responsibilities).
16+
- [ ] Read and familiarize yourself with the [prerequisite knowledge topics](/docs/onboarding-guide/prerequisite-knowledge).
1717
- [ ] Familiarize yourself with the _work-in-progress_ [AsyncAPI Style Guide](https://github.com/asyncapi/community/pulls?q=is%3Apr+is%3Aopen+style+guide).
1818
- [ ] Read all docs under the following content buckets: `Concepts`, `Tutorials`, `Reference`. (Take the time to go through each tutorial.)
1919
- [ ] Set up your local environment following our instructions for the [AsyncAPI git workflow](https://github.com/asyncapi/community/blob/master/git-workflow.md).
File renamed without changes.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Projects ideas
2+
3+
### Ideas list
4+
5+
Number | Idea | Area | Lead Mentor | Scope
6+
:---:|---|:---:|:---:|---
7+
1 | [Enhancing Developer Experience in CLI](https://github.com/asyncapi/cli/issues/15) | AsyncAPI CLI | [Aayush Saini](https://github.com/AayushSaini101) | Validate an AsyncAPI file against custom spectral rules & sync my local AsyncAPI file with a remote system (e.g registry). Publish my AsyncAPI file in a schema registry and render AsyncAPI documentation. Fix test cases, we cannot execute test cases directly in the CLI and remaining DX issues in CLI Board.
8+
2 | [AI-Powered AsyncAPI Generator](https://github.com/orgs/asyncapi/discussions/1361#discussioncomment-10505262) | [AsyncAPI Generator](https://github.com/asyncapi/generator) | [Azeez Elegbede](https://github.com/AceTheCreator) | Create an AI-based extension for the AsyncAPI Generator that automatically generates initial AsyncAPI specifications from natural language descriptions or existing API documentation. Leveraging NLP models, this tool can take user-provided requirements and convert them into accurate AsyncAPI specs.
9+
3 | [Becoming a Maintainer of AsyncAPI Generator](https://github.com/orgs/asyncapi/discussions/1361#discussioncomment-10520123) | [AsyncAPI Generator](https://github.com/asyncapi/generator) | [Lukasz Gornicki](https://github.com/derberg) | This initiative aims to guide you on a journey from being a contributor to becoming a maintainer of the project. You'll gain insight into the responsibilities of a maintainer, involving tasks beyond mere coding. Goal is same as [GSoC.](https://github.com/asyncapi/generator/issues/1145)
10+
4 | [Performance + Accessibility Improvement of website](https://github.com/asyncapi/website/issues/3186) | [AsyncAPI website](https://github.com/asyncapi/website) | [Sambhav Gupta](https://github.com/sambhavgupta0705) |With the addition of multiple components, pages and MD files, it's now important for us to make the website efficient for all web + mobile users. Currently, the performance of the website has critically low numbers in both web and mobile view, which can impact the efficiency and user views in the website. On the other hand, it's also important that we add the necessary accessibility labels to the website.
11+
5 | [Migration of build + workflow scripts to typescript](https://github.com/asyncapi/website/issues/3187) | [AsyncAPI website](https://github.com/asyncapi/website) | [Ansh Goyal](https://github.com/anshgoyalevil) | With the current package.json built for ES modules and packages, as we migrated the website to Next js 14 + Typescript, it has now started affecting the scripts folder like working of meetings workflow, automation of blog creation using npm script, etc. Since, to have uniformity across the website, we decided to migrate the existing Node js scripts to common js modules (in Typescript), enhancing the code maintenance, scalability, and readability for contributors.
12+
6 | [User Research + Usability Testing on the AsyncAPI Website](https://github.com/asyncapi/website/issues/529) | User Research | [Aishat Muibudeen](https://github.com/Mayaleeeee) | It would be beneficial if we were to start performing usability tests across our tools periodically to help us gather data that could lead to more grounded ideas for design improvements. Create a new page on the website that can explain the process of being a participant in a user research study and steps to get involved. And because we are open source, this page could also attract an audience of other product designers looking to make open source contributions or to maybe gain experience conducting a user research study.
13+
7 | [Holopin Design Project](https://github.com/asyncapi/community/issues/1306) | Design | [Aishat Muibudeen](https://github.com/Mayaleeeee)|This project aims to create visually appealing and user-friendly digital badges for our community, ensuring alignment with AsyncAPI's branding and easy recognizability. The goal is to recognize member contributions and creating a vibrant, active community with Holopin’s digital badges.
14+
8 | [Integrating EDAVisualiser Application Focus View into VS Code AsyncAPI Plugin](https://github.com/orgs/asyncapi/discussions/1361#discussioncomment-10540858) | [AsyncAPI Preview](https://github.com/asyncapi/vs-asyncapi-preview) | [Ivan](https://github.com/ivangsa) |Enhance the VS Code AsyncAPI ([asyncapi/vs-asyncapi-preview)](https://github.com/asyncapi/vs-asyncapi-preview/issues/235) Plugin by adding [EDAVisualiser's](https://github.com/asyncapi/EDAVisualiser/) application focus view. This new feature will allow users to visualize how an application interacts with other defined applications. The project involves integrating the EDAVisualiser library, implementing a configuration system for related AsyncAPI documents, and creating a user interface to switch between preview modes. Skills required include JavaScript/TypeScript, VS Code extension development, and AsyncAPI knowledge.
15+
9 | [Onboarding Contributor Guides](https://github.com/orgs/asyncapi/discussions/1361#discussioncomment-10610947) | Docs | [V. Thulisile Sibanda](https://github.com/thulieblack), [Wisdom](https://github.com/wise4rmgod), [Anthony](https://github.com/bandantonio) |The AsyncAPI documentation must include a persona-driven journey for different roles, such as documentation contributors, code contributors, ambassadors, maintainers, etc. The onboarding experience for new contributors isn't as efficient yet, and to solve this problem, we need to develop a series of onboarding guides to automate the onboarding process for new contributors.
16+
10 | [Implementation and integration of new layout for studio](https://github.com/asyncapi/studio/issues/634) | [AsyncAPI Studio](https://github.com/asyncapi/studio) | [Ashish Padhy](https://github.com/Shurtu-gal) & [Fran Méndez](https://github.com/fmvilas) |Studio goes beyond a simple playground to try out the spec and becomes a fully-featured suite to help developers work with event-driven architectures (EDA) and APIs. It will become a tool you can use to easily design your services and share them with your colleagues.
17+
11 | [Path to Maintainership for the AsyncAPI React Project](https://github.com/orgs/asyncapi/discussions/1361#discussioncomment-10811342) | Coding | [Azeez Elegbede](https://github.com/AceTheCreator) |The [AsyncAPI React component](https://github.com/asyncapi/asyncapi-react) is a handy tool for rendering documentation from your asynchronous APIs, all based on the AsyncAPI specification format. Plus, it helps validate that spec too.
18+
12 | [Expand Community Docs](https://github.com/orgs/asyncapi/discussions/1361#discussioncomment-10818908) | Docs | [V. Thulisile Sibanda](https://github.com/thulieblack), [Wisdom](https://github.com/wise4rmgod), [Anthony](https://github.com/bandantonio) |Automating the AsyncAPI onboarding experience also involves documenting important workflows and processes for community members involved.
19+
13 | [Technical Blog Posts on Integrating AsyncAPI with Kafka](https://github.com/orgs/asyncapi/discussions/1361#discussioncomment-10885096) | Docs | [Leonardo](https://github.com/leonardotorresaltez) | Integrating AsyncAPI with Kafka offers a structured approach to managing and documenting Kafka topics, streamlining communication between teams, and enhancing development efficiency. This proposal outlines a series of technical blog posts focused on AsyncAPI’s capabilities, Kafka’s integration potential, and best practices for using these technologies together.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Do you have some nice ideas for #AsyncAPI-related tools? Do you want to validate and share with the AsyncAPI community?
2+
3+
Drop it 👇 and let us have an open discussion 🚀
4+
5+
https://github.com/asyncapi/community/discussions/categories/ideas
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
✨ Did you know #AsyncAPI is on Slack? ✨
2+
3+
Join our Slack workspace to chat with anyone from our Open-Source community!
4+
5+
🔗 asyncapi.com/slack-invite
6+
7+
Ask for help and help others too. 💪🏿💪🏽🦾

0 commit comments

Comments
 (0)