particle-os-cli/.forgejo/workflows/ci.yml
Workflow config file is invalid. Please check your config file: yaml: line 68: could not find expected ':'
2025-08-26 09:25:35 -07:00

132 lines
2.9 KiB
YAML

---
name: Blue Build CLI CI/CD
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
DEBIAN_FRONTEND: noninteractive
jobs:
build-and-package:
name: Build and Package Rust CLI
runs-on: ubuntu-latest
container:
image: rust:1.75-bullseye
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Rust environment
run: |
rustc --version
cargo --version
- name: Install build dependencies
run: |
apt-get update
apt-get install -y \
build-essential \
devscripts \
debhelper \
git \
ca-certificates \
pkg-config
- name: Download Rust dependencies
run: cargo fetch
- name: Build CLI
run: |
cargo build --release
chmod +x target/release/blue-build-cli
- name: Create debian directory
run: |
mkdir -p debian
cat > debian/control << EOF
Source: blue-build-cli
Section: utils
Priority: optional
Maintainer: Blue Build Team <team@blue-build.org>
Build-Depends: debhelper (>= 13), build-essential, pkg-config, git, ca-certificates
Standards-Version: 4.6.2
Package: blue-build-cli
Architecture: any
Depends: \${shlibs:Depends}, \${misc:Depends}
Description: Blue Build Command Line Interface
Blue Build CLI provides command-line tools for managing
blue-build recipes and building container images.
EOF
cat > debian/rules << EOF
#!/usr/bin/make -f
%:
dh \$@
override_dh_auto_install:
dh_auto_install
mkdir -p debian/blue-build-cli/usr/bin
cp target/release/blue-build-cli debian/blue-build-cli/usr/bin/
EOF
cat > debian/changelog << EOF
blue-build-cli (1.0.0-1) unstable; urgency=medium
* Initial release
* Blue Build CLI implementation
-- Blue Build Team <team@blue-build.org> $(date -R)
EOF
cat > debian/compat << EOF
13
EOF
chmod +x debian/rules
- name: Build Debian package
run: |
dpkg-buildpackage -us -uc -b
ls -la ../*.deb
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: blue-build-cli-deb
path: ../*.deb
retention-days: 30
test:
name: Test Rust CLI
runs-on: ubuntu-latest
container:
image: rust:1.75-bullseye
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Rust environment
run: |
rustc --version
cargo --version
- name: Download Rust dependencies
run: cargo fetch
- name: Run tests
run: cargo test
- name: Test CLI help
run: |
cargo build --release
./target/release/blue-build-cli --help || echo "Help command not implemented yet"