Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
d70d719
feat: update to openapi 3.1 and fix errors
jbergstroem Aug 7, 2025
2ff92b3
chore: add github workflows validation
jbergstroem Aug 7, 2025
ca856bd
fix: add missing matcher
jbergstroem Aug 7, 2025
a02f8cf
fix: matcher
jbergstroem Aug 7, 2025
2b25916
fix: prettier
jbergstroem Aug 7, 2025
51a15ca
chore: rename job
jbergstroem Aug 7, 2025
cecf608
chore: remove old files
jbergstroem Aug 7, 2025
15b8ffc
fix: a few more errrors
jbergstroem Aug 7, 2025
48804a2
fix: examples for cvr
jbergstroem Aug 7, 2025
b242753
chore: move occurredAt to a component
jbergstroem Aug 8, 2025
30d0fd0
chore: update readme
jbergstroem Aug 8, 2025
6448cbd
chore: remove unused file
jbergstroem Aug 8, 2025
3fdc30a
feat: improve linting and formatting stack
jbergstroem Aug 8, 2025
2334092
fix: all remaining lint issues except vacuum-related
jbergstroem Aug 8, 2025
3bd6a82
fix: add redocly lnit
jbergstroem Aug 8, 2025
a01cf83
chore: update readme
jbergstroem Aug 8, 2025
da3a3d6
fix: rename workflow
jbergstroem Aug 8, 2025
55009fb
fix: rename jobs
jbergstroem Aug 8, 2025
7c2c884
chore: make event id reusable
jbergstroem Aug 8, 2025
3805aea
fix: lint
jbergstroem Aug 8, 2025
4a83a0e
fix: typos
jbergstroem Aug 8, 2025
3cb6c13
chore(docs): make a point about where our full openapi documeent lives
jbergstroem Aug 8, 2025
851d921
chore: switch to vacuum cli
jbergstroem Aug 8, 2025
b9dcac4
fix: add missing changes
jbergstroem Aug 8, 2025
3d85c03
fix: actionlint
jbergstroem Aug 8, 2025
bf1ce9b
chore: add typos to readme
jbergstroem Aug 8, 2025
a7c5c9e
chore(docs): improve openapi link
jbergstroem Aug 8, 2025
c891ae7
fix: example response is an array
jbergstroem Aug 8, 2025
7066f0d
fix: last remaining issues
jbergstroem Aug 8, 2025
51f621c
chroe: ignore v1 vacuum lint for now
jbergstroem Aug 8, 2025
524c60d
chore: rename core schemas
jbergstroem Aug 11, 2025
0f57a9a
fix: make bearer scheme identical to central services to avoid conflict
jbergstroem Aug 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .github/matcher-actionlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"problemMatcher": [
{
"owner": "actionlint",
"pattern": [
{
"regexp": "^(?:\\x1b\\[\\d+m)?(.+?)(?:\\x1b\\[\\d+m)*:(?:\\x1b\\[\\d+m)*(\\d+)(?:\\x1b\\[\\d+m)*:(?:\\x1b\\[\\d+m)*(\\d+)(?:\\x1b\\[\\d+m)*: (?:\\x1b\\[\\d+m)*(.+?)(?:\\x1b\\[\\d+m)* \\[(.+?)\\]$",
"file": 1,
"line": 2,
"column": 3,
"message": 4,
"code": 5
}
]
}
]
}
37 changes: 0 additions & 37 deletions .github/workflows/check-specs.yml

This file was deleted.

63 changes: 63 additions & 0 deletions .github/workflows/lint-tools.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Lint
on:
pull_request:

jobs:
actionlint:
name: Actionlint
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Install Actionlint
env:
version: "1.7.7"
run:
curl -Ls "https://github.com/rhysd/actionlint/releases/download/v${{ env.version
}}/actionlint_${{ env.version }}_linux_amd64.tar.gz" | sudo tar -x -z -C /usr/local/bin
actionlint
- run: |
echo "::add-matcher::.github/matcher-actionlint.json"
actionlint -color

prettier:
name: Prettier
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: npx prettier --check .

vacuum:
name: Vacuum
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Install Vacuum
env:
version: 0.17.8
run:
curl -Ls "https://github.com/daveshanley/vacuum/releases/download/v${{ env.version
}}/vacuum_${{ env.version }}_linux_x86_64.tar.gz" | sudo tar -x -z -C /usr/local/bin
vacuum
- run: vacuum lint -d -e -b ./topsort-api-v2.yml

yamllint:
name: YAMLLint
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
- run: uvx yamllint -f github topsort-api-*.yml

redocly:
name: Redocly
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: npx @redocly/cli lint --format github-actions topsort-api-*.yml

typos:
name: Check for language typos
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: crate-ci/typos@v1.35.2
11 changes: 0 additions & 11 deletions .github/workflows/validate-typos.yml

This file was deleted.

1 change: 0 additions & 1 deletion .prettierrc

This file was deleted.

4 changes: 4 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"printWidth": 100,
"proseWrap": "always"
}
2 changes: 0 additions & 2 deletions .typos.toml

This file was deleted.

5 changes: 5 additions & 0 deletions .yamllint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
extends: default

rules:
document-start: disable
line-length: disable
26 changes: 24 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,29 @@
# Topsort OpenAPI

Topsort uses the [OpenAPI 3.0.1](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.1.md) specification to [document our APIs](https://docs.topsort.com) and we recommend our clients to use these specifications to generate supported client libraries and server scaffolding. This would provide a consistent and robust developer experience across languages.
Topsort uses the [OpenAPI 3.1.0][openapi] specification to [document our APIs][docs] and we
recommend our clients to use these specifications to generate supported client libraries and server
scaffolding. This would provide a consistent and robust developer experience across languages.

You can additionally consume the entire Topsort OpenAPI spec available [here][openapi-ts].

## Validating the file

- Use [prettier][prettier] to format the documents: `bunx prettier -w`
- Use [yamllint][yamllint] to validate the documents: `uvx yamllint *.yml`
- Use [vacuum][vacuum] to validate the openapi standard: `vacuum *.yml`
- Use [redocly][redocly] to further validate the openapi standard: `bunx @redocly/cli lint *.yml`
- Use [typos][typos] to fix language typos: `typos .`

## Using the OpenAPI generator

You can find examples on the official [OpenAPI Generator docs](https://openapi-generator.tech/docs/usage#examples).
You can find examples on the official
[OpenAPI Generator docs](https://openapi-generator.tech/docs/usage#examples).

[openapi]: https://spec.openapis.org/oas/v3.1.0.html
[docs]: https://docs.topsort.com
[openapi-ts]: https://docs.topsort.com/openapi.json
[prettier]: https://prettier.io/
[yamllint]: https://github.com/adrienverge/yamllint
[vacuum]: https://quobix.com/vacuum/start/
[redocly]: https://redocly.com/docs/cli/installation
[typos]: https://github.com/crate-ci/typos
Loading
Loading