Skip to content

worker_ml

worker_ml #13

Workflow file for this run

name: worker_ml
on:
push:
paths:
- bases/bot_detector/worker_ml/**
- components/bot_detector/database/**
- components/bot_detector/kafka/**
- components/bot_detector/structs/**
- components/bot_detector/logfmt/**
- projects/worker_ml/**
workflow_dispatch:
inputs:
environment:
description: "Deploy environment"
required: true
default: "test"
type: choice
options:
- test
- deploy to prd
env:
QUAY_REGISTERY: quay.io/bot_detector/ml-worker
DOCKERFILE: ./projects/worker_ml/Dockerfile
DEPLOYMENT_FILE: worker-ml/deployment.yaml
PROJECT_DIR: projects/worker_ml
jobs:
# messy AF
env_vars:
runs-on: [self-hosted, "hetzner"]
outputs:
QUAY_REGISTERY: ${{ env.QUAY_REGISTERY }}
DOCKERFILE: ${{ env.DOCKERFILE }}
DEPLOYMENT_FILE: ${{ env.DEPLOYMENT_FILE }}
PROJECT_DIR: ${{ env.PROJECT_DIR }}
steps:
- run: |
echo "Exposing env vars to other jobs"
echo "QUAY_REGISTERY=${{ env.QUAY_REGISTERY }}"
echo "DOCKERFILE=${{ env.DOCKERFILE }}"
echo "DEPLOYMENT_FILE=${{ env.DEPLOYMENT_FILE }}"
echo "PROJECT_DIR=${{ env.PROJECT_DIR }}"
common:
uses: ./.github/workflows/_common.yml
needs: [env_vars]
with:
project_dir: ${{ needs.env_vars.outputs.PROJECT_DIR }}
build:
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.environment == 'deploy to prd' }}
uses: ./.github/workflows/_build.yml
needs: [common, env_vars]
with:
registry: ${{ needs.env_vars.outputs.QUAY_REGISTERY }}
environment: ${{ (github.event.inputs.environment == 'deploy to prd' && 'prd') }}
BUILD_ARGS: "--target=production"
DOCKERFILE: ${{ needs.env_vars.outputs.DOCKERFILE }}
secrets:
QUAY_REGISTERY_PASSWORD: ${{ secrets.QUAY_REGISTERY_PASSWORD }}
deploy:
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.environment == 'deploy to prd' }}
uses: ./.github/workflows/_deploy.yml
needs: [build, env_vars]
with:
registry: ${{ needs.env_vars.outputs.QUAY_REGISTERY }}
value_file: ${{ needs.env_vars.outputs.DEPLOYMENT_FILE }}
secrets:
HETZNER_ACTIONS_RUNNER_TOKEN: ${{ secrets.HETZNER_ACTIONS_RUNNER_TOKEN }}