Jesús Pérez d5a03183e9
Some checks failed
CI / Lint (bash) (push) Has been cancelled
CI / Lint (markdown) (push) Has been cancelled
CI / Lint (nickel) (push) Has been cancelled
CI / Lint (nushell) (push) Has been cancelled
CI / Lint (rust) (push) Has been cancelled
CI / Code Coverage (push) Has been cancelled
CI / Test (macos-latest) (push) Has been cancelled
CI / Test (ubuntu-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / Build (macos-latest) (push) Has been cancelled
CI / Build (ubuntu-latest) (push) Has been cancelled
CI / Build (windows-latest) (push) Has been cancelled
CI / Benchmark (push) Has been cancelled
CI / Security Audit (push) Has been cancelled
CI / License Compliance (push) Has been cancelled
chore: add CI for github and woodpecker
2025-12-24 03:25:40 +00:00

54 lines
1.8 KiB
YAML

# Woodpecker CI Release Pipeline
# Equivalent to .github/workflows/release.yml
# Triggered on git tags (v*)
when:
event: tag
tag: v*
steps:
# === BUILD RELEASE ===
build-release:
image: rust:latest
commands:
- curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/local/bin
- cargo build --release --locked
- mkdir -p dist
- cp target/release/typedialog dist/
- cp target/release/typedialog-tui dist/
- cp target/release/typedialog-web dist/
- cp target/release/typedialog-ag dist/
- cp target/release/typedialog-ag-server dist/
- cp README.md dist/ 2>/dev/null || true
- cp LICENSE dist/ 2>/dev/null || true
- cd dist && tar czf ../typedialog-${CI_COMMIT_TAG}-x86_64-linux.tar.gz .
- cd .. && sha256sum typedialog-${CI_COMMIT_TAG}-x86_64-linux.tar.gz > typedialog-${CI_COMMIT_TAG}-x86_64-linux.tar.gz.sha256
# === GENERATE SBOM ===
generate-sbom:
image: rust:latest
commands:
- cargo install cargo-sbom --locked
- cargo sbom --output-format spdx_json_2_3 > sbom-spdx.json
- cargo sbom --output-format cyclone_dx_json_1_4 > sbom-cyclonedx.json
depends_on:
- build-release
# === PUBLISH ARTIFACTS ===
# Note: This requires Woodpecker server configured with Forgejo/Gitea integration
# Artifacts will be available in the pipeline artifacts section
publish-artifacts:
image: alpine:latest
commands:
- echo "✓ Release artifacts generated successfully"
- echo "📦 Binary: typedialog-${CI_COMMIT_TAG}-x86_64-linux.tar.gz"
- echo "🔐 Checksum: typedialog-${CI_COMMIT_TAG}-x86_64-linux.tar.gz.sha256"
- echo "📋 SBOM (SPDX): sbom-spdx.json"
- echo "📋 SBOM (CycloneDX): sbom-cyclonedx.json"
- ls -lh *.tar.gz *.sha256 *.json
depends_on:
- generate-sbom