Skip to content

chore: add @TenzDelek to TSC as maintainer of Conference Website (#2288) #40

chore: add @TenzDelek to TSC as maintainer of Conference Website (#2288)

chore: add @TenzDelek to TSC as maintainer of Conference Website (#2288) #40

# This action updates the list of Board members in the website repository.
# List of all board members is later rendered on asyncapi.com/community/board website's path URL.
name: Update list of Board members in the website repository
on:
push:
branches:
- 'master'
paths:
- 'MAINTAINERS.yaml'
- 'AMBASSADORS_MEMBERS.yaml'
workflow_dispatch:
jobs:
update-board-and-website:
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
steps:
- name: Checkout Current repository
uses: actions/checkout@v4
with:
path: community
- name: Checkout Another repository
uses: actions/checkout@v4
with:
repository: asyncapi/website
path: website
token: ${{ env.GITHUB_TOKEN }}
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 18
- name: Installing dependencies...
working-directory: ./community
run: npm ci
- name: Generating the board members file...
working-directory: ./community
run: npm run generate:board
- name: Prepend autogenerated comment to YAML
working-directory: ./community
run: |
echo '# ⚠️ This file is auto-generated. Do not edit manually. Check this workflow for more details: .github/workflows/update-website-board-governance.yml' | cat - TSC_BOARD_MEMBERS.yaml > temp && mv temp TSC_BOARD_MEMBERS.yaml
- name: Convert YAML to JSON using Python
working-directory: ./community
run: |
pip install pyyaml==6.0.1
python -c 'import sys, yaml, json; json.dump(yaml.safe_load(sys.stdin), sys.stdout, indent=4)' < TSC_BOARD_MEMBERS.yaml > TSC_BOARD_MEMBERS.json
- name: Configure Git
run: |
git config --global user.name asyncapi-bot
git config --global user.email info@asyncapi.io
- name: Create branch
working-directory: ./website
run: |
git checkout -b update-board-${{ github.sha }}
- name: Replicate TSC board members file from current to another repository
working-directory: ./website
run: |
cp ../community/TSC_BOARD_MEMBERS.json ./config/TSC_BOARD_MEMBERS.json
- name: Commit and push changes to the website repository
working-directory: ./website
run: |
git add config/TSC_BOARD_MEMBERS.json
git commit -m "docs(community): update latest Board members list"
git push https://${{ env.GITHUB_TOKEN }}@github.com/asyncapi/website
- name: Create PR to website repository
working-directory: ./website
run: |
gh pr create --title "docs(community): update latest Board and TSC members list" \
--body "Updated board and TSC members list is available; please review the pull request that introduces new board members to the list." \
--head "update-board-${{ github.sha }}"
- name: Create a branch in community repo
working-directory: ./community
run: |
git checkout -b update-tsc-board-${{ github.sha }}
- name: Commit updated TSC_BOARD_MEMBERS.yaml in community repo
working-directory: ./community
run: |
git add TSC_BOARD_MEMBERS.yaml
git commit -m "chore: update TSC board members list"
git push https://${{ env.GITHUB_TOKEN }}@github.com/asyncapi/community
- name: Create PR to community repo
working-directory: ./community
run: |
gh pr create --title "chore: update TSC and board members list" \
--body "This PR updates the auto-generated TSC and board members YAML file; please review the pull request that introduces new board members to the list." \
--head "update-tsc-board-${{ github.sha }}"