Skip to content

Commit

Permalink
ci: initialising docs in website github actions (#132)
Browse files Browse the repository at this point in the history
  • Loading branch information
sambhavgupta0705 authored Nov 14, 2023
1 parent 677d164 commit 6467420
Showing 1 changed file with 84 additions and 0 deletions.
84 changes: 84 additions & 0 deletions .github/workflows/update-extensions-in-website.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Update latest Extensions documentation in the website

on:
push:
branches:
- "master"
paths:
- "extensions/*.md"


jobs:
Make-PR:
name: Make PR on website repository with updated latest Extensions documentation
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
steps:
- name: Checkout Current repository
uses: actions/checkout@v3
with:
path: extensions-catalog
- name: Checkout Another repository
uses: actions/checkout@v3
with:
repository: asyncapi/website
path: website
token: ${{ env.GITHUB_TOKEN }}
- name: Config git
run: |
git config --global user.name asyncapi-bot
git config --global user.email [email protected]
- name: Create branch
working-directory: ./website
run: |
git checkout -b update-extensions-docs-${{ github.sha }}
- name: Update edit-page-config.json
uses: actions/github-script@v4
with:
script: |
const { writeFile } = require('fs').promises;
const configPath = './website/config/edit-page-config.json';
const checkSlug = 'reference/extensions/';
const slug = {
"value": checkSlug,
"href": "https://github.com/asyncapi/extensions-catalog/tree/master/extensions"
};
const configData = require(configPath);
const entryExists = configData.some(entry => entry.value === checkSlug);
if (!entryExists) {
configData.push(slug);
await writeFile(configPath, JSON.stringify(configData, null, 2))
}
- name: Update title and weight of the markdown files
uses: actions/github-script@v4
with:
script: |
const fs = require('fs').promises;
const path = require('path');
const folderPath = './extensions-catalog/extensions';
const files = await fs.readdir(folderPath);
files.forEach(async (file, ind = 10) => {
const filePath = path.join(folderPath, file);
const baseName = path.basename(filePath, '.md');
const newData = `---\ntitle: '${baseName}' \nweight: ${ind + 11}\n---\n\n`;
const existingFileData = await fs.readFile(filePath, 'utf8');
const updatedContent = newData + existingFileData;
await fs.writeFile(filePath, updatedContent);
- name: Copy extensions folder from Current Repo to Another
working-directory: ./website
run: |
mkdir -p ./pages/docs/reference/extensions
printf "%s\ntitle: Extensions\nweight: 10\n%s" "---" "---"> ../extensions-catalog/extensions/_section.md
mv ../extensions-catalog/extensions/*.md ./pages/docs/reference/extensions
- name: Commit and push
working-directory: ./website
run: |
git add .
git commit -m "docs(extension): update latest extensions docs"
git push https://${{ env.GITHUB_TOKEN }}@github.com/asyncapi/website
- name: Create PR
working-directory: ./website
run: |
gh pr create --title "docs(extensions): update latest extensions documentation" --body "Updated extensions documentation is available and this PR introduces update to extensions folder on the website" --head "update-extensions-docs-${{ github.sha }}"

0 comments on commit 6467420

Please sign in to comment.