-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
freirea
committed
Jan 20, 2025
0 parents
commit 652e407
Showing
73 changed files
with
1,202 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
name: Publish to GitHub Pages | ||
|
||
on: | ||
pull_request: | ||
workflow_dispatch: | ||
push: | ||
branches: | ||
- main | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
permissions: | ||
contents: read | ||
pages: write | ||
id-token: write | ||
|
||
|
||
jobs: | ||
build: | ||
name: Build Site | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@master | ||
|
||
- uses: actions/setup-node@v4 | ||
with: | ||
node-version-file: package.json | ||
|
||
- uses: actions/cache@v4 | ||
with: | ||
path: | | ||
~/.npm | ||
.techradar | ||
key: ${{ runner.os }}-techradar-${{ hashFiles('**/yarn.lock') }} | ||
|
||
- name: Install Dependencies | ||
run: yarn install | ||
|
||
- name: Generate Site | ||
run: yarn build | ||
|
||
- run: if [ -n "$(git status --porcelain)" ]; then echo 'workspace is dirty after rebuilding' ; git status ; git diff ; exit 1 ; fi | ||
|
||
- name: Upload Artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: build | ||
path: build | ||
|
||
publish: | ||
name: Publish to GitHub Pages | ||
if: github.ref_name == 'main' | ||
needs: [ build ] | ||
runs-on: ubuntu-latest | ||
environment: | ||
name: github-pages | ||
url: ${{ steps.deployment.outputs.page_url }} | ||
steps: | ||
- name: Download Artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: build | ||
path: build | ||
|
||
- name: Configure Pages | ||
uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5 | ||
|
||
- name: Upload Artifacts | ||
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3 | ||
with: | ||
path: build | ||
|
||
- name: Deploy to GitHub Pages | ||
id: deployment | ||
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. | ||
|
||
# dependencies | ||
/node_modules | ||
/.pnp | ||
.pnp.js | ||
.yarn/install-state.gz | ||
.npmrc | ||
|
||
# testing | ||
/coverage | ||
**/jest-coverage | ||
**/playwright/downloads* | ||
**/playwright/assets/ | ||
coverage-reports/ | ||
monocart-report/ | ||
.v8-coverage | ||
|
||
# next.js | ||
/.next/ | ||
/out/ | ||
.swc/ | ||
|
||
# production | ||
/build | ||
|
||
# misc | ||
.DS_Store | ||
*.pem | ||
.codesight | ||
.techradar | ||
|
||
# debug | ||
npm-debug.log* | ||
yarn-debug.log* | ||
yarn-error.log* | ||
.pnpm-debug.log* | ||
|
||
# local env files | ||
.env.local | ||
.env.development.local | ||
.env.test.local | ||
.env.production.local | ||
**/.env | ||
|
||
|
||
# vercel | ||
.vercel | ||
|
||
# typescript | ||
*.tsbuildinfo | ||
next-env.d.ts | ||
|
||
# eslint | ||
**/.eslintcache | ||
|
||
# playwright | ||
**/instrumented/ | ||
**/.nyc_output/ | ||
**/integration-tests-coverage/ | ||
**/test-results | ||
**/playwright/.cache/ | ||
/test-results/ | ||
/playwright-report/ | ||
/blob-report/ | ||
/playwright/.cache/ | ||
|
||
# intellij | ||
.idea |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2020 tb.lx by Daimler Truck. Based on work by AOE GmbH. | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
# tb.lx Tech Radar | ||
|
||
tb.lx Tech Radar is our technology portfolio management tool. It reflects both established and emerging technologies being evaluated, adopted, or deprecated within our company. This tool supports teams in choosing the right technologies for future products and projects, fostering informed and consistent decision-making. | ||
|
||
Our Tech Radar concept draws inspiration from ThoughtWorks, and their well-known Technology Radar. In addition, our project builds upon the open-source tech-radar project developed by [AOE](https://github.com/AOEpeople/aoe_technology_radar) under the Apache License. | ||
|
||
You can access our tech radar [here.]() | ||
|
||
## Workflow | ||
The tech radar is built on data entries specified in `/radar`.<br /> | ||
Below you find the ID(s) related to each status (ring) and category (quadrant): | ||
|
||
| Ring | ID | | ||
|------------|----------| | ||
| Adopt | `adopt` | | ||
| Trial | `trial` | | ||
| Assess | `assess` | | ||
| Hold | `hold` | | ||
|
||
|
||
| Quadrant | ID | | ||
|-----------------------------|---------------------------------| | ||
| Languages & Frameworks | `languages-and-frameworks` | | ||
| Platforms & Infrastructure | `platforms-and-infrastructure` | | ||
| Developer Tools | `developer-tools` | | ||
| Methods & Patterns | `methods-and-patterns` | | ||
|
||
|
||
### Setting up new data | ||
For a new entry, create a folder under `/radar/{date-of-entry}` with the name of the technology. The entry files must be in Markdown format (.md). Each file has a front-matter header with the attributes of the technology. E.g.: | ||
|
||
``` | ||
--- | ||
title: React | ||
quadrant: languages-and-frameworks | ||
ring: adopt | ||
tags: [frontend] <!--- tags are optional ---> | ||
--- | ||
# React | ||
Description and context goes here. | ||
[Link to ADR]. | ||
``` | ||
|
||
## Setup | ||
|
||
### Prerequisites | ||
- [Node.js](https://nodejs.org/en/) | ||
- [yarn](https://classic.yarnpkg.com/en/docs/install/) | ||
|
||
### Installation | ||
- clone the repo | ||
- `yarn` for dependencies installation | ||
|
||
### Commands | ||
- `yarn build` for building the initial tech radar | ||
- `yarn dev` for launching the development server | ||
|
||
|
||
## Versioning | ||
|
||
We use [SemVer](http://semver.org/) for versioning. | ||
|
||
|
||
## Licensing | ||
This project is released under the MIT License. It depends on the code and ideas from the AOE tech-radar project © AOE GmbH. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
# How to use the Technology Radar | ||
|
||
## Introduction | ||
tb.lx Tech Radar is our technology portfolio management tool. It reflects both established and emerging technologies being evaluated, adopted, or deprecated within our company. This tool supports teams in choosing the right technologies for future products and projects, fostering informed and consistent decision-making. | ||
|
||
These guidelines outline the process for maintaining and updating the Tech Radar, ensuring it remains relevant, transparent, and collaborative. They aim to: | ||
- Keep the Tech Radar current and accurate. | ||
- Promote transparency in tech decisions. | ||
- Encourage open collaboration and contributions from all team members. | ||
- Streamline decision-making through a structured review process. | ||
|
||
--- | ||
|
||
## Roles and Responsibilities | ||
- **Core Engineering Leadership Team:** Responsible for conducting a full review of the Tech Radar every 3 months. Provides final approval on significant changes. | ||
- **Tech Radar Maintainers:** Principal Engineers are responsible for reviewing incoming Pull Requests (PRs). This group ensures that contributions comply with guidelines and maintain overall Radar quality. | ||
- **Contributors:** All tblxers are encouraged to propose new technologies or suggest changes to existing technology statuses. Contributors submit PRs, following the repository's guidelines and providing the necessary supporting documentation. | ||
|
||
--- | ||
|
||
## Technology Statuses and Adoption process | ||
The Tech Radar classifies technologies into four categories, reflecting their maturity and adoption level within tb.lx: | ||
|
||
- **ASSESS:** | ||
- The technology is under evaluation by a team. | ||
- An ADR is required to ensure the evaluation is transparent, aligned with engineering principles, and documented | ||
|
||
- **TRIAL:** | ||
- The technology is being tested in production by at least one product | ||
- The goal is to determine if it should be promoted as a tb.lx standard. | ||
- A proven track record in a production environment is essencial before advancing. | ||
|
||
- **ADOPT:** | ||
- The technology has demonstrated clear value in production use-cases. | ||
- It is considered a tb.lx standard and is widely recommended for use. | ||
|
||
- **HOLD:** | ||
- The technology is being deprecated at tb.lx. | ||
- Its usage is not recommended, and it should be phased out over time. | ||
- A deprecation ADR is required. | ||
|
||
--- | ||
|
||
## Technology Categories (Quadrants) | ||
To help organize and understand our technology ecosystem, the Tech Radar is divided into quadrants. These quadrants group technologies by their primary purpose and domain: | ||
|
||
- **1. Programming Languages & Frameworks:** | ||
- General-purpose or domain specific languages used to write application code, alongside essential frameworks that implement common patterns and functionalities. | ||
- Examples: TypeScript, Kotlin, Scala, Rust, React, Next.js, Spring Boot. | ||
|
||
- **2. Platforms & Infrastructure:** | ||
- Hosted environments, cloud services, container platforms, or foundational managed solutions upon which applications are deployed or run. | ||
- Examples: AKS, Azure B2C, MongoDB Atlas, Node.js | ||
|
||
- **3. Developer Tools:** | ||
- Tools, services, or utilities that help us build, test, secure, and maintain our applications. Used mostly for development, CI/CD, monitoring, or operational tasks. | ||
- Examples: Terraform, Docker, GitHub Actions, Grafana. | ||
|
||
- **4. Methods & Patterns:** | ||
- Key Software development methods and Design Patterns, covering everything from Continuous Integration and testing, to Architecture. | ||
- Examples: TDD, DevSecOps, GitOps, Component-driven Development, etc. | ||
|
||
--- | ||
|
||
## Contributing to the Tech Radar | ||
|
||
- **Before Opening a PR:** | ||
- Review the contributing guidelines in the repository's README file | ||
- Determine the right category (quadrant) for your technology by reviewing the definitions above. | ||
- Ensure your contribution does not contain sensitive or proprietary information, as the repository is public. | ||
|
||
- **Adding a New Technology (ASSESS):** | ||
- Submit a PR to introduce the technology as "ASSESS", in the relevant quadrant (e.g. Programming Languages, Frameworks & Libraries, etc.). | ||
- The PR should include a description detailing why the technology is relevant. | ||
|
||
- **Moving from ASSESS to TRIAL:** | ||
- Only move a technology to "TRIAL" after it has been successfully evaluated and tested. | ||
- The PR should include a summary of findings and a link to the ADR. | ||
|
||
- **Moving from TRIAL to ADOPT:** | ||
- Promote a technology to "ADOPT" once it has clearly proven its value in production environments. | ||
- Include evidence of successful implementations, or other supporting data in the PR. | ||
|
||
- **Marking a technology as HOLD:** | ||
- If the technology no longer aligns with tb.lx goals or is being phase out, submit a PR to mark it as "HOLD". | ||
- Provide a brief explanation for the decision to deprecate. | ||
|
||
--- | ||
|
||
## Open-Source considerations | ||
Since the Tech Radar is public, contributors must: | ||
- Omit sensitive, internal, or private company information from all code submitted in PRs. | ||
- When writing PR descriptions, consider providing only high-level rationales suitable for an external audience. | ||
|
||
By following these guidelines, we ensure that tb.lx Tech Radar remains a reliable, and transparent tool that evolves with our technological landscape. All tblxers are encouraged to collaborate, contributing to a shared understanding of our engineering direction and helping drive informed, and strategic decisions. |
Oops, something went wrong.