cinzel, pronounced as "sin-ZEL" (IPA: /sĩˈzɛl/), is the Portuguese word for chisel.
It's a bidirectional converter between HCL and CI/CD pipeline YAML, with provider-specific mappings (currently GitHub Actions and GitLab CI/CD).
Made with ❤️ by YLD Limited.
Install cinzel using one of these options:
- Download a prebuilt binary from [GitHub Releases][releases] (recommended for most users).
- Install with Homebrew:
brew tap yldio/cinzel
brew install --cask cinzel- Install from source with Go:
go install github.com/yldio/cinzel@latestConfirm installation:
cinzel --helpUse the provider command shape:
cinzel <provider> parse --file <input.hcl> --output-directory <out-dir>
cinzel <provider> unparse --file <input.yaml> --output-directory <out-dir>Example: GitHub Actions parse/unparse:
cinzel github parse --file ./test.hcl --output-directory .github/workflows
cinzel github unparse --file ./.github/workflows/test.yaml --output-directory ./cinzelExample: GitLab CI/CD parse/unparse:
cinzel gitlab parse --file ./pipeline.hcl --output-directory .
cinzel gitlab unparse --file ./.gitlab-ci.yml --output-directory ./cinzelUse --dry-run to print generated content to stdout.
For release operator details about Homebrew automation, see docs/release/homebrew.md.
Providers are the CI/CD platforms that cinzel can convert between HCL and YAML.
See provider/github/README.md for the full HCL schema reference and feature coverage.
See provider/gitlab/README.md for the GitLab HCL schema and conversion coverage.
Please visit the Changelog for more details.
Please check our Code of Conduct.
Contributions are welcome, as well as suggestions for cinzel. Please go over to the Discussions first to understand the current state, features and issues before creating any issue or pull request. ❤️
Please make sure to update tests as appropriate.
This project is licensed under the Apache-2.0 license. See LICENSE for details.
