constellation/.github/workflows/update-cli-reference.yml

76 lines
2.7 KiB
YAML
Raw Normal View History

name: Publish CLI reference to documentation
on:
push:
branches:
- main
2022-09-03 15:47:47 +00:00
paths:
- "cli/cmd/**"
- "cli/internal/cmd/**"
workflow_dispatch:
jobs:
publish-to-docs:
runs-on: ubuntu-latest
steps:
- name: Checkout Constellation
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
with:
path: constellation
- name: Checkout docs
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
with:
repository: edgelesssys/constellation-docs
token: ${{ secrets.CI_GITHUB_REPOSITORY }}
path: docs
- name: Set up Go
uses: actions/setup-go@268d8c0ca0432bb2cf416faae41297df9d262d7f
with:
go-version: 1.18
- name: Generate reference docs
run: |
cd constellation/hack/clidocgen
go build .
./clidocgen > content.md
cat header.md content.md > ../../../cli.md
- name: Get commit sha
run: |
echo "COMMIT_END=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV
- name: Check if action branch exists
run: |
ex=$(git --git-dir=./docs/.git ls-remote --heads origin action/constellation/update-cli-reference)
echo "EXISTS=$(if [ -z "$ex" ]; then echo 0; else echo 1; fi)" >> $GITHUB_ENV
- name: Publish new reference (create new branch)
if: ${{ env.EXISTS == 0 }}
uses: dmnemec/copy_file_to_another_repo_action@c93037aa10fa8893de271f19978c980d0c1a9b37
env:
API_TOKEN_GITHUB: ${{ secrets.CI_GITHUB_REPOSITORY }}
with:
source_file: "cli.md"
destination_repo: "edgelesssys/constellation"
destination_branch_create: "action/constellation/update-cli-reference"
destination_folder: "docs/docs/reference"
user_name: "${{ github.actor }}"
user_email: "${{ github.actor }}@users.noreply.github.com"
commit_message: "CLI reference was updated by edgelesssys/constellation@${{ env.COMMIT_END}}"
- name: Publish new reference (update branch)
if: ${{ env.EXISTS == 1 }}
uses: dmnemec/copy_file_to_another_repo_action@c93037aa10fa8893de271f19978c980d0c1a9b37
env:
API_TOKEN_GITHUB: ${{ secrets.CI_GITHUB_REPOSITORY }}
with:
source_file: "cli.md"
destination_repo: "edgelesssys/constellation"
destination_branch: "action/constellation/update-cli-reference"
destination_folder: "docs/docs/reference"
user_name: "${{ github.actor }}"
user_email: "${{ github.actor }}@users.noreply.github.com"
commit_message: "CLI reference was updated by edgelesssys/constellation@${{ env.COMMIT_END}}"