Rahix
1f889245af
Make tree serde-serializable
2025-07-28 15:29:26 +02:00
Rahix
92e8ea066f
Hint about TECHTREE_FAKE=1 trick
...
Make it easier to get started with the techtree-manager codebase by
hinting at the TECHTREE_FAKE=1 variable for local development.
2025-07-28 15:29:26 +02:00
Rahix
d4b8241808
Allow running the manager without a token
...
This is useful for local testing.
2025-05-30 21:35:00 +02:00
Rahix
96bb2540ba
Update README
...
/ build (push) Successful in 1m4s
Use media link for the techtree image.
2025-05-28 11:46:24 +02:00
Rahix
511a4467a3
Update README
...
/ build (push) Successful in 1m5s
Also update the mermaid classes that are used in the README.
Fixes: 1cefb058bf
("manager: Fix mermaid style on dark Forgejo theme")
2025-05-28 03:02:30 +02:00
Rahix
e188e18637
Update README
/ build (push) Successful in 1m5s
2025-05-28 02:54:31 +02:00
Rahix
1cefb058bf
manager: Fix mermaid style on dark Forgejo theme
...
/ build (push) Successful in 1m6s
Forgejo seems to automatically choose a light font color for mermaid
graphs when the site-theme is dark. This conflicts with the background
colors of our mermaid nodes. Explicitly force a dark font color to
ensure the text is also readable on dark Forgejo.
2025-05-25 15:33:46 +02:00
Rahix
15726d9ee8
manager: Apply rustfmt
2025-05-25 15:33:46 +02:00
Rahix
cc05ba7407
manager: Simplify very complex mermaid graphs
...
/ build (push) Successful in 1m4s
Forgejo has a limit of 5000 characters per mermaid graph. We started
hitting this for some issues. Regenerate a somewhat simplified version
of the subtree in this case which hopefully does not hit the same limit
again.
2025-05-25 03:44:07 +02:00
Rahix
42ec50cb64
manager: Add license
/ build (push) Successful in 1m6s
2025-05-24 21:16:29 +02:00
Rahix
c08beba27b
manager: Implement pagination for issue fetching
...
/ build (push) Successful in 1m6s
Forgejo seems to limit requests to 50 issues server side, regardless of
the limit we send in our request. This means we have to fetch each page
separately regardless.
2025-05-24 21:10:12 +02:00
Rahix
95991f47d4
Remove original tech tree dot file
...
/ build (push) Successful in 1m6s
All information has been transcoded into the issue manager.
2025-05-23 01:19:28 +02:00
Rahix
d900bd80ab
manager: Fix fake event not pointing at the correct repo
2025-05-23 00:46:15 +02:00
Rahix
b484256246
manager: Mark completion using a label
...
/ build (push) Successful in 1m7s
Don't use the open/close state of the issues to mark their completion.
This has friction with dependencies, because you can only add
dependencies on open issues.
Instead, issues are marked as completed using a "Completed" label now.
2025-05-23 00:44:36 +02:00
Rahix
8ae5ff6b81
README: Use live link of the rendered tech tree
/ build (push) Successful in 1m6s
2025-05-22 21:50:10 +02:00
Rahix
3fae6a2b7c
ci: Limit build jobs to main branch
/ build (push) Successful in 1m6s
2025-05-22 21:29:29 +02:00
Rahix
7762dbe80f
README: Document how this tech tree works
2025-05-22 21:28:21 +02:00
Rahix
c1936c7ed2
manager: More cleanup
2025-05-22 20:37:10 +02:00
Rahix
785ff37107
manager: The big refactoring
...
Clean up the logic in main to make it more readable. Factor out common
functionality into the respective modules.
2025-05-22 20:28:38 +02:00
Rahix
bc54cd91fd
manager: Factor out a common context object
...
Clean up the global data a bit by bundling it in a context object.
2025-05-22 18:47:31 +02:00
Rahix
eebbd9c453
manager: Fix double comment bug
...
When the job for the new issue is scheduled later than another manager
run, we create a second comment due to the previously unconditional
comment creating. Always look for an existing comment first.
2025-05-22 17:56:28 +02:00
Rahix
f11d8459ba
manager: Wait a bit before collecting new issue
2025-05-22 17:37:45 +02:00
Rahix
34e9a99d61
manager: Fix pagination limit for issue list
...
It turns out that `None` does not disable pagination, it just uses the
default limit. Set an obscenely high limit to ensure we get the full
list.
2025-05-22 17:24:48 +02:00
Rahix
e418d9d720
manager: Reduce noise from git commands
2025-05-22 17:20:01 +02:00
Rahix
4d7bc0742e
ci: Don't run manager on "issue unlabeled"
2025-05-22 17:11:18 +02:00
Rahix
ec5a71b936
manager: Make graph tree more tall than wide
...
Helps with readability.
2025-05-22 16:59:40 +02:00
Rahix
34d7a371b3
manager: Drop wiki page updates
...
Let's focus on the dot-based total tree
2025-05-22 16:12:13 +02:00
Rahix
a6aa02aa40
manager: wiki: Fix deprecation warning about base64::encode()
2025-05-22 16:12:13 +02:00
Rahix
c93f701ef8
manager: Allow dead_code
...
For now, this makes development easier
2025-05-22 16:12:13 +02:00
Rahix
6d7af36726
manager: Ignore errors while removing labels
2025-05-22 15:58:13 +02:00
Rahix
24e834dde3
manager: Don't hardcode repository URL
2025-05-22 15:49:06 +02:00
Rahix
d0c8389c3b
manager: Apply rustfmt
2025-05-22 15:49:06 +02:00
Rahix
f04beb5dea
manager: Remove Stale
label if present
...
The stale label provides an easy way to force CI runs for issues after
changing dependencies.
2025-05-22 15:49:06 +02:00
Rahix
e274f6206c
manager: Configure a git identity for committing
2025-05-22 15:02:57 +02:00
Rahix
cf484fe21c
manager: Fix ignoring subcommand exit status
2025-05-22 15:00:28 +02:00
Rahix
9198ffa10a
README: Reference rendered tree
2025-05-22 14:55:35 +02:00
Rahix
656b8f4b25
manager: Add new dependencies to nix shell
2025-05-22 14:55:35 +02:00
Rahix
8b66d2551a
manager: Render graphviz tree and push it to git
2025-05-22 14:55:35 +02:00
Rahix
3bd79f176e
manager: Apply rustfmt
2025-05-22 10:23:07 +02:00
Rahix
6d258f489f
manager: Use Type/ labels instead of ty/ and don't force types
...
Allow arbitrary element types via the Type/# labels.
2025-05-22 10:09:59 +02:00
Rahix
81932d2ac1
manager: collect: Fix panic on non-tracked dependency
2025-05-22 10:09:22 +02:00
Rahix
69680a596b
Update README
2025-05-22 09:56:25 +02:00
Rahix
fb3a4a0d19
tree: Improve dot styling
...
Use the same/similar styles that we use for mermaid.
2025-05-22 09:51:48 +02:00
Rahix
77abf68e3c
ci: Add CI workflows
...
The push.yml workflow builds the manager and then places it in the $HOME
of the runner. The issue.ym then uses the cached tool binary to update
the techtree information whenever any issue is changed. This approach
of course only works as long as only one runner is connected to this
repository.
In the long run, this approach shall be replaced by a nix build of the
techtree-manager which is then cached by the OS instead of manually.
2025-05-22 09:49:33 +02:00
Rahix
04047052e3
manager: Add nix shell
...
This nix shell will also be used as the CI environment for this tool.
2025-05-22 09:49:08 +02:00
Rahix
870e54e263
manager: Add first version of the techtree manager
...
The techtree manager is a CI tool that derives the techtree graph from
the forgejo issues in this repository. It then adds graph
visualizations to each issue and the wiki, to give an overview of the
tree.
2025-05-22 09:48:01 +02:00
Serge Bazanski
8ab73f4a4a
tree: init from IC RE talk
2025-05-17 01:37:23 +02:00