Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
27 changes: 25 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,12 +1,35 @@
# EditorConfig houdt de opmaak gelijk tussen editors en IDE's.
# VS Code, JetBrains en anderen lezen dit bestand vanzelf.
# Meer info: https://editorconfig.org
#
# Deze versie is organisatiebreed gelijk. Wijk hier niet per repository van af:
# vijf licht verschillende varianten leverden alleen ruis op, geen voordeel.
#
# De configbestanden die zelf geen comments kunnen dragen omdat het JSON is,
# staan hier genoemd zodat er ergens een aanwijzing is wat ze doen:
#
# .htmlhintrc - HTML-linting (HTMLHint). Structuur- en toegankelijkheidsregels.
# renovate.json - Renovate-bot. Automatische dependency-updates via pull requests.

root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
# Trailing whitespace betekent iets in Markdown (regeleinde)
trim_trailing_whitespace = false

[*.{yml,yaml}]
indent_size = 2

[*.py]
indent_size = 4

[*.sh]
indent_size = 4
24 changes: 24 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# .gitattributes zorgt voor consistente regeleindes tussen Windows, Mac en Linux.
# Zonder dit kunnen regeleindes per ontwikkelaar of OS verschillen, wat leidt
# tot onnodige git-diffs en merge-conflicten.
#
# Deze versie is organisatiebreed gelijk. Wijk hier niet per repository van af:
# vier licht verschillende varianten leverden alleen ruis op, geen voordeel.

# Standaard: forceer LF voor alle tekstbestanden
* text=auto eol=lf

# Binaire bestanden: geen regeleindeconversie
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.webp binary
*.avif binary
*.pdf binary
*.woff binary
*.woff2 binary
*.ttf binary
*.otf binary
*.zip binary
5 changes: 4 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
* @Stensel8
# Beide eigenaren worden om review gevraagd, maar de goedkeuring van één van
# hen is genoeg om de merge vrij te geven. Zo ligt het werk niet stil als de
# ander er even niet is.
* @Stensel8 @AdiH1310
1 change: 1 addition & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
- [ ] `chore` — maintenance (dependencies, config, CI/CD)
- [ ] `refactor` — restructuring without content changes
- [ ] `style` — formatting, whitespace, typos
- [ ] `revert` — reverting a previous commit

> [PR title and commit types must follow these standards — view the contributing guide](https://github.com/THectic-NL/Zephyrus-Linux/blob/main/CONTRIBUTING.md#commit-messages)

Expand Down
69 changes: 33 additions & 36 deletions .github/workflows/config-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
# SPDX-License-Identifier: MIT
name: Config validation

# The bot configs are the one part of CI that nothing else exercises: a broken
# renovate.json or dependabot.yml does not fail a build, it just quietly stops
# doing its job. This workflow is the thing that notices.
# De bot-configs zijn het enige deel van CI dat verder nergens door wordt
# geraakt: een kapotte renovate.json of dependabot.yml laat geen build falen,
# die houdt gewoon stilletjes op met zijn werk. Deze workflow merkt dat op.

on:
push:
Expand Down Expand Up @@ -50,33 +50,33 @@ jobs:
with:
node-version: 'lts/*'

# Renovate's own validator. --strict also fails on warnings, such as an
# option that is valid but deprecated. Given no arguments it finds the
# config files itself and validates them as repository config; passing a
# path instead makes it validate them as global config, which is a
# different and weaker set of rules.
# Renovates eigen validator. --strict laat hem ook falen op warnings,
# bijvoorbeeld een optie die geldig maar verouderd is. Zonder argumenten
# zoekt hij de configbestanden zelf op en valideert hij ze als
# repository-config; geef je een pad mee, dan valideert hij ze als
# global config, en dat is een andere en zwakkere set regels.
#
# Deliberately unpinned. This is a linter for our config, not something we
# ship, and the newest release is the one that knows about the newest
# deprecations. Its own version is not worth a pull request.
# Bewust niet vastgezet. Dit is een linter op onze eigen config en geen
# onderdeel van wat we uitleveren, en juist de nieuwste release kent de
# nieuwste deprecations. Zijn eigen versie is geen pull request waard.
#
# NPM_CONFIG_LOGLEVEL: npm prints "npm warn deprecated ..." for packages
# deep inside Renovate's own dependency tree. Those say nothing about the
# config being validated, and reading them as if they did is the obvious
# mistake to make when they appear directly above the validator's output.
# NPM_CONFIG_LOGLEVEL: npm print "npm warn deprecated ..." voor packages
# diep in Renovates eigen dependency-boom. Die zeggen niets over de config
# die gevalideerd wordt, en ze lezen alsof dat wel zo is, is de fout die
# je vanzelf maakt als ze vlak boven de output van de validator staan.
- name: Validate Renovate config
env:
NPM_CONFIG_LOGLEVEL: error
run: npx --yes --package renovate -- renovate-config-validator --strict

# The validator above accepts a well-formed pattern that matches nothing,
# so this covers the gap it leaves.
# De validator hierboven accepteert een correct gevormd patroon dat
# nergens op matcht; dit dekt het gat dat hij daarmee laat.
- name: Check Renovate file patterns
run: python3 .github/scripts/check-renovate-patterns.py renovate.json .github/renovate.json

# GitHub validates dependabot.yml only after it is on the default branch,
# and reports the result on a tab nobody opens. This brings that forward
# to the pull request.
# GitHub valideert dependabot.yml pas als die op de default branch staat,
# en meldt het resultaat op een tabblad dat niemand opent. Dit haalt dat
# naar voren, naar de pull request.
- name: Validate Dependabot config
env:
# renovate: datasource=pypi depName=check-jsonschema
Expand All @@ -96,23 +96,19 @@ jobs:
pipx install "check-jsonschema==${CHECK_JSONSCHEMA_VERSION}"
check-jsonschema --builtin-schema vendor.dependabot "$config"

# The workflow files are config too. The other repositories in the
# organisation run actionlint from their quality workflow; this one had no
# equivalent, so it lives here.
workflow-lint:
name: Check workflow files
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Check out source code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

# Pinned release plus checksum, rather than piping a script from a
# branch straight into bash.
# De workflowbestanden zijn ook config. De andere repositories draaien
# actionlint vanuit hun quality-workflow; deze had geen equivalent, dus
# het hoort hier.
#
# Als stap en niet als eigen job: GitHub rekent per job en rondt naar
# boven af op een hele minuut. actionlint is in vijf seconden klaar en
# heeft dezelfde checkout nodig als de stappen hierboven, dus een eigen
# job kostte een volle minuut extra voor niets.
#
# Vanaf hier draait elke stap op !cancelled(), zodat één rode controle de
# andere niet verbergt. De job faalt alsnog zodra er iets fout is.
- name: Install actionlint
if: ${{ !cancelled() }}
env:
# renovate: datasource=github-releases depName=rhysd/actionlint
ACTIONLINT_VERSION: "1.7.12"
Expand All @@ -126,4 +122,5 @@ jobs:
sudo install -m 0755 actionlint /usr/local/bin/actionlint

- name: Run actionlint
if: ${{ !cancelled() }}
run: actionlint -color
Loading
Loading