44 Commits
Author SHA1 Message Date
github-actions[bot] 8f368d6fd5 chore(data): update champions data to latest patch 2026-08-27 17:09:25 +00:00
github-actions[bot] a422e318f2 chore(data): update champions data to latest patch 2026-08-13 07:14:41 +00:00
github-actions[bot] 45a5e849ba chore(data): update champions data to latest patch 2026-08-10 09:33:04 +00:00
tiennm99 c1a209806c chore: wire up monorepo layout after absorbing loldle-data and loldle-android
Workflows move to the repo root: deploy and CI build from web/, and a single
update-champions workflow replaces the old two-repo pipeline (scrape in data/,
copy into web/static/, redeploy). Go module becomes
github.com/tiennm99/loldle/data. Root README maps the three parts.
2026-08-10 16:29:55 +07:00
github-actions[bot] 0853508e40 chore: update champions data to latest patch 2026-08-06 08:44:16 +00:00
github-actions[bot] 9e72ba3563 chore: update champions data to latest patch 2026-07-30 08:34:15 +00:00
tiennm99andGitHub e0a9d329bf Merge pull request #1 from tiennm99/dependabot/go_modules/golang.org/x/net-0.55.0
chore(deps): bump golang.org/x/net from 0.52.0 to 0.55.0
2026-07-25 10:29:56 +07:00
tiennm99 234703072e ci: remove champions sync to archived downstream repo
The loldle repo is archived and read-only, so every push after a data
update failed with a 403. Consumers read champions.json from this repo
directly instead.

Checkout no longer overrides the token: the PAT existed only so the data
commit would trigger the sync workflow, and contents: write on the
default GITHUB_TOKEN covers the push.
2026-07-25 10:27:57 +07:00
github-actions[bot] 33d4379f6e chore: update champions data to latest patch 2026-07-23 08:37:14 +00:00
dependabot[bot]andGitHub 8c045e2951 chore(deps): bump golang.org/x/net from 0.52.0 to 0.55.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.52.0 to 0.55.0.
- [Commits](https://github.com/golang/net/compare/v0.52.0...v0.55.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.55.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-20 10:00:30 +00:00
github-actions[bot] 4ca2f5bb75 chore: update champions data to latest patch 2026-06-25 08:52:39 +00:00
github-actions[bot] 65530ef02b chore: update champions data to latest patch 2026-06-18 10:13:33 +00:00
github-actions[bot] 97af220e3b chore: update champions data to latest patch 2026-06-11 10:14:53 +00:00
github-actions[bot] 4cb3d12e16 chore: update champions data to latest patch 2026-05-28 09:53:02 +00:00
github-actions[bot] 02eb758a43 chore: update champions data to latest patch 2026-05-21 09:30:20 +00:00
github-actions[bot] 19352796cf chore: update champions data to latest patch 2026-05-14 08:31:51 +00:00
tiennm99 0af3e23c14 docs(readme): expand from 83B — add what/usage/output/used-by sections 2026-05-11 21:42:18 +07:00
github-actions[bot] ba053beb93 chore: update champions data to latest patch 2026-04-30 08:12:23 +00:00
tiennm99 969c08603d ci: drop miti99bot from champions sync targets 2026-04-22 13:34:47 +07:00
tiennm99 baeea6876e chore: sync CHAMPIONS.md with reverted Zaahen data 2026-04-21 10:03:23 +07:00
tiennm99 c446f08c2f feat(docs): regenerate CHAMPIONS.md from champions.json in scraper
- Add saveMarkdown in markdown.go rendering the Loldle classic-mode column
  table (Champion | Gender | Genre | Range | Resource | Region | Lane | Year).
- main.go writes CHAMPIONS.md after champions.json on every scrape.
- update-champions.yml stages CHAMPIONS.md alongside champions.json so CI
  commits both in lockstep.
- alt text on tile images now uses champion display name (e.g. Bel'Veth)
  instead of the ID slug.
2026-04-21 10:03:07 +07:00
tiennm99 3824945eaa docs: add CHAMPIONS.md table view of champions.json 2026-04-21 10:03:07 +07:00
github-actions[bot] 27fadeb6a0 chore: update champions data to latest patch 2026-04-20 14:31:11 +00:00
tiennm99 3eb72ecfc0 test(data): set Zaahen lane=top,jungle + releaseDate=2026 to verify sync chain 2026-04-20 21:18:55 +07:00
tiennm99 be2df323e7 refactor(ci): split scrape and sync into two workflows
- update-champions.yml: cron/manual only, scrapes + commits
  champions.json. Uses LOLDLE_PAT so the push retriggers sync.
- sync-champions.yml: runs on push to champions.json (or manual
  dispatch), fans out to downstream repos via the sync_repo helper.

Single responsibility per workflow; chained via the push trigger.
2026-04-20 21:16:52 +07:00
tiennm99 aa882b5c3b ci: fan out downstream sync on manual pushes too
Add push trigger (paths: champions.json) so direct edits to
champions.json auto-sync to miti99bot and loldle without needing a
workflow_dispatch. Scraper + commit steps skip on push events (the
data is already committed); sync step runs when either changed=true
from the scraper path OR the trigger is push. Default GITHUB_TOKEN
commits don't retrigger workflows, so no self-loop.
2026-04-20 21:14:41 +07:00
tiennm99 7dd369a46e chore(ci): remove sync-champions.yml — superseded by update-champions.yml fan-out 2026-04-20 21:12:59 +07:00
tiennm99 afdfc6376c refactor(ci): unify downstream sync into one step with shell function
- Single LOLDLE_PAT secret for all downstream repos (miti99bot + loldle).
- sync_repo() takes (repo, dest-path, optional post-copy command);
  add a target by appending one line.
- DRYs up duplicate clone/copy/commit/push blocks.
2026-04-20 21:08:34 +07:00
tiennm99 7eed27ba52 ci: also push champions data to loldle repo
Mirrors the miti99bot push step — clones tiennm99/loldle, copies
champions.json into public/, commits and pushes. Gated on
LOLDLE_PUSH_TOKEN secret; step is a no-op when unset.
2026-04-20 18:34:32 +07:00
tiennm99 859eff4c82 ci: push champions data directly to miti99bot repo
Replaces the repository_dispatch notification flow. After a successful
champions.json commit in loldle-data, this workflow now clones
miti99bot, copies the file, regenerates champions-data.js via the
project's build script, and commits+pushes to miti99bot main.

Token secret renamed MITI99BOT_DISPATCH_TOKEN -> MITI99BOT_PUSH_TOKEN
to reflect the new scope (contents:write on tiennm99/miti99bot).
2026-04-20 18:33:30 +07:00
tiennm99 80bbf3a641 ci: dispatch miti99bot sync event after champions update
After a successful commit of champions.json, send a repository_dispatch
(type: loldle-data-updated) to tiennm99/miti99bot so its sync workflow
pulls the latest data into its loldle module. No-op when
MITI99BOT_DISPATCH_TOKEN is unset.
2026-04-20 17:10:28 +07:00
tiennm99 428f21bcea fix: upgrade GitHub Actions to Node.js 24-compatible versions
Bump actions/checkout v4→v5 and actions/setup-go v5→v6 to resolve
Node.js 20 deprecation warnings.
2026-04-16 15:02:05 +07:00
github-actions[bot] a1a497a39a chore: update champions data to latest patch 2026-04-16 07:43:18 +00:00
tiennm99 04dcf74746 fix: add write permissions to update-champions workflow
The workflow failed because the default GITHUB_TOKEN lacked write
access, causing `git push` to return 403.
2026-04-16 14:42:05 +07:00
tiennm99 c55cf36517 feat: add weekly workflow to auto-update champions data 2026-04-05 12:16:48 +07:00
tiennm99 1778ca9db9 fix: update champions.json with latest skin counts 2026-04-05 12:14:10 +07:00
tiennm99 eddcfe25fa feat: auto-detect latest champions version from Riot API
When championsVersion is empty, fetch the latest version from
ddragon.leagueoflegends.com instead of requiring a hardcoded value.
2026-04-05 12:13:43 +07:00
tiennm99 a12b5d2b5d fix: disable HTML escaping in JSON output for & characters 2026-04-05 00:29:00 +07:00
tiennm99 23be5513e4 fix: use MediaWiki API for wiki scraping to bypass Cloudflare
Direct wiki page requests return 403 due to Cloudflare JS challenge.
Switch to MediaWiki parse API which returns rendered HTML without
blocking. Also match img[alt='Official'] in lane detection.
2026-04-05 00:14:13 +07:00
tiennm99 090082a51d fix: use typed ChampionImage struct for correct JSON key order 2026-04-04 20:31:12 +07:00
tiennm99 234d557bcc feat: sort champions alphabetically by name 2026-04-04 18:58:36 +07:00
tiennm99 1e7a05e591 feat: add champions.json sync workflow to loldle repo
Track champions.json in git and add GitHub Action that copies it
to tiennm99/loldle/public/champions.json on push.
2026-04-04 18:41:47 +07:00
tiennm99 cfa664f217 feat: rewrite LoLdleData in Go
4-stage pipeline: fetch ddragon champions, enrich with release dates
(wiki scrape), regions (Universe API), and lanes (wiki scrape).
Concurrent gender detection via goroutines with semaphore.
2026-04-04 18:06:48 +07:00
tiennm99andGitHub 361e09910b Initial commit 2026-04-04 17:19:15 +07:00