Repository navigation
Add CLI reference generation script #2
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Generate CLI Reference | |
| on: | |
| workflow_dispatch: {} | |
| pull_request: | |
| paths: | |
| - 'docs/node-operators/mina-cli-reference.mdx' | |
| - 'scripts/generate-cli-reference.sh' | |
| - '.github/workflows/generate-cli-reference.yml' | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - 'docs/node-operators/mina-cli-reference.mdx' | |
| - 'scripts/generate-cli-reference.sh' | |
| - '.github/workflows/generate-cli-reference.yml' | |
| jobs: | |
| check-cli-reference: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Mina daemon | |
| run: | | |
| echo "deb [trusted=yes] http://packages.o1test.net/ bookworm stable" | sudo tee /etc/apt/sources.list.d/mina.list | |
| sudo apt-get update | |
| sudo apt-get install -y mina-mainnet | |
| - name: Capture installed version | |
| id: version | |
| run: | | |
| VERSION=$(dpkg-query -W -f='${Version}' mina-mainnet) | |
| echo "mina_version=$VERSION" >> "$GITHUB_OUTPUT" | |
| - name: Generate CLI reference | |
| run: | | |
| chmod +x scripts/generate-cli-reference.sh | |
| ./scripts/generate-cli-reference.sh mina /tmp/mina-cli-reference | |
| - name: Check if CLI reference is outdated | |
| run: | | |
| cp /tmp/mina-cli-reference/mina-cli-reference.md /tmp/generated.mdx | |
| if ! diff -q docs/node-operators/mina-cli-reference.mdx /tmp/generated.mdx > /dev/null 2>&1; then | |
| echo "::warning::CLI reference is outdated (current mina version: ${{ steps.version.outputs.mina_version }})" | |
| diff --unified docs/node-operators/mina-cli-reference.mdx /tmp/generated.mdx || true | |
| exit 1 | |
| else | |
| echo "CLI reference is up to date with mina ${{ steps.version.outputs.mina_version }}" | |
| fi | |
| update-cli-reference: | |
| if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' | |
| needs: check-cli-reference | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Mina daemon | |
| run: | | |
| echo "deb [trusted=yes] http://packages.o1test.net/ bookworm stable" | sudo tee /etc/apt/sources.list.d/mina.list | |
| sudo apt-get update | |
| sudo apt-get install -y mina-mainnet | |
| - name: Capture installed version | |
| id: version | |
| run: | | |
| VERSION=$(dpkg-query -W -f='${Version}' mina-mainnet) | |
| echo "mina_version=$VERSION" >> "$GITHUB_OUTPUT" | |
| - name: Generate CLI reference | |
| run: | | |
| chmod +x scripts/generate-cli-reference.sh | |
| ./scripts/generate-cli-reference.sh mina /tmp/mina-cli-reference | |
| - name: Copy output to docs | |
| run: | | |
| cp /tmp/mina-cli-reference/mina-cli-reference.md docs/node-operators/mina-cli-reference.mdx | |
| - name: Create Pull Request | |
| uses: peter-evans/create-pull-request@v6 | |
| with: | |
| commit-message: "Update CLI reference for mina ${{ steps.version.outputs.mina_version }}" | |
| title: "Update CLI reference for mina ${{ steps.version.outputs.mina_version }}" | |
| body: | | |
| Auto-generated CLI reference from `mina` version `${{ steps.version.outputs.mina_version }}` (bookworm). | |
| Generated by `scripts/generate-cli-reference.sh`. | |
| branch: auto/cli-reference-update | |
| base: main |