d8c229203e
Mirror to GitHub / mirror (push) Successful in 38s
Test and Lint / backend-test (push) Successful in 1m33s
continuous-integration/drone/push Build is passing
Test and Lint / frontend-test (push) Successful in 2m8s
Version and Release / version-bump (push) Successful in 1m0s
Version and Release / trigger-drone (push) Successful in 3s
- Add comprehensive backup translation keys to en.json and de.json - Update all backup components to use i18next translations: - BackupManagement.jsx: main page with tab navigation - BackupDashboard.jsx: health status and statistics - BackupConfiguration.jsx: settings and destination configuration - BackupHistory.jsx: backup history table and details - RestoreWizard.jsx: multi-step restore process - Replace all hardcoded strings with translation keys - Support dynamic values with interpolation - Fix Drone CI/CD github-release step: - Write release.json to /tmp to avoid permission issues - Use quoted heredoc to prevent shell interpretation errors - Replace placeholders with actual tag values using sed 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
146 lines
4.5 KiB
YAML
146 lines
4.5 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: default
|
|
|
|
steps:
|
|
# Build Backend Docker Image
|
|
- name: build-backend
|
|
image: plugins/docker
|
|
settings:
|
|
repo: registry.local.nothaft.cloud/picpeak-backend
|
|
tags:
|
|
- latest
|
|
- ${DRONE_COMMIT_SHA:0:8}
|
|
- ${DRONE_BRANCH}-latest
|
|
dockerfile: backend/Dockerfile
|
|
context: backend/
|
|
registry: registry.local.nothaft.cloud
|
|
build_args:
|
|
- VERSION=${DRONE_TAG:-dev}
|
|
|
|
# Build Frontend Docker Image
|
|
- name: build-frontend
|
|
image: plugins/docker
|
|
settings:
|
|
repo: registry.local.nothaft.cloud/picpeak-frontend
|
|
tags:
|
|
- latest
|
|
- ${DRONE_COMMIT_SHA:0:8}
|
|
- ${DRONE_BRANCH}-latest
|
|
dockerfile: frontend/Dockerfile
|
|
context: frontend/
|
|
registry: registry.local.nothaft.cloud
|
|
build_args:
|
|
- VERSION=${DRONE_TAG:-dev}
|
|
- VITE_API_URL=${VITE_API_URL:-/api}
|
|
|
|
trigger:
|
|
branch:
|
|
- main
|
|
- develop
|
|
event:
|
|
- push
|
|
- pull_request
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: release
|
|
|
|
steps:
|
|
# Build Backend Release
|
|
- name: build-backend-release
|
|
image: plugins/docker
|
|
settings:
|
|
repo: registry.local.nothaft.cloud/picpeak-backend
|
|
tags:
|
|
- ${DRONE_TAG}
|
|
- latest
|
|
dockerfile: backend/Dockerfile
|
|
context: backend/
|
|
registry: registry.local.nothaft.cloud
|
|
|
|
# Build Frontend Release
|
|
- name: build-frontend-release
|
|
image: plugins/docker
|
|
settings:
|
|
repo: registry.local.nothaft.cloud/picpeak-frontend
|
|
tags:
|
|
- ${DRONE_TAG}
|
|
- latest
|
|
dockerfile: frontend/Dockerfile
|
|
context: frontend/
|
|
registry: registry.local.nothaft.cloud
|
|
|
|
# -------- NEW: Publish Docker images to GitHub Container Registry --------
|
|
- name: push-backend-ghcr
|
|
image: plugins/docker
|
|
settings:
|
|
repo: ghcr.io/the-luap/picpeak-backend
|
|
tags:
|
|
- ${DRONE_TAG}
|
|
- latest
|
|
dockerfile: backend/Dockerfile
|
|
context: backend/
|
|
registry: ghcr.io
|
|
username:
|
|
from_secret: GITHUB_USERNAME
|
|
password:
|
|
from_secret: GITHUB_TOKEN
|
|
build_args:
|
|
- VERSION=${DRONE_TAG}
|
|
|
|
- name: push-frontend-ghcr
|
|
image: plugins/docker
|
|
settings:
|
|
repo: ghcr.io/the-luap/picpeak-frontend
|
|
tags:
|
|
- ${DRONE_TAG}
|
|
- latest
|
|
dockerfile: frontend/Dockerfile
|
|
context: frontend/
|
|
registry: ghcr.io
|
|
username:
|
|
from_secret: GITHUB_USERNAME
|
|
password:
|
|
from_secret: GITHUB_TOKEN
|
|
build_args:
|
|
- VERSION=${DRONE_TAG}
|
|
- VITE_API_URL=${VITE_API_URL:-/api}
|
|
|
|
# -------- NEW: Create GitHub Release --------
|
|
- name: github-release
|
|
image: curlimages/curl:latest
|
|
when:
|
|
event: tag
|
|
environment:
|
|
GITHUB_TOKEN:
|
|
from_secret: GITHUB_TOKEN
|
|
commands:
|
|
- |
|
|
# Create release payload in /tmp to avoid permission issues
|
|
cat > /tmp/release.json <<'RELEASE_EOF'
|
|
{
|
|
"tag_name": "DRONE_TAG_PLACEHOLDER",
|
|
"target_commitish": "main",
|
|
"name": "PicPeak DRONE_TAG_PLACEHOLDER",
|
|
"body": "# PicPeak DRONE_TAG_PLACEHOLDER\n\n## 🐳 Docker Images\n\nThis release includes Docker images published to GitHub Container Registry:\n\n```bash\n# Backend\ndocker pull ghcr.io/the-luap/picpeak-backend:DRONE_TAG_PLACEHOLDER\ndocker pull ghcr.io/the-luap/picpeak-backend:latest\n\n# Frontend\ndocker pull ghcr.io/the-luap/picpeak-frontend:DRONE_TAG_PLACEHOLDER\ndocker pull ghcr.io/the-luap/picpeak-frontend:latest\n```\n\n## 📦 What's New\n\nSee the [README](https://github.com/the-luap/picpeak#readme) for features and documentation.\n\n## 🚀 Quick Start\n\n```bash\n# Clone and deploy\ngit clone https://github.com/the-luap/picpeak.git\ncd picpeak\n\n# Use the tagged version\ndocker-compose -f docker-compose.prod.yml up -d\n```\n\n---\n\nFor detailed deployment instructions, see the [Deployment Guide](https://github.com/the-luap/picpeak/blob/main/DEPLOYMENT.md).",
|
|
"draft": false,
|
|
"prerelease": false
|
|
}
|
|
RELEASE_EOF
|
|
|
|
# Replace placeholders with actual tag
|
|
sed -i "s/DRONE_TAG_PLACEHOLDER/${DRONE_TAG}/g" /tmp/release.json
|
|
|
|
# Create the release on GitHub
|
|
curl -X POST \
|
|
-H "Accept: application/vnd.github+json" \
|
|
-H "Authorization: Bearer ${GITHUB_TOKEN}" \
|
|
-H "X-GitHub-Api-Version: 2022-11-28" \
|
|
https://api.github.com/repos/the-luap/picpeak/releases \
|
|
-d @/tmp/release.json
|
|
|
|
trigger:
|
|
event:
|
|
- tag |