OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openproject/script/api/validate_spec

28 lines
562 B

#!/usr/bin/env ruby
require 'pathname'
require 'tempfile'
openapi_yaml_spec_path = Pathname(__dir__).join('../../tmp/oas-generated.yml')
full_spec = `#{Pathname(__dir__).join('spec')} --format yaml`
status = $?.exitstatus
if status != 0
warn "failed to bundle the openapi spec yaml file"
exit status
end
status = 1
begin
File.open(openapi_yaml_spec_path, "w+") do |file|
file.puts full_spec
end
`npx @redocly/openapi-cli lint #{openapi_yaml_spec_path}`
status = $?.exitstatus
ensure
FileUtils.rm_f openapi_yaml_spec_path
end
exit status