"fix: Fixed Server Group and Provisioning Key" #221
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: ZPA Test | |
on: | |
pull_request: | |
types: [opened, synchronize] | |
merge_group: | |
types: [checks_requested] | |
push: | |
branches: | |
- master | |
schedule: | |
- cron: '0 15 * * 1-5' # UTC | |
workflow_dispatch: | |
env: | |
NAMESPACE: zscaler | |
COLLECTION_NAME: zpacloud | |
PYTHON_VERSION: 3.10 | |
jobs: | |
# zpa-qa1-tenants: | |
# runs-on: ubuntu-latest | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# python-version: ["3.10"] | |
# environment: | |
# - ZPA_QA_TENANT01 | |
# - ZPA_QA_TENANT02 | |
# environment: ${{ matrix.environment }} | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@v4 | |
# with: | |
# path: ansible_collections/${{ env.NAMESPACE }}/${{ env.COLLECTION_NAME }} | |
# token: ${{ secrets.GITHUB_TOKEN }} | |
# - name: Set up Python | |
# uses: actions/setup-python@v5 | |
# with: | |
# python-version: ${{ matrix.python-version }} | |
# - name: Install Poetry | |
# uses: Gr1N/setup-poetry@v9 | |
# with: | |
# poetry-version: 1.8.2 | |
# - name: Get poetry cache directory | |
# id: poetry-cache | |
# run: echo "dir=$(poetry config cache-dir)" >> $GITHUB_OUTPUT | |
# - name: Cache poetry dependencies | |
# uses: actions/cache@v4 | |
# with: | |
# path: ${{ steps.poetry-cache.outputs.dir }} | |
# key: | |
# ${{ runner.os }}-poetry-${{ matrix.python-version }}-${{ | |
# hashFiles('**/poetry.lock') }} | |
# restore-keys: | | |
# ${{ runner.os }}-poetry-${{ matrix.python-version }}- | |
# - name: Install dependencies | |
# run: poetry install | |
# working-directory: ${{ github.workspace }}/ansible_collections/${{ env.NAMESPACE }}/${{ env.COLLECTION_NAME }} | |
# - name: Install Ansible | |
# run: pip install 'ansible>=2.14' | |
# - name: Build and install collection locally | |
# run: poetry run make install | |
# working-directory: ${{ github.workspace }}/ansible_collections/${{ env.NAMESPACE }}/${{ env.COLLECTION_NAME }} | |
# - name: Run integration tests with retries | |
# run: | | |
# max_attempts=3 | |
# attempt=0 | |
# until [ "$attempt" -ge "$max_attempts" ] | |
# do | |
# attempt=$((attempt+1)) | |
# poetry run make test:integration:zpa && break | |
# echo "Attempt $attempt of $max_attempts failed. Retrying..." | |
# sleep 10 | |
# done | |
# if [ "$attempt" -eq "$max_attempts" ]; then | |
# echo "Test failed after $max_attempts attempts." | |
# exit 1 | |
# fi | |
# working-directory: ${{ github.workspace }}/ansible_collections/${{ env.NAMESPACE }}/${{ env.COLLECTION_NAME }} | |
# env: | |
# ZPA_CLIENT_ID: ${{ secrets.ZPA_CLIENT_ID }} | |
# ZPA_CLIENT_SECRET: ${{ secrets.ZPA_CLIENT_SECRET }} | |
# ZPA_CUSTOMER_ID: ${{ secrets.ZPA_CUSTOMER_ID }} | |
# ZPA_CLOUD: ${{ secrets.ZPA_CLOUD }} | |
# OKTA_CLIENT_ORGURL: ${{ secrets.OKTA_CLIENT_ORGURL }} | |
# OKTA_CLIENT_TOKEN: ${{ secrets.OKTA_CLIENT_TOKEN }} | |
zpa-prod-tenants: | |
# needs: [zpa-qa1-tenants] | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.10"] | |
environment: | |
- ZPA_PROD_TENANT01 | |
environment: ${{ matrix.environment }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: ansible_collections/${{ env.NAMESPACE }}/${{ env.COLLECTION_NAME }} | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Poetry | |
uses: Gr1N/setup-poetry@v9 | |
with: | |
poetry-version: 1.8.3 | |
- name: Get poetry cache directory | |
id: poetry-cache | |
run: echo "dir=$(poetry config cache-dir)" >> $GITHUB_OUTPUT | |
- name: Cache poetry dependencies | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.poetry-cache.outputs.dir }} | |
key: | |
${{ runner.os }}-poetry-${{ matrix.python-version }}-${{ | |
hashFiles('**/poetry.lock') }} | |
restore-keys: | | |
${{ runner.os }}-poetry-${{ matrix.python-version }}- | |
- name: Install dependencies | |
run: poetry install | |
working-directory: ${{ github.workspace }}/ansible_collections/${{ env.NAMESPACE }}/${{ env.COLLECTION_NAME }} | |
- name: Install Ansible | |
run: pip install 'ansible>=2.14' | |
- name: Build and install collection locally | |
run: poetry run make install | |
working-directory: ${{ github.workspace }}/ansible_collections/${{ env.NAMESPACE }}/${{ env.COLLECTION_NAME }} | |
- name: Run integration tests with retries | |
run: | | |
max_attempts=3 | |
attempt=0 | |
until [ "$attempt" -ge "$max_attempts" ] | |
do | |
attempt=$((attempt+1)) | |
poetry run make test:integration:zpa && break | |
echo "Attempt $attempt of $max_attempts failed. Retrying..." | |
sleep 10 | |
done | |
if [ "$attempt" -eq "$max_attempts" ]; then | |
echo "Test failed after $max_attempts attempts." | |
exit 1 | |
fi | |
working-directory: ${{ github.workspace }}/ansible_collections/${{ env.NAMESPACE }}/${{ env.COLLECTION_NAME }} | |
env: | |
ZPA_CLIENT_ID: ${{ secrets.ZPA_CLIENT_ID }} | |
ZPA_CLIENT_SECRET: ${{ secrets.ZPA_CLIENT_SECRET }} | |
ZPA_CUSTOMER_ID: ${{ secrets.ZPA_CUSTOMER_ID }} | |
ZPA_CLOUD: ${{ secrets.ZPA_CLOUD }} | |
OKTA_CLIENT_ORGURL: ${{ secrets.OKTA_CLIENT_ORGURL }} | |
OKTA_CLIENT_TOKEN: ${{ secrets.OKTA_CLIENT_TOKEN }} |