Skip to content

Update docs

Update docs #378

Workflow file for this run

# Update the docs using the rewrite-recipe-markdown-generator
name: Update docs
on:
workflow_dispatch:
inputs:
latest-versions-only:
type: boolean
description: Only update the latest versions of every OpenRewrite module
default: true
schedule:
- cron: 0 0 * * *
concurrency:
group: "update-docs"
cancel-in-progress: true
jobs:
build:
name: Update docs
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
# Shared setup
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
- uses: gradle/actions/setup-gradle@v5
# Run generator
- uses: actions/checkout@v6
with:
repository: 'openrewrite/rewrite-recipe-markdown-generator'
path: 'rewrite-recipe-markdown-generator'
- name: Generate Markdown
run: ./gradlew ${{ env.GRADLE_SWITCHES }} run -PlatestVersionsOnly=${{ github.event.inputs.latest-versions-only == 'true' }}
working-directory: rewrite-recipe-markdown-generator
# Checkout docs repository
- uses: actions/checkout@v6
with:
fetch-depth: 0
path: 'rewrite-docs'
# Configure git user
- name: configure-git-user
working-directory: rewrite-docs
run: |
git config user.email "[email protected]"
git config user.name "team-moderne[bot]"
# Conditionally replace latest versions, as recipe runs lack certain language modules
- name: Replace latest versions
if: ${{ inputs.latest-versions-only }}
working-directory: rewrite-docs
run: |
cp ../rewrite-recipe-markdown-generator/build/docs/*.md docs/reference/
cp ../rewrite-recipe-markdown-generator/build/docs/*.js src/plugins/
git add docs/reference/latest-versions-of-every-openrewrite-module.md src/plugins/latest-versions.js
# Otherwise replace recipes only
- name: Replace recipes
if: ${{ !inputs.latest-versions-only }}
working-directory: rewrite-docs
run: |
rm -rf docs/recipes/
cp -r ../rewrite-recipe-markdown-generator/build/docs/recipes docs/recipes
git add docs/recipes
# Commit and push changes
- name: Commit and push
working-directory: rewrite-docs
run: |
git diff --quiet HEAD || (git commit -m "[Auto] Latest versions as of $(date +'%Y-%m-%dT%H%M')" && git push origin master)