name: SetM365AppAcc on: workflow_call: outputs: client_app_slot: value: ${{ jobs.GetM365App.outputs.client_app_slot }} client_id_env: value: ${{ jobs.GetM365App.outputs.client_id_env }} client_secret_env: value: ${{ jobs.GetM365App.outputs.client_secret_env }} jobs: GetM365App: environment: Testing runs-on: ubuntu-latest outputs: client_app_slot: ${{ steps.roundrobin.outputs.CLIENT_APP_SLOT }} client_id_env: ${{ steps.roundrobin.outputs.CLIENT_ID_ENV }} client_secret_env: ${{ steps.roundrobin.outputs.CLIENT_SECRET_ENV }} steps: - name: Figure out which client id to use id: roundrobin run: | slot=$((GITHUB_RUN_NUMBER % 4)) echo "CLIENT_APP_SLOT=$slot" >> $GITHUB_OUTPUT case $slot in 0) echo "CLIENT_ID_ENV=CLIENT_ID" >> $GITHUB_OUTPUT echo "CLIENT_SECRET_ENV=CLIENT_SECRET" >> $GITHUB_OUTPUT ;; 1) echo "CLIENT_ID_ENV=CLIENT_ID_2" >> $GITHUB_OUTPUT echo "CLIENT_SECRET_ENV=CLIENT_SECRET_2" >> $GITHUB_OUTPUT ;; 2) echo "CLIENT_ID_ENV=CLIENT_ID_3" >> $GITHUB_OUTPUT echo "CLIENT_SECRET_ENV=CLIENT_SECRET_3" >> $GITHUB_OUTPUT ;; 3) echo "CLIENT_ID_ENV=CLIENT_ID_4" >> $GITHUB_OUTPUT echo "CLIENT_SECRET_ENV=CLIENT_SECRET_4" >> $GITHUB_OUTPUT ;; esac