1+ name : redis_docs_sync
2+
3+ on :
4+ workflow_dispatch :
5+ inputs :
6+ release :
7+ type : string
8+ required : true
9+ description : ' '
10+
11+ jobs :
12+ redis_docs_sync :
13+ runs-on : ubuntu-latest
14+ permissions :
15+ contents : write
16+ actions : write
17+ steps :
18+ - name : Generate a token
19+ id : generate-token
20+ uses : actions/create-github-app-token@v1
21+ with :
22+ app-id : ${{ secrets.DOCS_APP_ID }}
23+ private-key : ${{ secrets.DOCS_APP_PRIVATE_KEY }}
24+
25+ - name : ' Checkout'
26+ uses : actions/checkout@v3
27+ with :
28+ token : ${{ steps.generate-token.outputs.token }}
29+
30+ - name : ' Generate modules-api-ref.md file and push if necessary'
31+ env :
32+ GH_TOKEN : ${{ steps.generate-token.outputs.token }}
33+ run : |-
34+ RELEASE="${{ github.event.inputs.release }}"
35+
36+ # Generate modules-api-ref.md
37+ gh repo clone redis/redis
38+ pushd redis
39+ git fetch origin --tags
40+ git checkout "tags/${RELEASE}"
41+ utils/generate-module-api-doc.rb > generated-modules-api-ref.md
42+ popd
43+
44+ mv redis/generated-modules-api-ref.md content/develop/reference/modules/modules-api-ref.md
45+
46+ # Apply frontmatter patch
47+ git apply content/develop/reference/modules/modules-api-ref-frontmatter.patch
48+
49+ # Check if there are any changes
50+ modules_api_is_different=$(git diff content/develop/reference/modules/modules-api-ref.md)
51+
52+ # If file has changed, push it to repo
53+ if [[ ! -z $modules_api_is_different ]]; then
54+ git add content/develop/reference/modules/modules-api-ref.md
55+ git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
56+ git config user.name "github-actions[bot]"
57+ git commit -m "Update modules-api-ref.md for release ${RELEASE}"
58+ git push origin main
59+ fi
0 commit comments