Auto generate CLI docs for documentation repo #602
Workflow file for this run
This file contains 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: Continuous Integration | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
jobs: | |
build-test: | |
strategy: | |
fail-fast: true | |
matrix: | |
os: [ubuntu-latest, macos-12, macos-14, windows-latest, ubuntu-arm] | |
include: | |
- os: ubuntu-latest | |
checkGenCodeTarget: true | |
cloudTestTarget: true | |
- os: ubuntu-arm | |
runsOn: buildjet-4vcpu-ubuntu-2204-arm | |
runs-on: ${{ matrix.runsOn || matrix.os }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '1.22' | |
- name: Install gotestsum | |
run: go install gotest.tools/gotestsum@latest | |
- name: Create junit-xml directory | |
run: mkdir junit-xml | |
- name: Test | |
run: gotestsum --junitfile junit-xml/${{matrix.os}}.xml -- ./... | |
- name: 'Upload junit-xml artifacts' | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: junit-xml--${{github.run_id}}--${{github.run_attempt}}--${{matrix.os}} | |
path: junit-xml | |
retention-days: 14 | |
- name: Regen code, confirm unchanged | |
if: ${{ matrix.checkGenCodeTarget }} | |
run: | | |
go run ./temporalcli/internal/cmd/gen-commands | |
go run ./temporalcli/internal/cmd/gen-docs | |
git diff --exit-code | |
- name: Check for untracked doc files | |
if: ${{ matrix.checkGenCodeTarget }} | |
run: | | |
cd temporalcli/docs | |
# Check for untracked files | |
untracked_files=$(git ls-files --others --exclude-standard) | |
if [ -n "$untracked_files" ]; then | |
echo "Untracked files found in docs directory: $untracked_files" | |
exit 1 | |
fi | |
- name: Test cloud | |
# Only supported in non-fork runs, since secrets are not available in forks | |
if: ${{ matrix.cloudTestTarget && (github.event.pull_request.head.repo.full_name == '' || github.event.pull_request.head.repo.full_name == 'temporalio/cli') }} | |
env: | |
TEMPORAL_ADDRESS: ${{ vars.TEMPORAL_CLIENT_NAMESPACE }}.tmprl.cloud:7233 | |
TEMPORAL_NAMESPACE: ${{ vars.TEMPORAL_CLIENT_NAMESPACE }} | |
TEMPORAL_TLS_CERT: client.crt | |
TEMPORAL_TLS_CERT_CONTENT: ${{ secrets.TEMPORAL_CLIENT_CERT }} | |
TEMPORAL_TLS_KEY: client.key | |
TEMPORAL_TLS_KEY_CONTENT: ${{ secrets.TEMPORAL_CLIENT_KEY }} | |
shell: bash | |
run: | | |
printf '%s\n' "$TEMPORAL_TLS_CERT_CONTENT" >> client.crt | |
printf '%s\n' "$TEMPORAL_TLS_KEY_CONTENT" >> client.key | |
go run ./cmd/temporal workflow list --limit 2 |