diff --git a/woodpecker.yml b/woodpecker.yml index d8d4cc0..f12b528 100644 --- a/woodpecker.yml +++ b/woodpecker.yml @@ -1,113 +1,121 @@ -# Peikarband Platform - Woodpecker CI/CD Pipeline -# Complete production-ready pipeline +# # Peikarband Platform - Woodpecker CI/CD Pipeline +# # Complete production-ready pipeline -variables: - - &harbor_registry 'harbor.peikarband.ir' - - &image_name 'peikarband/landing' - - &python_version '3.11' +# variables: +# - &harbor_registry 'harbor.peikarband.ir' +# - &image_name 'peikarband/landing' +# - &python_version '3.11' -# Global configuration -when: - - evaluate: 'CI_PIPELINE_EVENT != "cron"' +# # Global configuration +# when: +# - evaluate: 'CI_PIPELINE_EVENT != "cron"' +# steps: +# # ============================================ +# # STAGE 1: Code Quality & Linting (DISABLED) +# # ============================================ +# # lint-python: +# # image: python:${python_version}-slim +# # environment: +# # - PYTHONPATH=/woodpecker/src/workspace +# # commands: +# # - pip install --no-cache-dir flake8 black isort mypy +# # - flake8 src/ --max-line-length=120 --exclude=__pycache__,migrations --statistics +# # - black --check src/ --line-length=120 +# # - isort --check-only src/ +# # when: +# # branch: [main, develop, staging, feature/*, hotfix/*] + +# # lint-yaml: +# # image: cytopia/yamllint:latest +# # commands: +# # - yamllint -c .yamllint.yml helm/ || true +# # - yamllint woodpecker.yml +# # when: +# # branch: [main, develop, staging] + +# # ============================================ +# # STAGE 2 & 3: Tests & Security (DISABLED) +# # ============================================ +# # test-unit: +# # image: python:${python_version}-slim +# # commands: +# # - pip install --no-cache-dir -r requirements.txt +# # - pytest tests/unit/ +# # when: +# # branch: [main, develop] + +# # ============================================ +# # STAGE 4: Docker Build & Push (ACTIVE) +# # ============================================ +# docker-build: +# image: plugins/docker +# settings: +# registry: *harbor_registry +# repo: ${harbor_registry}/${image_name} +# tags: +# - ${CI_COMMIT_SHA:0:8} +# - ${CI_COMMIT_BRANCH} +# - latest +# username: +# from_secret: harbor_username +# password: +# from_secret: harbor_password +# build_args: +# - ENVIRONMENT=production +# - VERSION=${CI_COMMIT_SHA:0:8} +# cache_from: +# - ${harbor_registry}/${image_name}:latest +# dockerfile: Dockerfile +# dry_run: false +# when: +# event: [push, tag, manual] + +# # ============================================ +# # STAGE 5 - 11: Deployment & Notifications (DISABLED) +# # ============================================ +# # deploy-staging: +# # image: argoproj/argocd:latest +# # environment: +# # ARGOCD_SERVER: { from_secret: argocd_server } +# # ARGOCD_AUTH_TOKEN: { from_secret: argocd_token } +# # commands: +# # - argocd app set peikarband-staging --helm-set image.tag=${CI_COMMIT_SHA:0:8} +# # - argocd app sync peikarband-staging +# # when: +# # branch: [develop, staging] + +# # notify-telegram: +# # image: appleboy/drone-telegram:latest +# # settings: +# # token: { from_secret: telegram_bot_token } +# # to: { from_secret: telegram_chat_id } +# # when: +# # status: [success, failure] + +# # ============================================ +# # Services & Workspace Configuration +# # ============================================ +# # (سرویس‌ها فعلاً کامنت شدند چون تستی اجرا نمی‌شود) +# # services: +# # postgres: +# # image: postgres:14-alpine + +# workspace: +# base: /woodpecker/src +# path: workspace + +# clone: +# git: +# image: woodpeckerci/plugin-git:latest +# settings: +# depth: 50 +# tags: true + +# فایل تست بسیار ساده - تمام بخش‌های قبلی را پاک کن و فقط این را بگذار steps: -# ============================================ -# STAGE 1: Code Quality & Linting (DISABLED) -# ============================================ -# lint-python: -# image: python:${python_version}-slim -# environment: -# - PYTHONPATH=/woodpecker/src/workspace -# commands: -# - pip install --no-cache-dir flake8 black isort mypy -# - flake8 src/ --max-line-length=120 --exclude=__pycache__,migrations --statistics -# - black --check src/ --line-length=120 -# - isort --check-only src/ -# when: -# branch: [main, develop, staging, feature/*, hotfix/*] - -# lint-yaml: -# image: cytopia/yamllint:latest -# commands: -# - yamllint -c .yamllint.yml helm/ || true -# - yamllint woodpecker.yml -# when: -# branch: [main, develop, staging] - -# ============================================ -# STAGE 2 & 3: Tests & Security (DISABLED) -# ============================================ -# test-unit: -# image: python:${python_version}-slim -# commands: -# - pip install --no-cache-dir -r requirements.txt -# - pytest tests/unit/ -# when: -# branch: [main, develop] - -# ============================================ -# STAGE 4: Docker Build & Push (ACTIVE) -# ============================================ - docker-build: - image: plugins/docker - settings: - registry: *harbor_registry - repo: ${harbor_registry}/${image_name} - tags: - - ${CI_COMMIT_SHA:0:8} - - ${CI_COMMIT_BRANCH} - - latest - username: - from_secret: harbor_username - password: - from_secret: harbor_password - build_args: - - ENVIRONMENT=production - - VERSION=${CI_COMMIT_SHA:0:8} - cache_from: - - ${harbor_registry}/${image_name}:latest - dockerfile: Dockerfile - dry_run: false - when: - event: [push, tag, manual] - -# ============================================ -# STAGE 5 - 11: Deployment & Notifications (DISABLED) -# ============================================ -# deploy-staging: -# image: argoproj/argocd:latest -# environment: -# ARGOCD_SERVER: { from_secret: argocd_server } -# ARGOCD_AUTH_TOKEN: { from_secret: argocd_token } -# commands: -# - argocd app set peikarband-staging --helm-set image.tag=${CI_COMMIT_SHA:0:8} -# - argocd app sync peikarband-staging -# when: -# branch: [develop, staging] - -# notify-telegram: -# image: appleboy/drone-telegram:latest -# settings: -# token: { from_secret: telegram_bot_token } -# to: { from_secret: telegram_chat_id } -# when: -# status: [success, failure] - -# ============================================ -# Services & Workspace Configuration -# ============================================ -# (سرویس‌ها فعلاً کامنت شدند چون تستی اجرا نمی‌شود) -# services: -# postgres: -# image: postgres:14-alpine - -workspace: - base: /woodpecker/src - path: workspace - -clone: - git: - image: woodpeckerci/plugin-git:latest - settings: - depth: 50 - tags: true \ No newline at end of file + test-build: + image: alpine + commands: + - echo "Testing Woodpecker Connection..." + - date \ No newline at end of file