Pull mirror of Partysun/woodpecker-ci-demo for Woodpecker CI testing
  • Rust 52.8%
  • Makefile 19.3%
  • Dockerfile 17.1%
  • Hurl 10.8%
Find a file
Yura Zatsepin 8af871b8ad Update README
2026-02-09 00:57:03 +03:00
.woodpecker Add mise in the project, Clean README 2026-02-08 16:54:38 +03:00
src Add mise in the project, Clean README 2026-02-08 16:54:38 +03:00
tests First touch 2026-02-06 18:00:25 +03:00
.dockerignore First touch 2026-02-06 18:00:25 +03:00
.gitignore First touch 2026-02-06 18:00:25 +03:00
.rustfmt.toml Add mise in the project, Clean README 2026-02-08 16:54:38 +03:00
.secrets.example.yaml First touch 2026-02-06 18:00:25 +03:00
Cargo.lock First touch 2026-02-06 18:00:25 +03:00
Cargo.toml First touch 2026-02-06 18:00:25 +03:00
docker-compose.yml First touch 2026-02-06 18:00:25 +03:00
Dockerfile First touch 2026-02-06 18:00:25 +03:00
LICENSE-APPACHE First touch 2026-02-06 18:00:25 +03:00
LICENSE-MIT First touch 2026-02-06 18:00:25 +03:00
Makefile Add mise in the project, Clean README 2026-02-08 16:54:38 +03:00
mise.toml Add mise in the project, Clean README 2026-02-08 16:54:38 +03:00
README.md Update README 2026-02-09 00:57:03 +03:00

status-badge

Woodpecker CI Demo

A minimal Rust web application demonstrating CI/CD pipelines with Woodpecker CI.

>> Related Tutorial

Overview

This project is a simple HTTP API built with Axum that showcases:

  • Multi-stage CI pipeline: Unit tests, Docker image building, integration tests, and deployment
  • Health checks: Built-in health check endpoint and Docker compose healthcheck configuration
  • Integration testing: HTTP tests using Hurl
  • Local CI execution: Run the full pipeline locally with woodpecker-cli

Quick Start

Prerequisites

  • Rust 1.93+ (or Docker)
  • Hurl (for integration tests)
  • Woodpecker CLI (for local CI execution)
  • Docker & Docker Compose (for containerized development)

Running Locally

With Cargo:

cargo run

Or with Docker Compose:

docker-compose up

The application listens on http://localhost:4000 by default. Override with:

APP_PORT=8080 cargo run

You can use mise for managing requirements, tools and tasks:


mise tasks

Name Description build Build Docker image, run integration tests, and push to registry using Woodpecker CI lint Format and lint Rust code test Run tests using Woodpecker CI test-hurl Run integration tests using Hurl against local server (http://localhost:4000)

Configuration

Woodpecker Secrets

Set in .secrets.yaml for local running CI/CD pipeline:

  • docker_username: Registry username
  • docker_password: Registry password
  • secret_registry_base_path: Registry URL
  • deploy_wci_script: Deployment script path on woodpecker ci agent with local backend

License

All code in this repository is dual-licensed under either: