[Pipelines] Pipeline use federated credential #150
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
# 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_prompty_chat_basic | |
on: | |
schedule: | |
- cron: "47 20 * * *" # Every day starting at 4:47 BJT | |
pull_request: | |
branches: [ main ] | |
paths: [ examples/prompty/chat-basic/**, examples/*requirements.txt, .github/workflows/samples_prompty_chat_basic.yml ] | |
workflow_dispatch: | |
env: | |
IS_IN_CI_PIPELINE: "true" | |
permissions: | |
id-token: write | |
contents: read | |
jobs: | |
samples_prompty_chat_basic: | |
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 | |
working-directory: examples | |
run: | | |
if [[ -e requirements.txt ]]; then | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
fi | |
- name: Prepare dev requirements | |
working-directory: examples | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r dev_requirements.txt | |
- name: Refine .env file | |
working-directory: examples/prompty/chat-basic | |
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 run.yml | |
working-directory: examples/prompty/chat-basic | |
run: | | |
gpt_base=${{ secrets.AOAI_API_ENDPOINT_TEST }} | |
gpt_base=$(echo ${gpt_base//\//\\/}) | |
if [[ -e run.yml ]]; then | |
sed -i -e "s/\${azure_open_ai_connection.api_key}/${{ secrets.AOAI_API_KEY_TEST }}/g" -e "s/\${azure_open_ai_connection.api_base}/$gpt_base/g" run.yml | |
fi | |
- 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}} | |
enable-AzPSSession: true | |
- name: Extract Steps examples/prompty/chat-basic/README.md | |
working-directory: ${{ github.workspace }} | |
run: | | |
python scripts/readme/extract_steps_from_readme.py -f examples/prompty/chat-basic/README.md -o examples/prompty/chat-basic | |
- name: Cat script | |
working-directory: examples/prompty/chat-basic | |
run: | | |
cat bash_script.sh | |
- name: Run scripts against canary workspace (scheduled runs only) | |
uses: azure/powershell@v1 | |
if: github.event_name == 'schedule' | |
with: | |
azPSVersion: "latest" | |
inlineScript: | | |
cd $Env:GITHUB_WORKSPACE/examples/prompty/chat-basic | |
$Env:aoai_api_key='${{secrets.AOAI_API_KEY_TEST }}' | |
$Env:aoai_api_endpoint='${{ secrets.AOAI_API_ENDPOINT_TEST }}' | |
$Env:AZURE_OPENAI_API_KEY='${{secrets.AOAI_API_KEY_TEST }}' | |
$Env:AZURE_OPENAI_ENDPOINT='${{ secrets.AOAI_API_ENDPOINT_TEST }}' | |
$Env:test_workspace_sub_id='${{ secrets.TEST_WORKSPACE_SUB_ID }}' | |
$Env:test_workspace_rg='${{ secrets.TEST_WORKSPACE_RG }}' | |
$Env:test_workspace_name='${{ secrets.TEST_WORKSPACE_NAME_CANARY }}' | |
bash bash_script.sh | |
- name: Run scripts against production workspace | |
uses: azure/powershell@v1 | |
if: github.event_name != 'schedule' | |
with: | |
azPSVersion: "latest" | |
inlineScript: | | |
cd $Env:GITHUB_WORKSPACE/examples/prompty/chat-basic | |
$Env:aoai_api_key='${{secrets.AOAI_API_KEY_TEST }}' | |
$Env:aoai_api_endpoint='${{ secrets.AOAI_API_ENDPOINT_TEST }}' | |
$Env:AZURE_OPENAI_API_KEY='${{secrets.AOAI_API_KEY_TEST }}' | |
$Env:AZURE_OPENAI_ENDPOINT='${{ secrets.AOAI_API_ENDPOINT_TEST }}' | |
$Env:test_workspace_sub_id='${{ secrets.TEST_WORKSPACE_SUB_ID }}' | |
$Env:test_workspace_rg='${{ secrets.TEST_WORKSPACE_RG }}' | |
$Env:test_workspace_name='${{ secrets.TEST_WORKSPACE_NAME_PROD }}' | |
bash bash_script.sh | |
- name: Pip List for Debug | |
if : ${{ always() }} | |
working-directory: examples/prompty/chat-basic | |
run: | | |
pip list | |
- name: Upload artifact | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: artifact | |
path: examples/prompty/chat-basic/bash_script.sh |