MarioDB/.woodpecker/default.yml

49 lines
1.4 KiB
YAML

pipeline:
build:
image: gcc:13 # Replace with clang or another version if needed
environment:
BUILD_DIR: build
commands:
- echo "[*] Installing dependencies"
- apt-get update && apt-get install -y cmake make g++ git
- echo "[*] Creating build directory"
- mkdir -p $BUILD_DIR
- cd $BUILD_DIR
- echo "[*] Running CMake"
- cmake ..
- echo "[*] Building project"
- make -j$(nproc)
test:
image: gcc:13
environment:
BUILD_DIR: build
commands:
- echo "[*] Running tests"
- cd $BUILD_DIR
- ctest --output-on-failure || echo "[!] Some tests failed"
format-check:
image: gcc:13
commands:
- apt-get update && apt-get install -y clang-format
- echo "[*] Checking code formatting..."
- find . -name '*.cpp' -o -name '*.hpp' -o -name '*.h' | xargs clang-format --dry-run --Werror
cache:
image: alpine
settings:
paths:
- build
release:
image: woodpeckerci/plugin-gitea-release
when:
event:
- tag # Trigger only on tags
environment:
GITEA_URL: "https://git.xyro.win"
GITEA_TOKEN: "${GITEA_TOKEN}" # Make sure to set this secret
REPO_NAME: "my-repo" # Set your repo name
TAG_NAME: "${CI_COMMIT_REF}" # Use the tag name as the version
ASSET_PATH: "build/my-cpp-program" # The compiled C++ binary