diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..d2c0cd9 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,38 @@ +name: Tests + +on: + push: + pull_request: + +jobs: + tests: + name: Tests + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.9' + cache: pip + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install -e . pytest + + - name: Install vcsim and govc + run: | + mkdir -p "$RUNNER_TEMP/govmomi-bin" + curl -fsSL -o "$RUNNER_TEMP/vcsim.tar.gz" https://github.com/vmware/govmomi/releases/download/v0.53.1/vcsim_Linux_x86_64.tar.gz + tar -xzf "$RUNNER_TEMP/vcsim.tar.gz" -C "$RUNNER_TEMP/govmomi-bin" + curl -fsSL -o "$RUNNER_TEMP/govc.tar.gz" https://github.com/vmware/govmomi/releases/download/v0.53.1/govc_Linux_x86_64.tar.gz + tar -xzf "$RUNNER_TEMP/govc.tar.gz" -C "$RUNNER_TEMP/govmomi-bin" + chmod +x "$RUNNER_TEMP/govmomi-bin/vcsim" "$RUNNER_TEMP/govmomi-bin/govc" + printf '%s\n' "$RUNNER_TEMP/govmomi-bin" >> "$GITHUB_PATH" + + - name: Run test suite + run: | + pytest + pytest --run-integration tests/integration_vcsim