Getting ready to move out of heavy alpha development. Created ci/cd
This commit is contained in:
parent
d295f9bb4d
commit
9660842092
52 changed files with 1122 additions and 3050 deletions
104
test-debian-build.sh
Executable file
104
test-debian-build.sh
Executable file
|
|
@ -0,0 +1,104 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Test Debian Package Build for apt-ostree
|
||||
# This script tests the debian packaging locally before CI/CD
|
||||
|
||||
set -e
|
||||
|
||||
# Colors
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
RED='\033[0;31m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m'
|
||||
|
||||
print_status() {
|
||||
echo -e "${BLUE}[INFO]${NC} $1"
|
||||
}
|
||||
|
||||
print_success() {
|
||||
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
||||
}
|
||||
|
||||
print_error() {
|
||||
echo -e "${RED}[ERROR]${NC} $1"
|
||||
}
|
||||
|
||||
print_header() {
|
||||
echo ""
|
||||
echo -e "${BLUE}================================${NC}"
|
||||
echo -e "${BLUE}$1${NC}"
|
||||
echo -e "${BLUE}================================${NC}"
|
||||
}
|
||||
|
||||
print_header "Testing apt-ostree Debian Package Build"
|
||||
|
||||
# Check if we're in the right directory
|
||||
if [ ! -f "Cargo.toml" ]; then
|
||||
print_error "Cargo.toml not found. Please run this script from the project root."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d "debian" ]; then
|
||||
print_error "debian/ directory not found. Please ensure Debian packaging files are present."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check prerequisites
|
||||
print_status "Checking prerequisites..."
|
||||
|
||||
for cmd in cargo rustc dpkg-buildpackage; do
|
||||
if ! command -v $cmd &> /dev/null; then
|
||||
print_error "$cmd not found. Please install required build tools."
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
print_success "All prerequisites found"
|
||||
|
||||
# Clean previous builds
|
||||
print_status "Cleaning previous builds..."
|
||||
rm -rf debian/cargo target/release *.deb ../*.deb
|
||||
print_success "Cleanup completed"
|
||||
|
||||
# Test cargo build
|
||||
print_status "Testing cargo build..."
|
||||
cargo build --release
|
||||
print_success "Cargo build successful"
|
||||
|
||||
# Test debian package build
|
||||
print_status "Testing debian package build..."
|
||||
dpkg-buildpackage -us -uc -b
|
||||
print_success "Debian package build successful"
|
||||
|
||||
# Check for built packages
|
||||
print_status "Checking built packages..."
|
||||
if ls -1 ../*.deb 2>/dev/null | grep -q apt-ostree; then
|
||||
print_success "apt-ostree package found"
|
||||
ls -la ../*.deb
|
||||
else
|
||||
print_error "No apt-ostree package found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Test package installation (optional)
|
||||
read -p "Do you want to test package installation? (y/N): " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
print_status "Testing package installation..."
|
||||
sudo dpkg -i ../apt-ostree_*.deb
|
||||
sudo apt-get install -f -y
|
||||
|
||||
# Test installed binary
|
||||
if command -v apt-ostree &> /dev/null; then
|
||||
print_success "apt-ostree installed successfully"
|
||||
apt-ostree --version
|
||||
else
|
||||
print_error "apt-ostree not found after installation"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
print_header "Test Complete!"
|
||||
print_success "Debian package build test passed!"
|
||||
print_status "Ready for CI/CD deployment"
|
||||
Loading…
Add table
Add a link
Reference in a new issue