router data model test #490
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: Test Quickstart | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
# cancel older, redundant runs of same workflow on same branch | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }} | |
cancel-in-progress: true | |
jobs: | |
expressInstallTest: | |
name: Test expressInstall() Quickstart | |
runs-on: ubuntu-latest | |
steps: | |
- name: Shallow checkout | |
uses: actions/checkout@v4 | |
- name: Install zsh | |
shell: bash | |
run: sudo apt-get update && sudo apt-get install --yes zsh | |
- name: Install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: ./go.mod | |
- name: Build and run a quickstart container image | |
shell: bash | |
run: ./quickstart/test/compose-test.zsh | |
allInOneTest: | |
name: Test all-in-one Quickstart | |
runs-on: ubuntu-latest | |
env: | |
ZITI_CLI_TAG: local # override default :latest since we're not pulling from registry | |
ARTIFACTS_DIR: ./build # output dir for `go build`, input dir for `compose up --build` | |
DOCKER_BUILD_DIR: ./dist/docker-images/ziti-cli | |
ZIGGY_UID: 1001 # let container EUID run-as GHA "runner" user to share cache, etc. | |
steps: | |
- name: Shallow checkout | |
uses: actions/checkout@v4 | |
- name: Install Go | |
id: setup-go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: ./go.mod | |
- name: Build ziti executable | |
shell: bash | |
run: | | |
mkdir -pv ${ARTIFACTS_DIR}/amd64/linux | |
go build -o ${ARTIFACTS_DIR}/amd64/linux ${GITHUB_WORKSPACE}/... | |
- name: Run the all-in-one quickstart with locally-built ziti executable | |
shell: bash | |
working-directory: ./quickstart/docker/all-in-one | |
run: | | |
docker compose up --build --detach | |
- name: Wait for all-in-one quickstart controller then run quickstart tests | |
shell: bash | |
working-directory: ./quickstart/docker/all-in-one | |
env: | |
ZITI_GO_VERSION: ${{ steps.setup-go.outputs.go-version }} | |
run: | | |
sleep 9 # wait a moment for the :local image to build | |
docker compose --profile test run --rm quickstart-test | |
- name: Print debug info | |
if: always() | |
shell: bash | |
working-directory: ./quickstart/docker/all-in-one | |
run: | | |
set +e | |
set -x | |
id runner | |
ls -lAn ${GOCACHE:-${HOME}/.cache/go-build}/ ${GOPATH:-${HOME}/go}/pkg/mod/ | |
docker compose --profile test logs | |
exit 0 | |
haQuickstartTest: | |
name: Test HA Quickstart | |
runs-on: ubuntu-latest | |
steps: | |
- name: Shallow checkout | |
uses: actions/checkout@v4 | |
- name: Install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: ./go.mod | |
- name: Build ziti executable | |
shell: bash | |
run: | | |
mkdir -pv /tmp/build | |
go build -o /tmp/build ${GITHUB_WORKSPACE}/... | |
- name: Build and run a three quickstart in HA mode | |
shell: bash | |
run: ./quickstart/test/ha-test.sh |