Skip to content

Commit 678b807

Browse files
authored
feat: add workflow to enforce directory sorting (#308)
1 parent 767dd67 commit 678b807

File tree

2 files changed

+42
-34
lines changed

2 files changed

+42
-34
lines changed

.github/workflows/ci.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ jobs:
1212
name: Lint JSON
1313
runs-on: ubuntu-latest
1414
steps:
15-
- run: sudo apt-get install -y python3-demjson
16-
- uses: actions/checkout@v2
17-
- run: jsonlint --strict ./directory.json
15+
- run: sudo apt install -y python3-demjson
16+
- uses: actions/checkout@v5
17+
- run: jsonlint --strict directory.json
18+
19+
sort:
20+
name: Sort JSON
21+
runs-on: ubuntu-latest
22+
steps:
23+
- run: sudo apt install -y diffutils jq
24+
- uses: actions/checkout@v5
25+
- run: diff --color=always -u3 directory.json <(cat directory.json | jq -S) -L directory.json -L directory.json

directory.json

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"/dev/tal": "https://www.devtal.de/api/",
44
"/usr/space": "https://www.usrspace.at/spaceapi.json",
55
"57North Hacklab": "https://hub.57north.org.uk/spaceapi",
6+
"<name>space Gera": "https://api.buergernetz-gera-greiz.de/spaceapi",
67
"ACKspace": "https://ackspace.nl/spaceAPI/",
78
"AFRA": "https://spaceapi.afra-berlin.de/v1/status.json",
89
"Amman Valley MakerSpace": "https://raw.githubusercontent.com/AmmanVMS/space.api/main/api.json",
@@ -15,9 +16,10 @@
1516
"Binary Kitchen": "https://www.binary-kitchen.de/spaceapi.php",
1617
"Bitlair": "https://bitlair.nl/spaceapi.json",
1718
"Breizh-Entropy": "http://breizh-entropy.org/spaceapi.json",
18-
"Brixel": "https://status.brixel.space/api/status",
1919
"Brisbane Makerspace": "https://portal.brisbanemaker.space/api/spacedirectory/",
20+
"Brixel": "https://status.brixel.space/api/status",
2021
"Bytespeicher": "https://status.bytespeicher.org/status.json",
22+
"C-Hack Calw": "https://spaceapi.c-hack.de",
2123
"C3D2": "https://www.c3d2.de/spaceapi.json",
2224
"CCC Aachen": "https://status.aachen.ccc.de/spaceapi",
2325
"CCC Basel": "https://spaceapi.kabelsalat.ch/",
@@ -29,6 +31,7 @@
2931
"CCCFr": "http://cccfr.de/status/spaceapi.py",
3032
"Chaos Computer Club Wien (C3W)": "https://api.space.c3w.at/status.json",
3133
"ChaosStuff": "https://spaceapi.c3l.lu/status.json",
34+
"ChaosZone": "https://spaceapi.eigenbaukombinat.de/status_chaoszone.json",
3235
"Chaosdorf": "https://chaosdorf.de/space_api.json",
3336
"Chaospott": "https://status.chaospott.de/status.json",
3437
"Chaostreff Backnang": "https://spaceapi.ctbk.de",
@@ -41,37 +44,35 @@
4144
"Chaostreff Recklinghausen c3RE": "https://spaceapi.c3re.de/",
4245
"Chaostreff Salzburg": "https://spaceapi.sbg.chaostreff.at/status/json",
4346
"Chaostreff Zürich": "https://api.ccczh.space/api/v13/",
44-
"ChaosZone": "https://spaceapi.eigenbaukombinat.de/status_chaoszone.json",
4547
"Computer Deconstruction Lab": "https://compdecon.github.io/status.json",
4648
"Coredump": "https://status.crdmp.ch/",
47-
"C-Hack Calw": "https://spaceapi.c-hack.de",
4849
"Das Labor": "https://das-labor.org/status/api",
4950
"Datenburg": "https://datenburg.org/spaceapi.json",
5051
"Decentrala": "https://spaceapi.decentrala.org/api/spaceapi",
5152
"DevLoL": "https://devlol.org/status/hackerspaceapi/",
52-
"dezentrale": "https://api.dezentrale.cloud/spaceapi/v14",
5353
"Do-It-Yourself-Werkstatt Wilhelmshaven e.V.": "https://status.diyww.de/status.json",
5454
"Dordtse Elektronica Club": "https://services.pi4dec.nl/space/spaceapi.json",
5555
"East Essex Hackspace": "https://wiki.eehack.space/spaceapi/api.json",
5656
"Edinburgh Hacklab": "http://spaceapi.edinburghhacklab.com/spaceapi.json",
5757
"Eigenbaukombinat Halle": "https://spaceapi.eigenbaukombinat.de/status_ebk.json",
5858
"Entropia": "https://club.entropia.de/spaceapi",
5959
"Essembly": "https://essembly.de/spaceapi.json",
60-
"Farset Labs": "https://www.farsetlabs.org.uk/farsetlabs.json",
6160
"FAU FabLab": "https://fablab.fau.de/spaceapi/",
6261
"FIXME": "https://fixme.ch/cgi-bin/spaceapi.py",
6362
"FabLab Allgäu": "https://fablab-allgaeu.de/assets/files/spaceapi.json",
6463
"FabLab Karlsruhe e.V.": "https://spaceapi.fablab-karlsruhe.de",
6564
"FabLab Nürnberg": "http://api.fablab-nuernberg.de/spaceapi.php",
65+
"Farset Labs": "https://www.farsetlabs.org.uk/farsetlabs.json",
6666
"Forschung und Technik e.V.": "https://spaceapi.futev.de/spaceapi.json",
6767
"Frack": "http://frack.nl/spacestate/?api",
6868
"Freies Labor": "https://freieslabor.org/api/info",
6969
"Fuz": "https://spaceapi.fuz.re/",
7070
"Garoa Hacker Clube": "https://garoa.net.br/status/spaceapi.json",
7171
"Gold Coast Techspace": "https://raw.githubusercontent.com/gctechspace/spaceapi-endpoint/master/spaceapi.json",
72-
"Hal9k": "https://acsgateway.hal9k.dk/spaceapi",
7372
"H.A.C.K.": "https://vsza.hu/hacksense/spaceapi_status.json",
7473
"HSBNE (Hackerspace Brisbane)": "https://portal.hsbne.org/api/spacedirectory/",
74+
"HTUGraz-ELab": "https://doorothy.htu.tugraz.at/doorothy/elab/status.spaceapi",
75+
"HTUGraz-Philab": "https://doorothy.htu.tugraz.at/doorothy/philab/status.spaceapi",
7576
"HacDC": "http://api.hacdc.org/status.php",
7677
"Hack Manhattan": "https://hackmanhattan.com/space-api.json",
7778
"Hack42": "https://hack42.nl/spacestate/json.php",
@@ -84,39 +85,36 @@
8485
"Hackerspace Brussels": "https://api.hsbxl.be/index.php/0.1/spaceapi/",
8586
"Hackerspace Drenthe": "https://mqtt.hackerspace-drenthe.nl/spaceapi",
8687
"Hackerspace Drenthe (Emmen)": "https://mqtt.hackerspace-drenthe.nl/spaceapi-emmen",
87-
"Hackerspace Krakow": "https://spaceapi.hskrk.pl/",
88-
"Hackerspace.Gent": "https://windowserver.0x20.be/spaceapi.json",
8988
"Hackerspace Hermithive": "https://hermithive.nl/state.json",
89+
"Hackerspace Krakow": "https://spaceapi.hskrk.pl/",
9090
"Hackerspace Nijmegen": "https://state.hackerspacenijmegen.nl/state.json",
91-
"Hackerspace.gr": "https://www.hackerspace.gr/spacestate.php",
9291
"Hackerspace Szeged": "https://api.hackerspace-szeged.org",
9392
"Hackerspace Trójmiasto": "https://hs3.pl/spaceapi.json",
93+
"Hackerspace.Gent": "https://windowserver.0x20.be/spaceapi.json",
94+
"Hackerspace.gr": "https://www.hackerspace.gr/spacestate.php",
9495
"Hacklab": "https://hacklab.kiev.ua/files/spaceapi.json",
9596
"Hacklabor": "https://hacklabor.de/api/space/v1/",
9697
"Hacksaar": "http://spaceapi.hacksaar.de/status.json",
9798
"Hackspace Siegen": "https://status.ha.si/",
99+
"Hackwerk Aalen": "https://spaceapi.sfz-aalen.space/api/spaceapi.json",
98100
"Hakierspejs Łódź": "https://spaceapi.hs-ldz.pl/",
99-
"hacKNology e.V.": "https://www.hacknology.de/spaceapi/status.json",
100-
"haxko": "https://api.haxko.space/",
101+
"Hal9k": "https://acsgateway.hal9k.dk/spaceapi",
101102
"HeatSync Labs": "http://members.heatsynclabs.org/space_api.json",
102-
"HTUGraz-ELab": "https://doorothy.htu.tugraz.at/doorothy/elab/status.spaceapi",
103-
"HTUGraz-Philab": "https://doorothy.htu.tugraz.at/doorothy/philab/status.spaceapi",
104-
"ibbspace": "https://ibbspace.org/status/status.json",
105103
"IT-Syndikat": "https://spaceapi.it-syndikat.org/api/status.php",
106104
"K4CG": "https://spaceapi.k4cg.org/spaceapi.json",
107105
"Ko-Lab": "https://status.ko-lab.space/",
108106
"Krautspace": "https://status.kraut.space/api",
109107
"Kreitek": "https://metaespacio.kreitek.org/rest/spaceapi/",
110108
"Kwartzlab": "https://kwartzlab.ca/spaceapi.json",
111109
"LAG": "https://state.laglab.org/spaceapi.json",
110+
"LINKping": "https://spaceapi.linkping.org",
112111
"Laboratorio Hacker de Campinas": "https://status.lhc.net.br/",
113112
"Leeds Hackspace": "https://stats.leedshackspace.org.uk/space_api.php",
114113
"Leigh Hackspace": "https://api.leighhack.org/space.json",
115114
"LeineLab": "https://leinelab.org/api/spaceapi.json",
116115
"Leitstelle511": "https://hannover.ccc.de/spaceapi.json",
117116
"Level2": "https://level2.lu/spaceapi/",
118117
"Liege Hackerspace": "https://lghs.be/sapi/",
119-
"LINKping": "https://spaceapi.linkping.org",
120118
"Linux User Group Saar": "https://lugsaar.de/spaceapi/api.json",
121119
"London Hackspace": "https://london.hackspace.org.uk/spaceapi",
122120
"LuXeria": "https://luxeria.ch/spaceapi.json",
@@ -125,19 +123,19 @@
125123
"MakeMonmouth": "https://members.makemonmouth.co.uk/api/spacedirectory/",
126124
"MakeRiga": "https://api.makeriga.org/spaceapi.json",
127125
"MakeSpace Madrid": "https://spaceapi.makespacemadrid.org",
126+
"Maker Space": "https://spaceapi.makerspace.org.uk",
127+
"Maker Space experimenta": "https://makerspace.experimenta.science/wp-json/spaceapi/v14/hello",
128+
"MakerSpace Bonn": "https://status.makerspacebonn.de/api/spaceapi",
128129
"Makers Local 256": "https://256.makerslocal.org/status.json",
129130
"Makers im Zigerschlitz": "https://api.zigerschlitzmakers.ch/space-api.json",
130131
"Makerspace (0xBA5E) Crailsheim": "https://spaceapi.juze-cr.de/",
131-
"MakerSpace Bonn": "https://status.makerspacebonn.de/api/spaceapi",
132132
"Makerspace Erfurt": "https://status.makerspace-erfurt.de/status.json",
133133
"Makerspace Gütersloh": "https://makerspace-gt.de/space-api/space-api.json",
134134
"Makerspace Leiden": "https://makerspaceleiden.nl/crm/spaceapi/0.13",
135-
"Maker Space": "https://spaceapi.makerspace.org.uk",
136-
"Maker Space experimenta": "https://makerspace.experimenta.science/wp-json/spaceapi/v14/hello",
137135
"Maschinendeck": "https://maschinenstate.42dots.de",
138136
"Maschinenraum": "http://api.maschinenraum.tk/status.json",
139-
"Metalab": "https://metalab-spaceapi.melina.jetzt/v15",
140137
"MetaMeute": "https://status.metameute.de/status/spaceapi.json",
138+
"Metalab": "https://metalab-spaceapi.melina.jetzt/v15",
141139
"Metro Olografix": "https://sede.olografix.org/spaceapi.json",
142140
"MidsouthMakers": "http://midsouthmakers.org/spaceapi/",
143141
"Milton Keynes Makerspace": "https://raw.githubusercontent.com/MKMakerSpace/spaceapi-endpoint/main/spaceapi.json",
@@ -147,20 +145,19 @@
147145
"Motionlab": "https://spaceapi.motionlab.berlin/",
148146
"MuCCC": "https://api.muc.ccc.de/spaceapi.json",
149147
"Munich Maker Lab": "https://status.munichmakerlab.de/spaceapi.json",
150-
"<name>space Gera": "https://api.buergernetz-gera-greiz.de/spaceapi",
151148
"NURDSpace": "https://space.nurdspace.nl/spaceapi/status.json",
149+
"NYC Resistor": "https://www.nycresistor.com/.well-known/spaceapi/",
152150
"Nerd2Nerd": "https://api.nerd2nerd.org/status.json",
153151
"Nerdberg": "https://status.nerdberg.de/api/space",
154152
"Netz39": "https://spaceapi.n39.eu/json",
155153
"Noklab": "https://cccgoe.de/spaceapi.php",
156154
"Nottinghack": "https://hms.nottinghack.org.uk/api/spaceapi",
157155
"Nova Labs": "http://nova-labs.org/api/",
158156
"Odenwilusenz": "https://spaceapi.odenwilusenz.ch/api.json",
159-
"Økoyono": "https://spaceapi.okoyono.de/",
160157
"Omega Verksted": "https://omegav.no/api/spaceapi.php",
161158
"Open Space Aarhus": "http://spaceapi.osaa.dk/status/json",
162-
"OpenLab Augsburg": "http://api.openlab-augsburg.de/data.json",
163159
"Open-Lab Vorarlberg": "https://spaceapi.open-lab.at/spaceapi.php",
160+
"OpenLab Augsburg": "http://api.openlab-augsburg.de/data.json",
164161
"P'yŏngyang Hackerspace": "http://status.pyongyanghackerspace.org/jiwi.json",
165162
"Pangloss Labs #1": "https://spaceapi.panglosslabs.org/spaceapi.json",
166163
"Pawprint Prototyping": "https://members.pawprintprototyping.org/api/spacedirectory/",
@@ -177,22 +174,21 @@
177174
"Recompile": "http://www.recompile.se/spaceapi",
178175
"RevSpace": "https://revspace.nl/status/status.php",
179176
"Root": "https://bot.rootclub.it/spaceapi.json",
180-
"Hackwerk Aalen": "https://spaceapi.sfz-aalen.space/api/spaceapi.json",
181177
"Schaffenburg": "https://status.schaffenburg.org/spaceapi.php",
182178
"SchonungsLos": "https://www.hackerspace-sw.de/spaceapi.json",
183179
"Segmentation Vault": "https://segvault.space/internal/spacecore/opendata/spaceapi",
184180
"Sheffield Hackspace": "https://www.sheffieldhackspace.org.uk/spaceapi.json",
185181
"SoMakeIt": "https://members.somakeit.org.uk/api/spaceapi",
186-
"Stockholm Makerspace": "https://raw.githubusercontent.com/makerspace/spaceapi/main/spaceapi.json",
187182
"Spline": "https://iot.spline.de/api/status.json",
183+
"Stockholm Makerspace": "https://raw.githubusercontent.com/makerspace/spaceapi/main/spaceapi.json",
188184
"Stratum 0": "https://status.stratum0.org/status.json",
189185
"Subraum (C3PB, Paderborn)": "https://c3pb.de/uptime.json",
190186
"Sudo Room": "http://api.sudoroom.org/status.json",
191187
"Swansea Hackspace": "http://swansea.hackspace.org.uk/spaceapi.php",
188+
"TAMI": "https://nodered.telavivmakers.space/spaceapi.json",
192189
"TDvenlo": "https://spaceapi.tdvenlo.nl/spaceapi.json",
193190
"TOG": "http://tog.ie/cgi-bin/space",
194191
"Tarlab": "http://tarlab.fi/spaceapi/space.api",
195-
"TAMI": "https://nodered.telavivmakers.space/spaceapi.json",
196192
"TechTonik Labs": "https://raw.github.com/sbhackerspace/sbhx-spaceapi/master/spaceapi.json",
197193
"Technologia Incognita": "http://techinc.nl/space/spacestate.json",
198194
"The Bodgery": "http://thebodgery.org/bodgery_space.cgi",
@@ -207,34 +203,38 @@
207203
"Warsaw Hackerspace": "https://hackerspace.pl/spaceapi",
208204
"Westwoodlabs": "https://api.westwoodlabs.de/spaceapi",
209205
"Wolfplex Hackerspace": "https://api.wolfplex.be/space",
206+
"Xecut": "https://spaceapi.xecut.me/api/spaceapi",
210207
"Zeus WPI": "https://mattermore.zeus.gent/spaceapi.json",
211208
"[hsmr]": "https://hsmr.cc/spaceapi.json",
212209
"backspace": "https://status.bckspc.de/spacestatus.php",
213210
"base48": "https://base48.cz/api/base_status_spaceapi.json",
214211
"brmlab": "https://brmlab.cz/spaceapi/brmstatus.json",
215212
"bytewerk": "http://stats.bytewerk.org/status.json",
216-
"chaostreff.ch": "https://chaostreff.ch/spaceapi.json",
217213
"c-base": "http://www.c-base.org/status.json",
214+
"chaostreff.ch": "https://chaostreff.ch/spaceapi.json",
215+
"dezentrale": "https://api.dezentrale.cloud/spaceapi/v14",
218216
"fNordeingang": "https://status.fnordeingang.de/spaceapi.json",
219217
"flipdot": "https://api.flipdot.org/",
218+
"hacKNology e.V.": "https://www.hacknology.de/spaceapi/status.json",
220219
"hackzogtum": "https://spaceapi.hackzogtum-coburg.de",
220+
"haxko": "https://api.haxko.space/",
221221
"i3Detroit": "https://i3detroit.org/spaceapi/status.json",
222+
"ibbspace": "https://ibbspace.org/status/status.json",
222223
"init Lab": "https://fauna.initlab.org/spaceapi/status.json",
223224
"machquadrat": "https://www.machquadrat.org/spaceapi.json",
224225
"mag.lab": "https://state.maglab.space/spaceapi.json",
225226
"nbsp": "https://status.nobreakspace.org/spaceapi.json",
226227
"nordlab e. V.": "http://spaceapi.nordlab-ev.de",
227-
"NYC Resistor": "https://www.nycresistor.com/.well-known/spaceapi/",
228228
"q30.space": "https://spaceapi.q30.space",
229229
"realraum": "http://realraum.at/status.json",
230-
"see-base": "https://bodensee.space/spaceapi/see-base.json",
231230
"section77": "https://api.section77.de/",
231+
"see-base": "https://bodensee.space/spaceapi/see-base.json",
232232
"shackspace - stuttgart hackerspace": "https://api.shackspace.de/v1/spaceapi",
233233
"spaceleft": "http://www.space-left.org/spaceapi13.json",
234-
"turmlabor": "http://www.turmlabor.de/spaces.api",
235234
"temporärhaus": "https://spaceapi.temporaerhaus.de/spaceapi.json",
235+
"turmlabor": "http://www.turmlabor.de/spaces.api",
236236
"vspace.one": "https://vspace.one/spaceapi.json",
237-
"Xecut": "https://spaceapi.xecut.me/api/spaceapi",
238237
"xHain": "https://x-hain.de/spaceapi/14/status",
239-
"z-Labor Zwickau": "http://api.service.z-labor.space/spaceapi.json"
238+
"z-Labor Zwickau": "http://api.service.z-labor.space/spaceapi.json",
239+
"Økoyono": "https://spaceapi.okoyono.de/"
240240
}

0 commit comments

Comments
 (0)