Reusable GitHub Actions workflows for Artagon projects providing standardized CI/CD pipelines for Maven, C/C++, Bazel, and Gradle builds.
Artagon Workflows is a production-ready collection of reusable GitHub Actions workflows with enterprise-grade security, compliance, and best practices.
- 20+ Reusable Workflows - Build, test, release, and security scanning
- Security-First Design - All actions pinned to commit SHAs, input validation, least-privilege permissions
- Multi-Language Support - Java/Maven, C/C++/CMake, Bazel, Gradle, Rust
- Release Automation - Maven Central, GitHub Releases, Docker Hub
- Security Scanning - CodeQL, dependency review, vulnerability scanning
| Build System | CI | Release | Security |
|---|---|---|---|
| Maven | maven_ci.yml |
maven_release.yml |
maven_security_scan.yml |
| CMake (C) | cmake_c_ci.yml |
cmake_c_release.yml |
- |
| CMake (C++) | cmake_cpp_ci.yml |
cmake_cpp_release.yml |
- |
| Bazel | bazel_multi_ci.yml |
bazel_multi_release.yml |
- |
| Gradle | gradle_build.yml |
gradle_release.yml |
- |
| Rust | rust_ci.yml |
Planned | - |
artagon-workflows/
├── .github/
│ ├── workflows/ # 24+ reusable workflow files
│ ├── ISSUE_TEMPLATE/ # Issue templates (spec, proposal, bug)
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── CODEOWNERS
│ ├── copilot-instructions.md
│ └── copilot-review-instructions.md
├── openspec/ # Spec-driven development
│ ├── AGENTS.md # AI agent instructions
│ ├── project.md # Project context
│ ├── contributing.md # Contribution guidelines
│ ├── specs/ # Capability specifications
│ │ ├── workflow-security/ # Security requirements
│ │ ├── maven-workflows/ # Maven workflow specs
│ │ ├── cmake-workflows/ # CMake workflow specs
│ │ └── bazel-workflows/ # Bazel workflow specs
│ └── changes/ # Change proposals and archive
├── .agents/ # AI agent context
│ ├── context/ # Glossary and context
│ ├── policies/ # Security guardrails
│ └── workflows/ # Agent workflow guides
├── docs/ # Operational documentation
├── examples/ # Usage examples
├── templates/ # Starter templates
└── test/ # Test fixtures
name: CI
on: [push, pull_request]
jobs:
ci:
uses: artagon/artagon-workflows/.github/workflows/maven_ci.yml@v1
secrets: inheritname: CI
on: [push, pull_request]
jobs:
ci:
uses: artagon/artagon-workflows/.github/workflows/cmake_cpp_ci.yml@v1
with:
cmake-options: '-DCMAKE_BUILD_TYPE=Release'
secrets: inheritname: CI
on: [push, pull_request]
jobs:
ci:
uses: artagon/artagon-workflows/.github/workflows/bazel_multi_ci.yml@v1
with:
bazel-configs: 'release,debug'
secrets: inheritname: CI
on: [push, pull_request]
jobs:
ci:
uses: artagon/artagon-workflows/.github/workflows/rust_ci.yml@main
with:
rust-version: 'stable'
secrets: inherit# Pin to major version (recommended)
uses: artagon/artagon-workflows/.github/workflows/maven_ci.yml@v1
# Pin to specific release
uses: artagon/artagon-workflows/.github/workflows/maven_ci.yml@v1.2.0All workflows follow strict security requirements:
- Action Pinning - All actions pinned to commit SHAs
- Permissions - Explicit least-privilege permissions on all jobs
- Input Validation - All user inputs validated before shell execution
- Secret Handling - Secrets in config files, never in CLI arguments
- Binary Verification - Checksum verification for all downloads
See openspec/specs/workflow-security/spec.md for details.
This repository uses OpenSpec for spec-driven development.
- Specs (
openspec/specs/) - Current truth: what IS built - Changes (
openspec/changes/) - Proposals: what SHOULD change - Archive (
openspec/changes/archive/) - History: completed changes
openspec list # Active changes
openspec list --specs # Capabilities
openspec show [item] # View details
openspec validate --strict # Validate
openspec archive <id> --yes # Archive after deployment- Create - Proposal in
openspec/changes/<change-id>/ - Implement - Follow
tasks.md, reference spec issue - Archive - Move to archive after deployment
- Close - Update specs, close GitHub issue
See openspec/AGENTS.md for complete workflow.
- Testing Guide - Workflow testing procedures
This repository uses OpenSpec for contributions. See:
- openspec/contributing.md - Contribution workflow
- CONTRIBUTING.md - General guidelines
# OpenSpec changes
feature/workflows(<issue#>)-<short-name>
# Other changes
<type>/<scope>-<description>- Reference spec issue for implementations
- Security checklist for workflow changes
- All actions pinned to SHAs
- Permissions declared on all jobs
For AI assistants working on this repository:
- AGENTS.md - Entry point
- CLAUDE.md - Claude-specific instructions
- COPILOT.md - Copilot context
- openspec/AGENTS.md - Detailed workflow
- .agents/ - Context and policies
Dual-licensed under AGPL-3.0 and Commercial licenses. See LICENSE.