Skip to content

Use vcpkg main and rely on manifest mode. #1658

Use vcpkg main and rely on manifest mode.

Use vcpkg main and rely on manifest mode. #1658

Workflow file for this run

name: Buildbot Validations
on:
push:
workflow_dispatch:
jobs:
checkconfig:
name: buildbot checkconfig
runs-on: ubuntu-slim
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
- name: Check config
run: |
openssl rand -hex 20 > secrets/buildbot_www_pass.txt
openssl rand -hex 20 > secrets/db_password.txt
echo "$GITHUB_TOKEN" > secrets/github_token.txt
openssl rand -hex 20 > secrets/halide_bb_pass.txt
openssl rand -hex 20 > secrets/webhook_token.txt
uv run --package master --python 3.12 buildbot checkconfig master
uv-lock:
runs-on: ubuntu-slim
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
- run: uv lock --check
ruff:
runs-on: ubuntu-slim
steps:
- uses: actions/checkout@v4
- name: Check linter rules
uses: astral-sh/ruff-action@v3
- name: Check formatting is correct
uses: astral-sh/ruff-action@v3
with:
args: "format --check"
ty:
runs-on: ubuntu-slim
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
- name: Type-check master config
run: |
uv sync
uv run --package master ty check --error-on-warning master/master.cfg master/custom_steps.py
bandit:
runs-on: ubuntu-slim
steps:
- uses: actions/checkout@v4
- name: Run bandit
run: pipx run bandit -c pyproject.toml -r master/master.cfg master/custom_steps.py master/buildbot.tac worker/buildbot.tac
codespell:
runs-on: ubuntu-slim
steps:
- uses: actions/checkout@v4
- name: Run codespell
run: pipx run codespell
vulture:
runs-on: ubuntu-slim
steps:
- uses: actions/checkout@v4
- name: Run vulture
run: pipx run vulture master/master.cfg master/custom_steps.py master/buildbot.tac worker/buildbot.tac
deploy:
name: Deploy to buildbot.halide-lang.org
needs: [ checkconfig, uv-lock, ruff, ty, bandit, codespell, vulture ]
runs-on: ubuntu-slim
if: github.repository == 'halide/build_bot' && github.ref == 'refs/heads/master'
concurrency:
group: deploy
cancel-in-progress: false
steps:
- name: Deploy via SSH
uses: appleboy/ssh-action@v1
with:
host: buildbot.halide-lang.org
port: ${{ secrets.DEPLOY_SSH_PORT }}
username: ${{ secrets.DEPLOY_SSH_USER }}
key: ${{ secrets.DEPLOY_SSH_KEY }}
script: |
cd ~/build_bot
BEFORE=$(git rev-parse HEAD)
git pull
AFTER=$(git rev-parse HEAD)
BUILD_FLAG=""
if git diff --name-only "$BEFORE" "$AFTER" | grep -qE '^(master/|master\.sh|pyproject\.toml|uv\.lock)'; then
BUILD_FLAG="--build"
fi
docker compose up -d $BUILD_FLAG