Comments (4)
We can start by checking if the the config is a valid YAML and provide friendly error messages with github.com/adrienverge/yamllint using a method mentioned in adrienverge/yamllint#112 .
from gitlabform.
We have moved this forward a bit in v2.9.0 thanks to switching the YAML parser from PyYAML to ruamel.yaml that by default disallows duplicate dict keys. It is also wrapped in yamlpath that promises to provide more helpful error messages.
I think that the next step will be switch to YAML 1.2 for configuration in gitlabform v3.
UPDATE: ...or not, see #340 (comment).
from gitlabform.
In order to move this forward, it could be considered to provide a JSON Schema that describes the basic structure of the config.yml
file. Providing such schema has multiple advantages:
- The schema can be used when running
gitlabform
to validate whether theconfig.yml
is malformed. Libraries like yamale provide an implementation to validate YAML using JSON Schema (Current PyPi download count / day is ~10.000). - The schema can be integrated into popular IDEs (IDEA, VSCode, etc.) and used for validation, documentation and code completion.
- When added properly to schemastore.org, IDEs automatically detect the schema and offer afore mentioned validation, documentation and code completion out of the box.
WDYT?
from gitlabform.
Closing in favor of the newer #499.
from gitlabform.
Related Issues (20)
- Add `enforce` support for `hooks` configuration HOT 3
- Add support for member_role_id HOT 7
- Is there a way to manage CI/CD settings at project level for "Keep artifacts from most recent successful jobs" using gitlab forms. HOT 3
- black formatting issue after upgrading markupsafe to version 2.1.4
- Entities marked as delete are remove and then added again when not present HOT 3
- 3.9.0 appears to break while setting a project webhook with a token HOT 8
- Transfer project does not work when gitlabform run with ALL_DEFINED or ALL as the target HOT 2
- Uploading Project Avatar HOT 6
- Merge request approvals settings of group HOT 4
- Feature Flags support HOT 5
- Add retry feature HOT 2
- CI/CD settings: Whitelist project for Token Access HOT 1
- merge_requests_approval_rules does not respect protected_branches and breaks execution HOT 8
- [backward incompatible] Add ENTRYPOINT to the Dockerfile HOT 1
- Project transfer failing with --noop
- Error when output file flag is used with dry-run project transfer
- Add your company logo and link to the users list!
- Processing group fails if it has more than 20 members
- Add support for adding a single deploy key to multiple projects in a namespace/group as a non-administrator HOT 3
- Add 'enforce' support for integrations config HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gitlabform.