Commit Graph

83 Commits

Author SHA1 Message Date
iko
5e2eff7f42
Preparing for 0.1.0.0 release (#129)
* MAde project name optional

* Refined readme

* Documented the release procedure

* Updated versions

* Refined the readme some more
2022-02-03 16:07:51 +03:00
mniip
db716ee5b2
Detect unguarded recursion when inspecting object properties and similar things (#128)
* Do check for unguarded recursion in the "silent" branches of schema processing

* Add test

* Make test more throrough

* Fixed tests

Signed-off-by: iko <ilyakooo0@gmail.com>

Co-authored-by: iko <ilyakooo0@gmail.com>
2022-01-24 17:50:56 +03:00
iko
5727f6bf83
Various CI improvements (#123)
* Bumped all of nix

* Drop remove-artifacts

* Redid whole CI

* fixed bash

* fixed cp

* fixed paths

* bumped stack

* Bumped actions

* Fixed formatting in tests

* Bumped nix things

* wip

* Try unbreaking

* cap?

* Actually use macos 😂

* Fixed builds (?)

* Fixed builds (?)

* trace

* removed lowercase

* try caching

* actions/cache@v2.1.7

* fixed caching (?)

* Fixed compaREST-GitHub-Action

* multiple cache keys

* Made keys prettier

* Completed release steps

* Fixed image build and use pre-post for cache

* Don't pre

* Cache full nix

* trigger rebuild

* Rerun

* Use restore keys

* Fix caching?

* Renamed file

* Switch back to /nix/store

* trigger rebuild

* check directory

* wip

* wip

* echo

* Try

* Force rebuild

* Don't remove nix store

* Force rebuild

* sudo chmod +w /nix/store/

* chmod

* wip

* wip

* Cache full nix

* wip

* wip

* wip

* wip

* Rebuild

* wip

* wip

* wip

* Move important stuff

* wip

* xargs

* fix

* normal

* foo

* sudo

* Give up and use cachix

* Checkout before anything else

* Use optimization flags

* Seem to have finalized everything

* fix release assets

* check versions

* move things

* Exit when versions don't match

* Added policeman

* Removed debug stuff

* fix

* Should be working now

* wip

* Set lines

* Made things prettier?

* Incluse test data in cabal

* Actually format all code

* Added format check

* Dist

* Added caching and release to dist

* Added changelog check

* fixed check action

* fixed docker login
2022-01-24 14:37:45 +03:00
iko
3b2fc92138
Update action.yaml 2021-12-13 15:01:44 +03:00
iko
6d8a67339c
Use checks instead of posting comments (#122)
* Fixed warnings

* wip

* wip

* wip

* sha

* wip

* Added project name

* Made check not fail

* Removed Pull Request

* Removed testing things

* Updated docs
2021-09-08 18:07:07 +03:00
mniip
a1ea91fc50
Add a dev and a user guide (#120)
* Add a dev and a user guide

* Changes
2021-09-07 22:33:51 +03:00
iko
e71cbde9c1
Added integration guide (#119) 2021-09-07 22:33:41 +03:00
mniip
f4fd16d247
Naming changes (#117)
* Rename openapi-diff -> comparest

Rename OpenAPI.Checker -> Data.OpenApi.Compare

* Tweak emojis used in reports

* Shuffle imports

* Fix workflow

* Reuse nix

Co-authored-by: iko <ilyakooo0@gmail.com>
2021-08-16 13:41:22 +03:00
iko
c7159b1f76
GitHub actions (#118)
* Initial stab at github actions

* Fixed docker images

* Added run

* old new

* update

* Updated

* Fixed (?)

* Added certs

* Proper safe head

* Use proper API

* Added project name

* Updated docker image

* Started reading the right comments

* Added docker image to CI

* Renamed CI thing

* Increased swap

* Fixed tests

* Fixed docker hub

* Added conditionals back in

* minor refinements
2021-08-06 11:49:00 +03:00
mniip
df894c0d88 Fix comment 2021-08-02 12:13:21 +03:00
iko
9aef830cf6
Added docker image builder and quick start guide (#113)
* wip

* Cleaned things up

* Updated readme

* updated command
2021-07-30 11:55:14 +03:00
mniip
958a653cfc
Refactor categorizing issues (#111)
* Behaviour -> Behavior (consistency)

* Introduce more issue kinds

* typo

* Add equivalence relations on issues

* Refactor issue segregation in the report
2021-07-23 13:57:36 +03:00
iko
23bb0f78cc
Refined CLI and added options (#114)
* show full help on error

* Added signal-exit-code flag
2021-07-23 12:49:52 +03:00
iko
d50b2ba645
Fixed ProdCons value pairs in report (#112)
* Fixed ProdCons value pairs in report

* normalizeProdConsOrientation -> orientProdCons

* Applied fix to PathFragmentsDontMatch
2021-07-23 12:19:22 +03:00
iko
a501f6ed41
Better CLI docs (#106) 2021-07-22 19:07:33 +03:00
mniip
dcd32cbdd9
Tuple items (#108)
* Add implication checks for tuple items

* Parse TupleItems from the source schema

* Add tests

* Refined report wording

Co-authored-by: iko <ilyakooo0@gmail.com>
2021-07-21 16:28:09 +03:00
mniip
7029d2439b
Add disjointness heuristic with the help of partitioning (#107)
* Try to detect disjointness in oneOf via partitioning

* Split OpenAPI.Checker.Validate.Schema into modules

* Refactor schema code

* Tweak error messages for NoContradiction

* Refined reports

Co-authored-by: iko <ilyakooo0@gmail.com>
2021-07-16 15:39:22 +03:00
mniip
2a7f02ae1e
Splitting (#104)
* Fix traces in conjuncted "items" clauses

* Add a couple tests

* Add an initial framework for partitioning (#71) and allow partitioning by an enum

* Try to preserve the logic about enum removal

* Add some tests

* Report partitions in the behavior somehow

* Bumped resolver

* Refined report

* Removed trailing period

Co-authored-by: iko <ilyakooo0@gmail.com>
2021-07-15 18:03:19 +03:00
iko
cc07ccf254
Added preliminary report example (#105) 2021-07-15 09:30:01 +03:00
iko
a8bf43ba9a
Added tool comparison benchmarks scaffolding (#103)
* Added tool comparison benchmarks scaffolding

* Added specs to output

* Added oasdiff

* Added bump.sh

* Added readme
2021-07-12 18:44:30 +03:00
iko
ff54497e24
Added support for modes (#101) 2021-07-02 16:17:53 +03:00
iko
3f2c95f744
Don't fold singleton sections in report (#100)
* Don't fold singletons

* less specific parts of the report should be higher up

* Fixed request-response order
2021-07-02 15:10:35 +03:00
mniip
53ba00e5b6
Add special reporting for when type-restricting clauses have been added (#96)
* Add special reporting for when type-restricting clauses have been added

* Add a note for if issues arise due to a property going from
"additionalProperties" to "properties"

* Changed some wording. Instead of referencing properties by name, errors are now embedded in the behaviour.

* Changed wording of TypesRestricted

Co-authored-by: iko <ilyakooo0@gmail.com>
2021-07-01 17:53:09 +03:00
iko
62a321a537
Added foldable tree report (#91)
* export raw html

* wip

* Added tree style options

* render issues as list
2021-06-28 19:44:47 +03:00
iko
649261f6bc
Fixed some report issues (#88)
* Removed HasUnsupportedFeature

* Embedded direction in error and removed reversed responses

* Swap first two checkCompatibility arguments

* Monomorphised env

closes #47

* Made swapProdCons better

* Added inversion when swapping prodcons

* Show issues when adding restrictions to open field in json schema

* better condition rendering
2021-06-28 13:49:09 +03:00
iko
38341ca51f
Added styling to HTML output (#84)
* Added html template

* added awsm.css submodule

* Embed styling

* Removed extra dependency

* checkout submodules on CI

* Fixed wording

* Rmoved file
2021-06-22 17:15:57 +03:00
iko
2440f23829
Added non-breaking changes to reports (#82)
* bumped resolver

* Added non-breaking changes to report

* Removed dead file

* Added backward issue descriptions

* Issue description reversing

* Changed wording slightly
2021-06-21 20:52:48 +03:00
iko
695c8fb31d
Improved reports (#78)
* Extracted jets

* Split document structure

* Splite removed paths

* bumped resolver

* Better enum errors

* Better removed paths rendering

* Slightly better wording

* Strip empty jetted headers

* Don't check field further if it will fail based on being optional or required

* changed wording slightly

* Slightly changed wording

* Changed wording some more

* Changed wording a lot
2021-06-15 18:57:35 +03:00
iko
f883264b8d
Disabled split sections 2021-06-10 15:12:45 +03:00
iko
5d875c22ce
Split object files (#77)
* Split-objs

* split-sections

* rebuild-ghc-options: true

* split ghc options

* Removed -j

* check memory

* Increased swap

* increased swap

* test options

* Upload artifact

* Removed artifact
2021-06-10 13:08:27 +03:00
iko
f546347431
Update haskell.yml 2021-06-09 14:36:52 +03:00
iko
28519f107b
Made warnings stricter (#76)
* Made warnings stricter

* Fixed imports

* Moved file

* Don't upload artifacts

* Fixed more warnings
2021-06-08 19:12:34 +03:00
iko
5fd5a1cd78
Added JSON Path jets (#75)
* Updated ConstructReportJet variables

* changed ConstructReportJet yet more

* Added support for Union in jets

* Extracted jet args

* observeJetShowErrs'

* Complex Arguments

* Added branching

* Added JSON path jets

* Simplified things

* Better type rendering in report
2021-06-08 17:57:13 +03:00
iko
218336b11e
Added report generation (#73)
* first stab

* Made things compile

* Fixed headers

* Implemented jets

* Added method-path jet

* Added yet more jets

* Rerun tests

* Updated formatting

* Added some issue descriptions

* resolved producer/consumer mixup in schema

* Added UnguardedRecursion descriptions

* Added condition formatting

* Added jet docs

* Added different format outputs
2021-06-05 19:15:04 +03:00
iko
f39734fc00
Update remove-artifacts.yaml 2021-06-03 18:07:16 +03:00
iko
e2340b607f
Update remove-artifacts.yaml 2021-06-03 17:57:23 +03:00
iko
572057f19a
Remove artefacts as fast as possible 2021-06-03 17:26:16 +03:00
iko
7e7c9fa037
Create remove-artifacts.yaml 2021-06-03 16:13:02 +03:00
mniip
1ee90ee5a5
Guarded Recursion (#67)
* Allow guarded recursion

* Add a test for guarded recursion

* Detect and report "unguarded" recursion

* Add test
2021-06-01 18:35:36 +03:00
iko
df1f841721
Fixed boolean/number bug in schema (#74) 2021-05-31 17:20:19 +03:00
mniip
6e454bcf2a
Fix some TODOs in schema and expand some comments (#72)
* Fix some TODOs in schema and expand some comments

* Update src/OpenAPI/Checker/Validate/Schema.hs

Co-authored-by: iko <ilyakooo0@gmail.com>

Co-authored-by: iko <ilyakooo0@gmail.com>
2021-05-28 15:43:30 +03:00
mniip
1e7e283b2c
Re-emit memoized errors at different behaviors (#66)
* Re-emit memoized errors at different behaviors

* Fix client/server vs server/client memoization
2021-05-28 14:45:59 +03:00
iko
b5ed0cb04a
Added callback errors (#65) 2021-05-28 11:44:50 +03:00
iko
b76f48dc5a
Added security schemes (#59)
* Security schemes

* Added simple test
2021-05-25 13:01:44 +03:00
iko
e0ffc455ff
StructuralMemoKey (#62) 2021-05-25 12:55:14 +03:00
iko
5942040f05
Added uuid format (#60) 2021-05-25 12:11:52 +03:00
iko
6817a586b0 Removed emoji 2021-05-21 18:55:09 +03:00
iko
4dbd1b68cf
Releases are now not pre-releases 2021-05-21 17:08:27 +03:00
iko
44a3c27f4c
Slightly better output signalling (#58) 2021-05-21 14:31:58 +03:00
iko
0261ac1a83
Added artifact uploads (#57)
* Added artifact uploads

* Added release uploads
2021-05-21 14:01:48 +03:00