add better handling of checking for azure env_vars #493
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: Conductor functional test workflow | |
defaults: | |
run: | |
shell: bash | |
working-directory: ./conductor/ | |
permissions: | |
pull-requests: write | |
deployments: write | |
id-token: write | |
contents: read | |
on: | |
pull_request: | |
branches: | |
- main | |
paths: | |
- ".github/workflows/conductor.yaml" | |
- "conductor/**" | |
- "charts/tembo-operator/templates/crd.yaml" | |
jobs: | |
functional_test: | |
name: Run functional testing | |
runs-on: | |
- self-hosted | |
- dind | |
- xlarge-16x16 | |
strategy: | |
# fail-fast means to cancel all jobs if one fails | |
fail-fast: false | |
matrix: | |
kube_version: | |
- "1.29.8" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install system dependencies | |
run: | | |
set -xe | |
sudo apt-get update | |
sudo apt-get install -y pkg-config libssl-dev git wget build-essential | |
- uses: azure/setup-helm@v3 | |
- uses: extractions/setup-just@v1 | |
- name: Install kind | |
uses: helm/kind-action@v1 | |
with: | |
install_only: true | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: stable | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
prefix-key: "conductor-functional-test" | |
workspaces: | | |
conductor | |
- uses: aws-actions/configure-aws-credentials@v2 | |
with: | |
aws-region: "us-east-1" | |
role-to-assume: "arn:aws:iam::484221059514:role/cdb-plat-use1-dev-data-1-conductor-gha" | |
- uses: unfor19/install-aws-cli-action@v1 | |
- name: Setup local test cluster | |
run: | | |
set -xe | |
export KUBE_VERSION=${{ matrix.kube_version }} | |
just start-kind | |
- name: Setup local postgres | |
run: | | |
set -xe | |
just run-postgres | |
- name: Run functional / integration tests | |
run: | | |
set -xe | |
cargo install cargo-watch | |
cargo build | |
# Start conductor in the background | |
just watch > conductor-output.txt 2>&1 & | |
# Wait long enough that the server build grabs the cargo build lock file | |
# before the test does | |
sleep 5 | |
# Run the tests | |
cargo test -- --ignored --nocapture | |
- name: Debugging information | |
if: always() | |
run: | | |
set +e | |
set -x | |
echo "==========" | |
cat conductor-output.txt | |
echo "==========" | |
kubectl get pods --all-namespaces | |
echo "==========" | |
kubectl get -o yaml sts --all-namespaces | |
echo "==========" | |
kubectl get -o yaml svc --all-namespaces | |
echo "==========" | |
kubectl get -o yaml pods --all-namespaces | |
echo "==========" | |
kubectl get -o yaml coredb --all-namespaces | |
echo "==========" | |
kubectl logs -n tembo-system -l app=tembo-controller |