Skip to content

Running Solution Integration Testing on 11720/merge #5

Running Solution Integration Testing on 11720/merge

Running Solution Integration Testing on 11720/merge #5

name: Solution Integration Testing
run-name: Running Solution Integration Testing on ${{ github.ref_name }}
on:
pull_request:
branches:
- master
paths:
- 'Solutions/**/Package/mainTemplate.json'
workflow_dispatch: # Allows to run workflow manually from the Actions tab
permissions:
id-token: write
contents: read
pull-requests: write
jobs:
Run-solutionIntegration-Testimio:
name: Solution Integration Testing - Testim.io
runs-on: ubuntu-latest
steps:
- name: Checkout pull request branch
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
# persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal access token.
fetch-depth: 0 # otherwise, there would be errors pushing refs to the destination repository.
- name: Setup git config
run: |
git config --local user.name "github-actions[bot]"
git config --local user.email "<>"
- name: Azure Login to Dev Account
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_SOLUTIONTESTING_DEV_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_SOLUTIONTESTING_DEV_TENANT_ID }}
allow-no-subscriptions: true
- name: Whitelist Runner IP
run: |
agentIP=$(curl -s https://api.ipify.org/)
az keyvault network-rule add --name e2e-solIntegTesting-KV --ip-address $agentIP
- name: Get Access Token
run: |
echo "accessToken=$(az account get-access-token -o tsv --query accessToken)" >> $GITHUB_ENV
- name: Download files from ADO
run: |
curl -u :${{ env.accessToken }} \
-o evaluateAndExtractTemplate.py \
"https://dev.azure.com/msazure/One/_apis/git/repositories/Sentinel-CATUtilities/items?path=/SolutionIntegrationTesting/.scripts/evaluateAndExtractTemplate.py&versionDescriptor.versionType=Branch&versionDescriptor.version=users/tanishqarora/solutionIntegrationTesting&api-version=6.0" \
-o runUITests.py \
"https://dev.azure.com/msazure/One/_apis/git/repositories/Sentinel-CATUtilities/items?path=/SolutionIntegrationTesting/.scripts/runUITests.py&versionDescriptor.versionType=Branch&versionDescriptor.version=users/tanishqarora/solutionIntegrationTesting&api-version=6.0" \
-o requirements.txt \
"https://dev.azure.com/msazure/One/_apis/git/repositories/Sentinel-CATUtilities/items?path=/SolutionIntegrationTesting/requirements.txt&versionDescriptor.versionType=Branch&versionDescriptor.version=users/tanishqarora/solutionIntegrationTesting&api-version=6.0"
- name: Setup Python Environment
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Azure Login to Test Tenant Account
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_SOLUTIONTESTING_TEST_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_SOLUTIONTESTING_TEST_TENANT_ID }}
allow-no-subscriptions: true
- name: Get Test Tenant Subscription
run: |
echo "TEST_TENANT_SUBSCRIPTION_ID=$(az account show --query id -o tsv)" >> $GITHUB_ENV
- name: Deploy Solution to Workspace, Evaluate and Extract Template Files
run: |
filePath="evaluateAndExtractTemplate.py"
python $filePath
- name: Azure Login to Dev Account
uses: azure/login@v2
if: '!cancelled()'
with:
client-id: ${{ secrets.AZURE_SOLUTIONTESTING_DEV_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_SOLUTIONTESTING_DEV_TENANT_ID }}
allow-no-subscriptions: true
- name: Execute Tests on Testim
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
filePath="runUITests.py"
python $filePath
- name: Delist Runner IP
if: '!cancelled()'
run: |
agentIP=$(curl -s https://api.ipify.org/)
az keyvault network-rule remove --name e2e-solIntegTesting-KV --ip-address $agentIP