Skip to content

Bovi-analytics/github-actions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Bovi Analytics GitHub Actions

Reusable GitHub Actions for Bovi Analytics repositories.

Use actions by version tag:

uses: bovi-analytics/github-actions/.github/actions/docker-build-push@v1

Actions

azure-login

Authenticates 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 }}

setup-python-uv

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.

install-uv-project

Runs uv sync in a configurable project directory.

- uses: bovi-analytics/github-actions/.github/actions/install-uv-project@v1
  with:
    work-dir: apps/infrastructure

docker-build-push

Builds 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-latest

Outputs:

  • image: commit SHA tagged image.
  • image-versioned: first extra tag when provided, otherwise the commit SHA tagged image.
  • image-base: image reference without tag.

pulumi-command

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 }}

resolve-current-image

Returns the current Azure Container Apps image, falling back to a supplied default.

check-containerapp-health

Polls an Azure Container App ingress endpoint until it responds successfully.

run-containerapp-job

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 Workflows

pulumi-preview.yml

Reusable Pulumi preview job for repos that do not need extra product-specific Pulumi environment variables.

docker-build-push.yml

Reusable single-image GHCR build and push workflow.

About

This repo has github actions that can be shared in other repos so they are reusable, expandable and adaptable

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors