-
Notifications
You must be signed in to change notification settings - Fork 42
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use the ci pipeline to test new pipeline changes
- Loading branch information
Showing
1 changed file
with
34 additions
and
54 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,69 +1,49 @@ | ||
name: Continuous Integration | ||
on: | ||
pull_request: | ||
push: | ||
branches: | ||
- main | ||
|
||
workflow_dispatch: | ||
release: | ||
types: [published] | ||
jobs: | ||
build-test: | ||
strategy: | ||
fail-fast: true | ||
matrix: | ||
os: [ubuntu-latest, macos-latest, 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 }} | ||
update: | ||
runs-on: ubuntu-latest | ||
|
||
defaults: | ||
run: | ||
shell: bash | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v2 | ||
with: | ||
submodules: recursive | ||
path: cli | ||
|
||
- name: Checkout tools repo | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: temporalio/documentation | ||
path: docs | ||
|
||
- 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: Generate CLI docs | ||
run: go run ./cli/temporalcli/internal/cmd/gen-docs | ||
|
||
- 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 | ||
git diff --exit-code | ||
- 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 | ||
- name: Copy files over and generate PR | ||
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 | ||
BRANCH_NAME="cli-update-docs-${{ github.ref_name }}" | ||
cd docs | ||
git checkout -b $BRANCH_NAME | ||
cp ../cli/temporalcli/docs/*.mdx docs/cli/ | ||
git add . | ||
git commit -m "CLI docs update, autogenerated on CLI release, ${{ github.ref_name }}" | ||
git push origin $BRANCH_NAME | ||
gh pr create \ | ||
--body "Autogenerated PR from https://github.com/temporalio/cli" \ | ||
--title "CLI docs update $LATEST_TAG" \ | ||
--head "$BRANCH_NAME" \ | ||
--base "main" |