Skip to content

Add build automation with Makefile and update github workflows#18

Merged
bmcdonald3 merged 3 commits into
mainfrom
chore/add-build-automation
May 5, 2026
Merged

Add build automation with Makefile and update github workflows#18
bmcdonald3 merged 3 commits into
mainfrom
chore/add-build-automation

Conversation

@alexlovelltroy
Copy link
Copy Markdown
Member

This pull request introduces comprehensive improvements to project automation, developer tooling, and compliance for the fru-tracker repository. The changes add a new Makefile with a wide range of developer commands, introduce several GitHub Actions workflows for CI/CD, code quality, security, and compliance, and establish project metadata and configuration for reproducible builds and code generation. These enhancements significantly improve the project's maintainability, automation, and adherence to best practices.

Key changes:

Developer Tooling and Automation

  • Added a detailed Makefile with targets for building, testing (including integration and coverage), linting, formatting, vulnerability scanning, code generation, Docker operations, REUSE compliance, pre-commit hooks, and local GitHub Actions workflow testing. This provides a unified developer experience and enforces project standards.

Continuous Integration and Quality Workflows

  • Introduced multiple GitHub Actions workflows:
    • golangci-lint.yaml for Go linting,
    • codegen-check.yaml to ensure generated code is up to date,
    • PRBuild.yaml for building and validating pull requests,
    • release.yaml for automated releases with provenance attestation,
    • scorecard.yml for supply chain security analysis,
    • REUSE.yaml for license compliance,
    • stale.yml for managing stale issues and PRs. [1] [2] [3] [4] [5] [6] [7]

Project Metadata and Configuration

  • Added .fabrica.yaml to define project metadata, enable code generation features (validation, events, conditional logic, storage, etc.), and configure build and generation settings for the Fabrica toolchain.

These changes collectively establish a strong foundation for automated quality assurance, reproducibility, and compliance in the development process.

For more info, see Contributing Guidelines.

alexlovelltroy and others added 3 commits May 5, 2026 16:46
Signed-off-by: Alex Lovell-Troy <alex@lovelltroy.org>
- Added SPDX license headers to various source files, including Go files, README, and JSON files.
- Updated generated files with new timestamps and license information.
- Refactored integration tests to ensure proper cleanup of resources.
- Improved error handling in the Redfish client.
- Cleaned up unnecessary whitespace and comments in main server logic.
- Updated the discovery snapshot types to include new validation rules.
- Enhanced the device handlers and reconciler registration processes.

Co-authored-by: Copilot <copilot@github.com>
Signed-off-by: Alex Lovell-Troy <alex@lovelltroy.org>
- Regenerated OpenAPI and route files with updated project name and version.
- Updated Go module dependencies to latest versions, including Fabrica and Cobra.
- Refactored client code to support JWT bearer token for authorization.
- Updated copyright year to 2026 across all generated files.
- Removed unimplemented event bus types from event bus middleware.
- Enhanced comments and documentation for clarity and consistency.

Signed-off-by: Alex Lovell-Troy <alex@lovelltroy.org>
@alexlovelltroy alexlovelltroy requested a review from bmcdonald3 May 5, 2026 21:14
@bmcdonald3 bmcdonald3 merged commit 5546cf3 into main May 5, 2026
5 of 6 checks passed
@bmcdonald3 bmcdonald3 deleted the chore/add-build-automation branch May 5, 2026 23:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants