on master help sign in
Merge pull request #2 from ilyakooo0/iko/CI-fixes

Iko/ci fixes

commitb55cdc49ab0ec157c5b980196fcccea3f575a4e8 authoriko <ilyakooo0@gmail.com> dateTue 28 Dec 2021, 16:36 (5 years ago) parent3b2fc92daf0183
55 files changed+368−232
.github/actions/common_setup/action.yaml+42 .github/workflows/github-actions-image.yaml+143−27 .github/workflows/linux-binary.yaml−54 .github/workflows/remove-artifacts.yaml−17 comparest.cabal → compaREST.cabal+10−16 default.nix+55−12 nix/sources.json+18−6 stack.yaml+4−4 stack.yaml.lock+4−4 test/golden/common/bad-oneof-unchanged/report.md+2−2 test/golden/common/enum-added/report.md+2−2 test/golden/common/enum-anyof/report.md+2−2 test/golden/common/id/report.md+2−2 test/golden/common/json/recursive/report.md+2−2 test/golden/common/maximum-lowered/report.md+2−2 test/golden/common/pathItem/operation/parameters/allowEmptyValue/reset/report.md+2−2 test/golden/common/pathItem/operation/parameters/allowEmptyValue/set/report.md+2−2 test/golden/common/pathItem/operation/parameters/change/report.md+2−2 test/golden/common/pathItem/operation/parameters/required/false/add/report.md+2−2 test/golden/common/pathItem/operation/parameters/required/false/del/report.md+2−2 test/golden/common/pathItem/operation/parameters/required/reset/report.md+2−2 test/golden/common/pathItem/operation/parameters/required/set/report.md+2−2 test/golden/common/pathItem/operation/parameters/required/true/add/report.md+2−2 test/golden/common/pathItem/operation/parameters/required/true/del/report.md+2−2 test/golden/common/pathItem/operation/requestBody/mediaTypeObject/add/report.md+2−2 test/golden/common/pathItem/operation/requestBody/mediaTypeObject/change/report.md+2−2 test/golden/common/pathItem/operation/requestBody/mediaTypeObject/del/report.md+2−2 test/golden/common/pathItem/operation/requestBody/required/reset/report.md+2−2 test/golden/common/pathItem/operation/requestBody/required/set/report.md+2−2 test/golden/common/pathItem/operation/responses/add/report.md+2−2 test/golden/common/pathItem/operation/responses/change/headers/mandatory/add/report.md+2−2 test/golden/common/pathItem/operation/responses/change/headers/mandatory/del/report.md+2−2 test/golden/common/pathItem/operation/responses/change/headers/optional/add/report.md+2−2 test/golden/common/pathItem/operation/responses/change/headers/optional/del/report.md+2−2 test/golden/common/pathItem/operation/responses/change/mediaTypeObject/add/report.md+2−2 test/golden/common/pathItem/operation/responses/change/mediaTypeObject/change/report.md+2−2 test/golden/common/pathItem/operation/responses/change/mediaTypeObject/del/report.md+2−2 test/golden/common/pathItem/operation/responses/del/report.md+2−2 test/golden/common/property-removed-additional/report.md+2−2 test/golden/common/property-removed/report.md+2−2 test/golden/common/property-required/report.md+2−2 test/golden/common/random-example/report.md+2−2 test/golden/common/recursive/report.md+2−2 test/golden/common/security-scheme/report.md+2−2 test/golden/common/servers/report.md+2−2 test/golden/common/tuple-items/heterogeneous-component-mismatch/report.md+2−2 test/golden/common/tuple-items/heterogeneous-length-mismatch/report.md+2−2 test/golden/common/tuple-items/homogeneous-component-mismatch/report.md+2−2 test/golden/common/tuple-items/homogeneous-length-mismatch/report.md+2−2 test/golden/common/tuple-items/homogeneous-vector/report.md+2−2 test/golden/common/type-changing/report.md+2−2 test/golden/common/unguarded-recursive/report.md+2−2 test/golden/common/variant-added/report.md+2−2 test/golden/common/variant-changed/report.md+2−2 test/golden/common/variant-deep-changed/report.md+2−2
.github/actions/common_setup/action.yamlnew file+42
@@ -0,0 +1,42 @@
1+name: "Common setup"
2+description: "Common setup steps"
3+inputs:
4+ authToken:
5+ description: "Cachix auth token"
6+ required: true
7+runs:
8+ using: "composite"
9+ steps:
10+ - name: Increase swap if linux
11+ shell: bash
12+ run: |
13+ if [ "$RUNNER_OS" == "Linux" ]; then
14+
15+ echo "Is Linux"
16+
17+ free -h
18+
19+ sudo swapoff /mnt/swapfile
20+ sudo fallocate -l 12G /mnt/swapfile
21+ sudo mkswap /mnt/swapfile
22+ sudo swapon /mnt/swapfile
23+
24+ free -h
25+
26+ else
27+
28+ echo "Not Linux"
29+
30+ fi
31+
32+ - name: Install Nix
33+ uses: cachix/install-nix-action@v16
34+ with:
35+ extra_nix_config: |
36+ system-features = kvm
37+ trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
38+ substituters = https://hydra.iohk.io https://cache.nixos.org/
39+ - uses: cachix/cachix-action@v10
40+ with:
41+ name: typeable
42+ authToken: "${{ inputs.authToken }}"
.github/workflows/github-actions-image.yaml+143−27
@@ -5,52 +5,168 @@ on:
55 branches: [master]
66 pull_request:
77 branches: [master]
8+ release:
9+ types: [prereleased]
810
911jobs:
10− build-github-action-image:
12+ Linux:
1113 runs-on: ubuntu-latest
12−
1314 steps:
1415 - uses: actions/checkout@v2
1516 with:
1617 submodules: recursive
17− - name: Increase swap
18+
19+ - name: Common setup
20+ uses: ./.github/actions/common_setup
21+ with:
22+ authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
23+
24+ - name: Test
25+ shell: bash
1826 run: |
19− free -h
27+ $(nix-build -A test -j auto --no-out-link)/bin/compaREST-tests
2028
21− sudo swapoff /mnt/swapfile
22− sudo fallocate -l 12G /mnt/swapfile
23− sudo mkswap /mnt/swapfile
24− sudo swapon /mnt/swapfile
29+ - name: Build Linux static binary
30+ shell: bash
31+ run: |
32+ cp $(nix-build -A compaRESTStaticBin -j auto --no-out-link)/bin/compaREST compaREST
2533
26− free -h
34+ - name: Upload compaREST Linux Binary
35+ uses: actions/upload-artifact@v2
36+ with:
37+ name: compaREST-Linux
38+ path: compaREST
2739
28− - name: Install Nix
29− uses: cachix/install-nix-action@v12
40+ - name: Build Docker Images
41+ shell: bash
42+ run: |
43+ cp $(nix-build -A compaRESTGithubAction -j auto --no-out-link) compaREST-Github-Action-image.tar.gz
44+ cp $(nix-build -A compaRESTImage -j auto --no-out-link) compaREST-image.tar.gz
45+
46+ - name: Upload compaREST Docker Github Action Image
47+ uses: actions/upload-artifact@v2
3048 with:
31− extra_nix_config: |
32− trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
33− substituters = https://hydra.iohk.io https://cache.nixos.org/
49+ name: compaREST Github Action Docker Image
50+ path: compaREST-Github-Action-image.tar.gz
3451
35− - name: Login to Cachix
36− uses: cachix/cachix-action@v8
52+ - name: Upload compaREST Docker Image
53+ uses: actions/upload-artifact@v2
3754 with:
38− name: octopod
39− signingKey: ${{ secrets.CACHIX_SIGNING_KEY }}
55+ name: compaREST Docker Image
56+ path: compaREST-image.tar.gz
4057
41− - name: Build Github Action Docker Image
58+ - name: Install skopeo
59+ if: github.event_name == 'release'
60+ shell: bash
4261 run: |
43− nix-build -A compaRESTGithubAction -j auto -o image
62+ sudo apt-get -y update
63+ sudo apt-get -y install skopeo
4464
45− - name: Log into Docker Hub
46− if: github.ref == 'refs/heads/master'
47− uses: docker/login-action@v1
65+ - name: Login to DockerHub
66+ uses: docker/login-action@v1.10.0
4867 with:
4968 username: ${{ secrets.DOCKER_HUB_USERNAME }}
5069 password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
5170
52− - name: Upload Image to Docker Hub
53− if: github.ref == 'refs/heads/master'
71+ - name: Push Nightly Docker Images to DockerHub
72+ if: github.ref == 'refs/heads/master' && github.event_name == 'push'
73+ shell: bash
5474 run: |
55− docker load -i image
56− docker push typeable/comparest-github-action:latest
75+ skopeo copy docker-archive:$(nix-build -A compaRESTGithubAction -j auto --no-out-link) docker://typeable/comparest-github-action:nightly
76+ skopeo copy docker-archive:$(nix-build -A compaRESTImage -j auto --no-out-link) docker://typeable/comparest:nightly
77+
78+ - name: Push Release Docker Images to DockerHub
79+ if: github.event_name == 'release'
80+ shell: bash
81+ run: |
82+ skopeo copy docker-archive:$(nix-build -A compaRESTGithubAction -j auto --no-out-link) docker://typeable/comparest-github-action:${{ github.event.release.tag_name }}
83+ skopeo copy docker-archive:$(nix-build -A compaRESTImage -j auto --no-out-link) docker://typeable/comparest:${{ github.event.release.tag_name }}
84+
85+ - name: Upload compaREST Github Action Docker Image to release
86+ if: github.event_name == 'release'
87+ uses: svenstaro/upload-release-action@2.2.1
88+ with:
89+ repo_token: ${{ secrets.GITHUB_TOKEN }}
90+ file: compaREST-Github-Action-image.tar.gz
91+ asset_name: compaREST Github Action Docker Image
92+ tag: ${{ github.ref }}
93+
94+ - name: Upload compaREST Docker Image to release
95+ if: github.event_name == 'release'
96+ uses: svenstaro/upload-release-action@2.2.1
97+ with:
98+ repo_token: ${{ secrets.GITHUB_TOKEN }}
99+ file: compaREST-image.tar.gz
100+ asset_name: compaREST Docker Image
101+ tag: ${{ github.ref }}
102+
103+ - name: Upload compaREST binary – Linux – x86 to release
104+ if: github.event_name == 'release'
105+ uses: svenstaro/upload-release-action@2.2.1
106+ with:
107+ repo_token: ${{ secrets.GITHUB_TOKEN }}
108+ file: compaREST
109+ asset_name: compaREST binary – Linux – x86
110+ tag: ${{ github.ref }}
111+
112+ macOS:
113+ runs-on: macos-latest
114+ steps:
115+ - uses: actions/checkout@v2
116+ with:
117+ submodules: recursive
118+
119+ - name: Common setup
120+ uses: ./.github/actions/common_setup
121+ with:
122+ authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
123+
124+ - name: Build macOS binary bundle
125+ run: |
126+ cp -LR $(nix-build -A macOSCompaRESTBundle -j auto --no-out-link) compaREST
127+
128+ - name: Upload macOS compaREST bundle
129+ uses: actions/upload-artifact@v2
130+ with:
131+ name: compaREST binary – macOS – x86
132+ path: compaREST
133+
134+ - name: Upload compaREST binary – macOS – x86 to release
135+ if: github.event_name == 'release'
136+ uses: svenstaro/upload-release-action@2.2.1
137+ with:
138+ repo_token: ${{ secrets.GITHUB_TOKEN }}
139+ file: compaREST
140+ asset_name: compaREST binary – macOS – x86
141+ tag: ${{ github.ref }}
142+
143+ Linux-Windows:
144+ runs-on: ubuntu-latest
145+ steps:
146+ - uses: actions/checkout@v2
147+ with:
148+ submodules: recursive
149+
150+ - name: Common setup
151+ uses: ./.github/actions/common_setup
152+ with:
153+ authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
154+
155+ - name: Build Windows binary
156+ run: |
157+ cp -LR $(nix-build -A WindowsCompaRESTBin -j auto --no-out-link)/bin compaREST
158+
159+ - name: Upload Windows compaREST bundle
160+ uses: actions/upload-artifact@v2
161+ with:
162+ name: compaREST binary – Windows
163+ path: compaREST
164+
165+ - name: Upload compaREST binary – Windows to release
166+ if: github.event_name == 'release'
167+ uses: svenstaro/upload-release-action@2.2.1
168+ with:
169+ repo_token: ${{ secrets.GITHUB_TOKEN }}
170+ file: compaREST
171+ asset_name: compaREST binary – Windows
172+ tag: ${{ github.ref }}
.github/workflows/linux-binary.yamldeleted−54
@@ -1,54 +0,0 @@
1−name: Linux binary
2−
3−on:
4− push:
5− branches: [master]
6− pull_request:
7− branches: [master]
8−
9−jobs:
10− linux-build:
11− runs-on: ubuntu-latest
12−
13− steps:
14− - uses: actions/checkout@v2
15− with:
16− submodules: recursive
17− - name: Cache
18− uses: actions/cache@v1
19− with:
20− path: ~/.stack
21− key: ${{ runner.os }}-build-stack-${{ hashFiles('**/stack.yaml') }}-${{ hashFiles('**/*.cabal') }}
22− restore-keys: |
23− ${{ runner.os }}-build-stack-${{ hashFiles('**/stack.yaml') }}
24− ${{ runner.os }}-build-stack-
25− - name: Increase swap
26− run: |
27− free -h
28−
29− sudo swapoff /mnt/swapfile
30− sudo fallocate -l 13G /mnt/swapfile
31− sudo mkswap /mnt/swapfile
32− sudo swapon /mnt/swapfile
33−
34− free -h
35−
36− - name: Build
37− run: |
38− stack build --ghc-options=-O3 --local-bin-path comparest-linux --copy-bins --flag comparest:Static
39− - name: Test
40− run: stack test --ghc-options=-O3 --flag comparest:Static --test-arguments='--hide-successes --no-create'
41−
42− - name: Zip
43− if: github.ref == 'refs/heads/master'
44− run: |
45− zip comparest-linux comparest-linux/comparest
46− - uses: "marvinpinto/action-automatic-releases@latest"
47− if: github.ref == 'refs/heads/master'
48− with:
49− repo_token: "${{ secrets.GITHUB_TOKEN }}"
50− automatic_release_tag: "latest"
51− prerelease: false
52− title: "Pre-Release"
53− files: |
54− *.zip
.github/workflows/remove-artifacts.yamldeleted−17
@@ -1,17 +0,0 @@
1−name: Remove old artifacts
2−
3−on:
4− schedule:
5− - cron: '0 0 * * *'
6−jobs:
7− remove-old-artifacts:
8− runs-on: ubuntu-latest
9− timeout-minutes: 10
10−
11− steps:
12− - name: Remove old artifacts
13− uses: c-hive/gha-remove-artifacts@v1
14− with:
15− age: '7 days'
16− skip-tags: true
17− skip-recent: 10
comparest.cabal → compaREST.cabalrenamed+10−16
@@ -1,12 +1,12 @@
11cabal-version: 2.4
2−name: comparest
2+name: compaREST
33version: 0.0.0.0
44synopsis: Compatibility checker for OpenAPI
55description: Compatibility checker for OpenAPI.
66license: MIT
77license-file: LICENSE
88author: Typeable
9−maintainer: comparest@typeable.io
9+maintainer: compaREST@typeable.io
1010copyright: 2021 Typeable
1111category: Web
1212build-type: Simple
@@ -15,15 +15,7 @@ extra-doc-files: README.md
1515tested-with: GHC == 8.10.4
1616extra-source-files: awsm-css/dist/awsm.min.css
1717
18−Flag static
19− Default: False
20− Manual: True
21−
2218common common-options
23− if flag(static)
24− cc-options: -static
25− ld-options: -static -pthread
26− ghc-options: -static
2719 ghc-options:
2820 -Weverything
2921 -Wno-implicit-prelude
@@ -40,6 +32,7 @@ common common-options
4032 build-depends: base >= 4.12.0.0 && < 4.16
4133 , text
4234
35+
4336 default-extensions: ApplicativeDo
4437 , BangPatterns
4538 , ConstraintKinds
@@ -81,6 +74,7 @@ common common-options
8174 , QuantifiedConstraints
8275 , DefaultSignatures
8376
77+
8478library
8579 import: common-options
8680 build-depends:
@@ -151,12 +145,12 @@ library
151145 other-modules: Data.HList
152146 , Data.OpenUnion.Extra
153147
154−executable comparest
148+executable compaREST
155149 import: common-options
156150 hs-source-dirs: app
157151 main-is: Main.hs
158152 build-depends:
159− comparest
153+ compaREST
160154 , pandoc
161155 , data-default
162156 , bytestring
@@ -175,12 +169,12 @@ executable comparest
175169 FormatHeuristic
176170 Data.OpenApi.Compare.Options
177171
178−executable comparest-github-action
172+executable compaREST-GitHub-Action
179173 import: common-options
180174 hs-source-dirs: github-action
181175 main-is: Main.hs
182176 build-depends:
183− comparest
177+ compaREST
184178 , pandoc
185179 , yaml
186180 , aeson
@@ -201,7 +195,7 @@ executable comparest-github-action
201195 GitHub.Data.Checks
202196 GitHub.Endpoints.Checks
203197
204−test-suite comparest-tests
198+test-suite compaREST-tests
205199 import: common-options
206200 type: exitcode-stdio-1.0
207201 hs-source-dirs: test
@@ -210,7 +204,7 @@ test-suite comparest-tests
210204 Spec.Golden.Extra
211205 Spec.Golden.TraceTree
212206 build-depends:
213− , comparest
207+ , compaREST
214208 , tasty-golden
215209 , tasty
216210 , bytestring
default.nix+55−12
@@ -5,6 +5,8 @@
55, nix-filter ? import sources.nix-filter
66}:
77let
8+ masterPkgs = import sources.nixpkgs { inherit system; };
9+
810 hsPkgs = pkgs.haskell-nix.stackProject {
911 src = nix-filter {
1012 root = ./.;
@@ -12,7 +14,7 @@ let
1214 include = [
1315 ./stack.yaml
1416 ./stack.yaml.lock
15− ./comparest.cabal
17+ ./compaREST.cabal
1618 ];
1719 };
1820
@@ -21,11 +23,17 @@ let
2123 dontStrip = false;
2224 dontPatchELF = false;
2325 enableDeadCodeElimination = true;
24− packages.comparest.src = nix-filter {
26+ ghcOptions = [
27+ "-O2"
28+ "-fexpose-all-unfoldings"
29+ "-fspecialise-aggressively"
30+ ];
31+ packages.pandoc.ghcOptions = [ "-O1" ];
32+ packages.compaREST.src = nix-filter {
2533 root = ./.;
2634 name = "compaREST-src";
2735 include = with nix-filter; [
28− (./comparest.cabal)
36+ (./compaREST.cabal)
2937 (inDirectory ./test)
3038 (inDirectory ./src)
3139 (inDirectory ./app)
@@ -45,27 +53,62 @@ let
4553 ${pkgs.nukeReferences}/bin/nuke-refs $out/bin/*
4654 '';
4755
48− compaREST = pkgs.dockerTools.buildImage {
56+ compaRESTBin = hsPkgs.compaREST.components.exes.compaREST;
57+ compaRESTStaticBin = (staticify "compaREST-static" hsPkgs.projectCross.musl64.hsPkgs.compaREST.components.exes.compaREST);
58+
59+
60+ # doesn't work
61+ armDarwinCompaREST = hsPkgs.projectCross.aarch64-darwin.hsPkgs.compaREST.components.exes.compaREST;
62+
63+ compaRESTImage = pkgs.dockerTools.buildImage {
4964 name = "compaREST";
50− contents = [ (staticify "compaREST-static" hsPkgs.projectCross.musl64.hsPkgs.comparest.components.exes.comparest) ];
65+ contents = [ compaRESTStaticBin ];
5166 config = {
52− Entrypoint = [ "/bin/comparest" ];
67+ Entrypoint = [ "/bin/compaREST" ];
5368 };
5469 };
5570
71+ macOSCompaRESTBundle = pkgs.runCommand "compaREST-macOS-bundled"
72+ {
73+ buildInputs = [ masterPkgs.macdylibbundler ];
74+ } ''
75+ mkdir -p $out/lib
76+ cp ${compaRESTBin}/bin/compaREST $out/compaREST
77+ chmod 755 $out/compaREST
78+ dylibbundler -b \
79+ -x $out/compaREST \
80+ -d $out/lib \
81+ -p '@executable_path/lib'
82+ '';
83+
84+
5685 compaRESTGithubAction =
5786 let
58− action = staticify "compaREST-github-action-static" hsPkgs.projectCross.musl64.hsPkgs.comparest.components.exes.comparest-github-action;
59− wrapped = pkgs.runCommand "wrapped-compaREST-github-action" { buildInputs = [ pkgs.makeWrapper ]; } ''
60− makeWrapper ${action}/bin/comparest-github-action $out/bin/pre --add-flags "pre"
61− makeWrapper ${action}/bin/comparest-github-action $out/bin/run --add-flags "run"
87+ action = staticify "compaREST-GitHub-Action-static" hsPkgs.projectCross.musl64.hsPkgs.compaREST.components.exes.compaREST-GitHub-Action;
88+ wrapped = pkgs.runCommand "wrapped-compaREST-GitHub-Action" { buildInputs = [ pkgs.makeWrapper ]; } ''
89+ makeWrapper ${action}/bin/compaREST-GitHub-Action $out/bin/pre --add-flags "pre"
90+ makeWrapper ${action}/bin/compaREST-GitHub-Action $out/bin/run --add-flags "run"
6291 '';
6392 in
6493 pkgs.dockerTools.buildImage {
65− name = "typeable/comparest-github-action";
94+ name = "typeable/compaREST-GitHub-Action";
6695 tag = "latest";
6796 contents = [ wrapped pkgs.cacert ];
6897 };
6998
99+ WindowsCompaRESTBin = hsPkgs.projectCross.mingwW64.hsPkgs.compaREST.components.exes.compaREST;
70100in
71−{ inherit compaREST compaRESTGithubAction hsPkgs haskellNix; }
101+{
102+ inherit
103+ compaRESTImage
104+ compaRESTGithubAction
105+ compaRESTStaticBin
106+ compaRESTBin
107+ hsPkgs
108+ macOSCompaRESTBundle
109+ WindowsCompaRESTBin;
110+
111+ # We use the static version so that we don't have to rebuild everything on CI.
112+ # The only binaries build on CI are static.
113+ test = hsPkgs.projectCross.musl64.hsPkgs.compaREST.components.tests.compaREST-tests;
114+}
nix/sources.json+18−6
@@ -5,10 +5,10 @@
55 "homepage": "https://input-output-hk.github.io/haskell.nix",
66 "owner": "input-output-hk",
77 "repo": "haskell.nix",
8− "rev": "1992b910e9b4d880e1f4639f4fe7266bceb9a5ad",
9− "sha256": "15w3wixjnb52f7cj3s94fy0zc0l1gc94p3n2wyq3qqxj10hvirfw",
8+ "rev": "c8a8f57de3c14fcf1c5cda045ed885fb6d06a00e",
9+ "sha256": "0frzmvz8rhb4vgx20qms9xxqbkmg5pwivis4qis63ny5wxclzb34",
1010 "type": "tarball",
11− "url": "https://github.com/input-output-hk/haskell.nix/archive/1992b910e9b4d880e1f4639f4fe7266bceb9a5ad.tar.gz",
11+ "url": "https://github.com/input-output-hk/haskell.nix/archive/c8a8f57de3c14fcf1c5cda045ed885fb6d06a00e.tar.gz",
1212 "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
1313 },
1414 "niv": {
@@ -17,10 +17,10 @@
1717 "homepage": "https://github.com/nmattia/niv",
1818 "owner": "nmattia",
1919 "repo": "niv",
20− "rev": "e0ca65c81a2d7a4d82a189f1e23a48d59ad42070",
21− "sha256": "1pq9nh1d8nn3xvbdny8fafzw87mj7gsmp6pxkdl65w2g18rmcmzx",
20+ "rev": "5830a4dd348d77e39a0f3c4c762ff2663b602d4c",
21+ "sha256": "1d3lsrqvci4qz2hwjrcnd8h5vfkg8aypq3sjd4g3izbc8frwz5sm",
2222 "type": "tarball",
23− "url": "https://github.com/nmattia/niv/archive/e0ca65c81a2d7a4d82a189f1e23a48d59ad42070.tar.gz",
23+ "url": "https://github.com/nmattia/niv/archive/5830a4dd348d77e39a0f3c4c762ff2663b602d4c.tar.gz",
2424 "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
2525 },
2626 "nix-filter": {
@@ -34,5 +34,17 @@
3434 "type": "tarball",
3535 "url": "https://github.com/numtide/nix-filter/archive/3c9e33ed627e009428197b07216613206f06ed80.tar.gz",
3636 "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
37+ },
38+ "nixpkgs": {
39+ "branch": "master",
40+ "description": "Nix Packages collection",
41+ "homepage": "",
42+ "owner": "NixOS",
43+ "repo": "nixpkgs",
44+ "rev": "f0fe5e9ba08e658474476317717aca7acacef4d4",
45+ "sha256": "1n5syynwmg3x8lj2kyb2ilbxw5nmw7f2kw6yxsi8qadx91hrvkwm",
46+ "type": "tarball",
47+ "url": "https://github.com/NixOS/nixpkgs/archive/f0fe5e9ba08e658474476317717aca7acacef4d4.tar.gz",
48+ "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
3749 }
3850}
stack.yaml+4−4
@@ -1,4 +1,7 @@
1−resolver: lts-18.4
1+resolver: lts-18.16
2+
3+packages:
4+ - .
25
36extra-deps:
47 - open-union-0.4.0.0
@@ -6,6 +9,3 @@ extra-deps:
69 - github-0.26
710 - base16-bytestring-0.1.1.7
811 - http-link-header-1.0.3.1
9−
10−apply-ghc-options: everything
11−rebuild-ghc-options: true
stack.yaml.lock+4−4
@@ -41,7 +41,7 @@ packages:
4141 hackage: http-link-header-1.0.3.1
4242snapshots:
4343- completed:
44− size: 585817
45− url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/4.yaml
46− sha256: ea3a318eafa9e9cc56bfbe46099fd0d54d32641ab7bbe1d182ed8f5de39f804c
47− original: lts-18.4
44+ size: 586286
45+ url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/16.yaml
46+ sha256: cdead65fca0323144b346c94286186f4969bf85594d649c49c7557295675d8a5
47+ original: lts-18.16
test/golden/common/bad-oneof-unchanged/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| ❌ Breaking changes | ⚠️ Non-breaking changes | [❓ Unsupported feature changes](#unsupported-changes) |
4−|--------------------|-------------------------|-------------------------------------------------------|
5−| 0 | 0 | 2 |
4+|---------------------|-------------------------|--------------------------------------------------------|
5+| 0 | 0 | 2 |
66
77# <span id="unsupported-changes"></span>❓ Unsupported feature changes
88
test/golden/common/enum-added/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 1 | 1 |
4+|------------------------------------------|--------------------------------------------------|
5+| 1 | 1 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/enum-anyof/report.md+2−2
@@ -1,5 +1,5 @@
11# Summary
22
33| ❌ Breaking changes | ⚠️ Non-breaking changes |
4−|--------------------|-------------------------|
5−| 0 | 0 |
4+|---------------------|-------------------------|
5+| 0 | 0 |
test/golden/common/id/report.md+2−2
@@ -1,5 +1,5 @@
11# Summary
22
33| ❌ Breaking changes | ⚠️ Non-breaking changes |
4−|--------------------|-------------------------|
5−| 0 | 0 |
4+|---------------------|-------------------------|
5+| 0 | 0 |
test/golden/common/json/recursive/report.md+2−2
@@ -1,5 +1,5 @@
11# Summary
22
33| ❌ Breaking changes | ⚠️ Non-breaking changes |
4−|--------------------|-------------------------|
5−| 0 | 0 |
4+|---------------------|-------------------------|
5+| 0 | 0 |
test/golden/common/maximum-lowered/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 1 | 1 |
4+|------------------------------------------|--------------------------------------------------|
5+| 1 | 1 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/pathItem/operation/parameters/allowEmptyValue/reset/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4−|-----------------------------------------|-------------------------|
5−| 1 | 0 |
4+|------------------------------------------|-------------------------|
5+| 1 | 0 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/pathItem/operation/parameters/allowEmptyValue/set/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| ❌ Breaking changes | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|--------------------|--------------------------------------------------|
5−| 0 | 1 |
4+|---------------------|--------------------------------------------------|
5+| 0 | 1 |
66
77# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
88
test/golden/common/pathItem/operation/parameters/change/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 1 | 1 |
4+|------------------------------------------|--------------------------------------------------|
5+| 1 | 1 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/pathItem/operation/parameters/required/false/add/report.md+2−2
@@ -1,5 +1,5 @@
11# Summary
22
33| ❌ Breaking changes | ⚠️ Non-breaking changes |
4−|--------------------|-------------------------|
5−| 0 | 0 |
4+|---------------------|-------------------------|
5+| 0 | 0 |
test/golden/common/pathItem/operation/parameters/required/false/del/report.md+2−2
@@ -1,5 +1,5 @@
11# Summary
22
33| ❌ Breaking changes | ⚠️ Non-breaking changes |
4−|--------------------|-------------------------|
5−| 0 | 0 |
4+|---------------------|-------------------------|
5+| 0 | 0 |
test/golden/common/pathItem/operation/parameters/required/reset/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| ❌ Breaking changes | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|--------------------|--------------------------------------------------|
5−| 0 | 1 |
4+|---------------------|--------------------------------------------------|
5+| 0 | 1 |
66
77# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
88
test/golden/common/pathItem/operation/parameters/required/set/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4−|-----------------------------------------|-------------------------|
5−| 1 | 0 |
4+|------------------------------------------|-------------------------|
5+| 1 | 0 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/pathItem/operation/parameters/required/true/add/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4−|-----------------------------------------|-------------------------|
5−| 1 | 0 |
4+|------------------------------------------|-------------------------|
5+| 1 | 0 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/pathItem/operation/parameters/required/true/del/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| ❌ Breaking changes | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|--------------------|--------------------------------------------------|
5−| 0 | 1 |
4+|---------------------|--------------------------------------------------|
5+| 0 | 1 |
66
77# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
88
test/golden/common/pathItem/operation/requestBody/mediaTypeObject/add/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| ❌ Breaking changes | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|--------------------|--------------------------------------------------|
5−| 0 | 1 |
4+|---------------------|--------------------------------------------------|
5+| 0 | 1 |
66
77# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
88
test/golden/common/pathItem/operation/requestBody/mediaTypeObject/change/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 1 | 1 |
4+|------------------------------------------|--------------------------------------------------|
5+| 1 | 1 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/pathItem/operation/requestBody/mediaTypeObject/del/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4−|-----------------------------------------|-------------------------|
5−| 1 | 0 |
4+|------------------------------------------|-------------------------|
5+| 1 | 0 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/pathItem/operation/requestBody/required/reset/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| ❌ Breaking changes | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|--------------------|--------------------------------------------------|
5−| 0 | 1 |
4+|---------------------|--------------------------------------------------|
5+| 0 | 1 |
66
77# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
88
test/golden/common/pathItem/operation/requestBody/required/set/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4−|-----------------------------------------|-------------------------|
5−| 1 | 0 |
4+|------------------------------------------|-------------------------|
5+| 1 | 0 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/pathItem/operation/responses/add/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4−|-----------------------------------------|-------------------------|
5−| 1 | 0 |
4+|------------------------------------------|-------------------------|
5+| 1 | 0 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/pathItem/operation/responses/change/headers/mandatory/add/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| ❌ Breaking changes | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|--------------------|--------------------------------------------------|
5−| 0 | 1 |
4+|---------------------|--------------------------------------------------|
5+| 0 | 1 |
66
77# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
88
test/golden/common/pathItem/operation/responses/change/headers/mandatory/del/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4−|-----------------------------------------|-------------------------|
5−| 1 | 0 |
4+|------------------------------------------|-------------------------|
5+| 1 | 0 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/pathItem/operation/responses/change/headers/optional/add/report.md+2−2
@@ -1,5 +1,5 @@
11# Summary
22
33| ❌ Breaking changes | ⚠️ Non-breaking changes |
4−|--------------------|-------------------------|
5−| 0 | 0 |
4+|---------------------|-------------------------|
5+| 0 | 0 |
test/golden/common/pathItem/operation/responses/change/headers/optional/del/report.md+2−2
@@ -1,5 +1,5 @@
11# Summary
22
33| ❌ Breaking changes | ⚠️ Non-breaking changes |
4−|--------------------|-------------------------|
5−| 0 | 0 |
4+|---------------------|-------------------------|
5+| 0 | 0 |
test/golden/common/pathItem/operation/responses/change/mediaTypeObject/add/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4−|-----------------------------------------|-------------------------|
5−| 1 | 0 |
4+|------------------------------------------|-------------------------|
5+| 1 | 0 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/pathItem/operation/responses/change/mediaTypeObject/change/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 1 | 1 |
4+|------------------------------------------|--------------------------------------------------|
5+| 1 | 1 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/pathItem/operation/responses/change/mediaTypeObject/del/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| ❌ Breaking changes | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|--------------------|--------------------------------------------------|
5−| 0 | 1 |
4+|---------------------|--------------------------------------------------|
5+| 0 | 1 |
66
77# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
88
test/golden/common/pathItem/operation/responses/del/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| ❌ Breaking changes | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|--------------------|--------------------------------------------------|
5−| 0 | 1 |
4+|---------------------|--------------------------------------------------|
5+| 0 | 1 |
66
77# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
88
test/golden/common/property-removed-additional/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 3 | 3 |
4+|------------------------------------------|--------------------------------------------------|
5+| 3 | 3 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/property-removed/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4−|-----------------------------------------|-------------------------|
5−| 2 | 0 |
4+|------------------------------------------|-------------------------|
5+| 2 | 0 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/property-required/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 1 | 1 |
4+|------------------------------------------|--------------------------------------------------|
5+| 1 | 1 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/random-example/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 5 | 6 |
4+|------------------------------------------|--------------------------------------------------|
5+| 5 | 6 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/recursive/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 1 | 1 |
4+|------------------------------------------|--------------------------------------------------|
5+| 1 | 1 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/security-scheme/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 2 | 1 |
4+|------------------------------------------|--------------------------------------------------|
5+| 2 | 1 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/servers/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 3 | 1 |
4+|------------------------------------------|--------------------------------------------------|
5+| 3 | 1 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/tuple-items/heterogeneous-component-mismatch/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 2 | 2 |
4+|------------------------------------------|--------------------------------------------------|
5+| 2 | 2 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/tuple-items/heterogeneous-length-mismatch/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4−|-----------------------------------------|-------------------------|
5−| 2 | 0 |
4+|------------------------------------------|-------------------------|
5+| 2 | 0 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/tuple-items/homogeneous-component-mismatch/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 4 | 2 |
4+|------------------------------------------|--------------------------------------------------|
5+| 4 | 2 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/tuple-items/homogeneous-length-mismatch/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 5 | 5 |
4+|------------------------------------------|--------------------------------------------------|
5+| 5 | 5 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/tuple-items/homogeneous-vector/report.md+2−2
@@ -1,5 +1,5 @@
11# Summary
22
33| ❌ Breaking changes | ⚠️ Non-breaking changes |
4−|--------------------|-------------------------|
5−| 0 | 0 |
4+|---------------------|-------------------------|
5+| 0 | 0 |
test/golden/common/type-changing/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 6 | 6 |
4+|------------------------------------------|--------------------------------------------------|
5+| 6 | 6 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/unguarded-recursive/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| ❌ Breaking changes | ⚠️ Non-breaking changes | [❓ Unsupported feature changes](#unsupported-changes) |
4−|--------------------|-------------------------|-------------------------------------------------------|
5−| 0 | 0 | 1 |
4+|---------------------|-------------------------|--------------------------------------------------------|
5+| 0 | 0 | 1 |
66
77# <span id="unsupported-changes"></span>❓ Unsupported feature changes
88
test/golden/common/variant-added/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 1 | 1 |
4+|------------------------------------------|--------------------------------------------------|
5+| 1 | 1 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/variant-changed/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 2 | 2 |
4+|------------------------------------------|--------------------------------------------------|
5+| 2 | 2 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88
test/golden/common/variant-deep-changed/report.md+2−2
@@ -1,8 +1,8 @@
11# Summary
22
33| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4−|-----------------------------------------|--------------------------------------------------|
5−| 2 | 2 |
4+|------------------------------------------|--------------------------------------------------|
5+| 2 | 2 |
66
77# <span id="breaking-changes"></span>❌ Breaking changes
88