- Install nodejs and npm in both workflows
- Required for Forgejo Actions artifact upload functionality
- This should resolve the 'node: executable file not found' error
- Both workflows now have all necessary dependencies
- Install zip package in both workflows
- Required for creating compressed artifacts before upload
- This should resolve the final CI/CD failure
- All other steps now working perfectly!
- Run cargo fmt to fix all formatting issues
- Resolves formatting differences in:
- src/bootupd.rs
- src/cli/bootupctl.rs
- src/packagesystem.rs
- All code now passes cargo fmt --check
- All code passes cargo clippy
- This should resolve the final CI/CD failure
- Install clippy, rustfmt, rust-src, and rust-analysis components
- Add additional system packages: pkg-config, build-essential
- Follow the same pattern as original bootupd project
- This should resolve all missing component errors in CI/CD
- Components are installed after Rust toolchain is verified
- Change from rust:1.89-slim-trixie to rust:1.89 (full image)
- Remove manual rustup component add clippy and rustfmt
- Full rust:1.89 image includes all components by default
- This eliminates the 'whack-a-mole' approach of adding packages one by one
- Update build info files to reflect new container image
- Should resolve all missing component errors in CI/CD
- Add 'rustup component add rustfmt' to both workflows
- Resolves 'cargo-fmt is not installed' error
- Now workflows can run formatting checks after successful compilation
- Combined with clippy, this completes the Rust toolchain setup
- Workflow should now complete successfully with all quality checks
- Add 'rustup component add clippy' to both workflows
- Resolves 'cargo-clippy is not installed' error
- Now workflows can run clippy linting after successful compilation
- Maintains all previous improvements (file command, container fixes)
- Install 'file' package in both workflows to show binary information
- Fix outdated comment in simple-build workflow
- Resolves 'file: not found' error that was causing workflow failure
- Now workflows can properly display binary details after compilation
- Correct tag format from rust:1.89-debian-trixie to rust:1.89-slim-trixie
- Update all build info files to reflect correct container image name
- Fixes 'manifest unknown' Docker pull errors in both workflows
- Uses the slim variant for smaller, faster container pulls
- Replace debian:trixie with rust:1.89-debian-trixie-slim
- Rust 1.89.0 is pre-installed and > 1.84.1 requirement
- Eliminate complex rustup installation and toolchain management
- Remove Cargo.lock version 4 regeneration logic (not needed with Rust 1.89.0)
- Simplify setup steps and reduce build time
- Update environment variables and build info to reflect new container
- Both workflows now use the same optimized approach
- Change container image from debian:13 to debian:trixie (correct tag)
- Update environment variable to show '13 (Trixie)' for clarity
- Add explanatory comments about Debian tag naming convention
- Fixes 'manifest unknown' Docker pull errors in both workflows
- Change from Ubuntu to Debian 13 containers for both workflows
- Update environment variables from UBUNTU_VERSION to DEBIAN_VERSION
- Add explanatory comments about using Debian for Debian-focused project
- Update build info files to reflect Debian version instead of Ubuntu
- Maintain all Rust toolchain and build logic improvements
- Add Rust version checking to ensure 1.84.1+ requirement is met
- Force install latest nightly toolchain if version is too old
- Consolidate Rust installation and environment setup in simple workflow
- Fix PATH persistence between workflow steps
- Add better error handling and version validation
- Fix Cargo.lock version 4 compatibility by using nightly Rust toolchain
- Replace actions/checkout with manual git clone to avoid Node.js dependency
- Update simple-build.yml to use Ubuntu container and manual checkout
- Add Cargo.lock regeneration logic for version compatibility
- Ensure both workflows can handle modern Rust lock file versions
- Add comprehensive build-artifacts.yml workflow with Forgejo Package Registry upload
- Add simple-build.yml workflow for basic artifact management
- Update README.md with workflow documentation and setup instructions
- Fix debian/rules to correctly create bootupctl symlink to /usr/libexec/bootupd
- Improve error handling and validation throughout the codebase
- Remove unused functions and imports
- Update documentation to clarify bootupd is not a daemon
- Fix binary layout to match RPM packaging pattern
- Flattened nested bootupd/bootupd/ structure to root level
- Moved all core project files to root directory
- Added proper Debian packaging structure (debian/ directory)
- Created build scripts and CI configuration
- Improved project organization for CI/CD tools
- All Rust source, tests, and configuration now at root level
- Added GitHub Actions workflow for automated testing
- Maintained all original functionality while improving structure