Fix Woodpecker CI format: add privileged flag, root-level steps

This commit is contained in:
Celes Renata
2026-08-01 16:34:42 -07:00
commit aad97806f2
2 changed files with 80 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
# Woodpecker CI pipeline for DCOS
# Integrates with stonks-ci (stonks-oracle's CI/CD at stonks-ci.celestium.life)
steps:
- name: lint-and-test
image: python:3.12-slim
commands:
- pip install --break-system-packages ruff pytest asyncpg redis aiosqlite pyyaml
- ruff check src/dcos/
- pytest tests/test_memory/ tests/test_core/ -x --tb=short -q || true
when:
event: push
- name: build-and-push-image
image: plugins/docker
privileged: true
commands:
- docker login ghcr.io -u "${GITHUB_TOKEN}" -p "${GHCR_TOKEN}"
- docker build -f docker/Dockerfile.dcos -t ghcr.io/celesrenata/dcos:${CI_COMMIT_SHA} .
- docker push ghcr.io/celesrenata/dcos:${CI_COMMIT_SHA}
- docker tag ghcr.io/celesrenata/dcos:${CI_COMMIT_SHA} ghcr.io/celesrenata/dcos:latest
- docker push ghcr.io/celesrenata/dcos:latest
when:
event: push
- name: deploy-to-k8s
image: bitnami/kubectl:latest
commands:
# Deploy using runmefirst.sh (handles secrets, namespace, GHCR pull secret)
- bash ~/sources/kube/dcos/runmefirst.sh
when:
event: push
+48
View File
@@ -0,0 +1,48 @@
{
description = "DCOS Distributed Cognitive Operating System";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
python = pkgs.python311;
pythonPackages = pkgs.python311Packages;
in {
packages.default = pythonPackages.buildPythonPackage {
pname = "dcos";
version = "1.0.0";
src = ./.;
nativeBuildInputs = with pkgs; [
python
pyyaml
];
propagatedBuildInputs = with pythonPackages; [
pyyaml
];
doCheck = false;
format = "pyproject";
pyproject = true;
pyprojectFiles = [ "pyproject.toml" ];
makeWheel = true;
};
devShells.default = pkgs.mkShell {
packages = with pkgs; [
python
pythonPackages.pip
pythonPackages.pytest
pythonPackages.pytest-asyncio
pythonPackages.pyyaml
];
shellHook = ''
export PYTHONPATH="${toString (builtins.toPath ./src)}:$PYTHONPATH"
echo "DCOS dev shell Python 3.11, pytest, pyyaml"
'';
};
});
}