samples_connections_connection #1105
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
# This code is autogenerated. | |
# Code is generated by running custom script: python3 readme.py | |
# Any manual changes to this file may cause incorrect behavior. | |
# Any manual changes will be overwritten if the code is regenerated. | |
name: samples_connections_connection | |
on: | |
schedule: | |
- cron: "13 22 * * *" # Every day starting at 6:13 BJT | |
pull_request: | |
branches: [ main ] | |
paths: [ examples/connections/**, examples/*requirements.txt, .github/workflows/samples_connections_connection.yml ] | |
workflow_dispatch: | |
env: | |
IS_IN_CI_PIPELINE: "true" | |
permissions: | |
id-token: write | |
contents: read | |
jobs: | |
samples_connections_connection: | |
runs-on: ubuntu-latest | |
environment: | |
internal | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup Python 3.9 environment | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.9" | |
- name: Prepare requirements | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r ${{ github.workspace }}/examples/requirements.txt | |
pip install -r ${{ github.workspace }}/examples/dev_requirements.txt | |
- name: setup .env file | |
working-directory: examples/connections | |
run: | | |
AOAI_API_KEY=${{ secrets.AOAI_API_KEY_TEST }} | |
AOAI_API_ENDPOINT=${{ secrets.AOAI_API_ENDPOINT_TEST }} | |
AOAI_API_ENDPOINT=$(echo ${AOAI_API_ENDPOINT//\//\\/}) | |
if [[ -e .env.example ]]; then | |
echo "env replacement" | |
sed -i -e "s/<your_AOAI_key>/$AOAI_API_KEY/g" -e "s/<your_AOAI_endpoint>/$AOAI_API_ENDPOINT/g" .env.example | |
mv .env.example .env | |
fi | |
if [[ -e ../.env.example ]]; then | |
echo "env replacement" | |
sed -i -e "s/<your_AOAI_key>/$AOAI_API_KEY/g" -e "s/<your_AOAI_endpoint>/$AOAI_API_ENDPOINT/g" ../.env.example | |
mv ../.env.example ../.env | |
fi | |
- name: Create Aoai Connection | |
run: pf connection create -f ${{ github.workspace }}/examples/connections/azure_openai.yml --set api_key="${{ secrets.AOAI_API_KEY_TEST }}" api_base="${{ secrets.AOAI_API_ENDPOINT_TEST }}" | |
- name: Random Wait | |
uses: AliSajid/random-wait-action@main | |
with: | |
minimum: 1 | |
maximum: 300 | |
- name: Azure Login | |
uses: azure/login@v2 | |
with: | |
subscription-id: ${{secrets.AZURE_SUBSCRIPTION_ID}} | |
tenant-id: ${{secrets.AZURE_TENANT_ID}} | |
client-id: ${{secrets.AZURE_CLIENT_ID}} | |
- name: Fetch OID token every 4 mins | |
shell: bash | |
run: | | |
while true; do | |
token_request=$ACTIONS_ID_TOKEN_REQUEST_TOKEN | |
token_uri=$ACTIONS_ID_TOKEN_REQUEST_URL | |
token=$(curl -H "Authorization: bearer $token_request" "${token_uri}&audience=api://AzureADTokenExchange" | jq .value -r) | |
az login --service-principal -u ${{secrets.AZURE_CLIENT_ID}} -t ${{secrets.AZURE_TENANT_ID}} --federated-token $token --output none | |
# Sleep for 4 minutes | |
sleep 240 | |
done & | |
- name: Test Notebook | |
working-directory: examples/connections | |
run: | | |
papermill -k python connection.ipynb connection.output.ipynb | |
- name: Upload artifact | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: artifact | |
path: examples/connections |