Reusable GitHub Actions for Bovi Analytics repositories.
Use actions by version tag:
uses: bovi-analytics/github-actions/.github/actions/docker-build-push@v1Authenticates to Azure with OIDC and selects a subscription.
- uses: bovi-analytics/github-actions/.github/actions/azure-login@v1
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}Installs uv and the requested Python version.
- uses: bovi-analytics/github-actions/.github/actions/setup-python-uv@v1
with:
python-version: "3.12"
uv-version: "0.8.24"Omit uv-version to use the default version resolved by astral-sh/setup-uv.
Runs uv sync in a configurable project directory.
- uses: bovi-analytics/github-actions/.github/actions/install-uv-project@v1
with:
work-dir: apps/infrastructureBuilds and pushes a GHCR image tagged with latest, the commit SHA, and optional extra tags.
- id: build
uses: bovi-analytics/github-actions/.github/actions/docker-build-push@v1
with:
image-name: bovi-api
context: .
file: apps/backend/api/Dockerfile
github-token: ${{ secrets.GITHUB_TOKEN }}
extra-tags: |
dev-latestOutputs:
image: commit SHA tagged image.image-versioned: first extra tag when provided, otherwise the commit SHA tagged image.image-base: image reference without tag.
Runs a Pulumi command using an Azure Blob backend.
- uses: bovi-analytics/github-actions/.github/actions/pulumi-command@v1
with:
command: preview
stack-name: dev
work-dir: infra/pulumi/permanent
pulumi-config-passphrase: ${{ secrets.PULUMI_PASSPHRASE }}
azure-storage-account-state: ${{ secrets.AZURE_STORAGE_ACCOUNT_STATE }}
azure-storage-key: ${{ secrets.AZURE_STORAGE_KEY }}Returns the current Azure Container Apps image, falling back to a supplied default.
Polls an Azure Container App ingress endpoint until it responds successfully.
Updates an Azure Container Apps job image, starts an execution, and waits for completion.
- uses: bovi-analytics/github-actions/.github/actions/run-containerapp-job@v1
with:
image: ${{ needs.build-api-image.outputs.image }}
job-name: bovi-api-migrate-dev
resource-group: Bovi-Analytics-Tools
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}Reusable Pulumi preview job for repos that do not need extra product-specific Pulumi environment variables.
Reusable single-image GHCR build and push workflow.