Overhaul the build process and competency data structure #371
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This includes a lot of work, apologies but will try to summarise here. I'm intending on merging but this is here for visibility - if you have thoughts on any of the changes then feel free to comment and I'll look into separately.
The purpose of this change is to allow the site to support competencies for multiple roles. This paves the way for us integrating the Operations competencies.
The work:
All information about competencies, levels, and themes now lives within a single yaml file. You can find this under
data/roles
. This gives us a lot of flexibility when adding new competencies for roles that don't have, for example, a split S1/S2The spreadsheet graphs have gone. They were a nightmare to maintain and they promote the idea that you can "complete" the competencies
The URL structure on the website has changed to accommodate multiple roles. Now instead of
/competencies/junior
we have/competencies/engineering/junior
. Redirects are in place for all of theseThe JSON API has gone. This API wasn't being used by anything and it represents a maintenance overhead. I left the (unlinked) documentation page in place to explain the decision.
The build process has had a rethink and is easier to understand as a result. All scripts were simplified and we're now using GitHub Actions because it's far easier to set up multiple distinct workflows
All platforms and dependencies have been updated to latest, this was long overdue. We're now running Ruby
3.4.1
and Node.js^22.13
.