From 3e317786f1af40f6064c3f594597df9a1ebaacdc Mon Sep 17 00:00:00 2001 From: Alumno Date: Sat, 5 Sep 2026 20:05:10 -0400 Subject: [PATCH 1/9] ci: add lain architecture health badge Plug-and-play demo of spuentesp/lain/.github/actions/lain-health-badge. The action boots a local lain server against the PR's workspace, calls get_health and architectural_observations, and posts the result as a sticky PR comment plus a 'lain/health-badge' commit status. Five lines of workflow + permissions; no lain-specific config in this repo beyond the uses: ref. Pinned to d4b81cd on lain's main (the commit with the latest action fixes); consumers can move to a tagged release when v0.7.3 ships. --- .github/workflows/lain-health.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/workflows/lain-health.yml diff --git a/.github/workflows/lain-health.yml b/.github/workflows/lain-health.yml new file mode 100644 index 00000000..ed5871fc --- /dev/null +++ b/.github/workflows/lain-health.yml @@ -0,0 +1,22 @@ +name: Lain architecture health + +on: + pull_request: + branches: [master] + +permissions: + # The action posts a commit status and a sticky PR comment; the + # default GITHUB_TOKEN is read-only. + statuses: write + pull-requests: write + +jobs: + lain-health: + name: Lain architecture health badge + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: spuentesp/lain/.github/actions/lain-health-badge@d4b81cd + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + min-fan-out: '15' From 036f2a760a02f99778b62c1eb4a519f82ea1aba8 Mon Sep 17 00:00:00 2001 From: Alumno Date: Sat, 5 Sep 2026 20:09:33 -0400 Subject: [PATCH 2/9] ci: use full 40-char SHA for lain action ref --- .github/workflows/lain-health.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lain-health.yml b/.github/workflows/lain-health.yml index ed5871fc..edec2824 100644 --- a/.github/workflows/lain-health.yml +++ b/.github/workflows/lain-health.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: spuentesp/lain/.github/actions/lain-health-badge@d4b81cd + - uses: spuentesp/lain/.github/actions/lain-health-badge@d4b81cd3fdd831802459fc04597b36a89f217975 with: github-token: ${{ secrets.GITHUB_TOKEN }} min-fan-out: '15' From 7bf444e0e335c175d7905d92b6071e8987aff97f Mon Sep 17 00:00:00 2001 From: Alumno Date: Sat, 5 Sep 2026 20:22:04 -0400 Subject: [PATCH 3/9] ci: pin to latest lain action (LSP auto-detect) --- .github/workflows/lain-health.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lain-health.yml b/.github/workflows/lain-health.yml index edec2824..f09a11ce 100644 --- a/.github/workflows/lain-health.yml +++ b/.github/workflows/lain-health.yml @@ -16,7 +16,12 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: spuentesp/lain/.github/actions/lain-health-badge@d4b81cd3fdd831802459fc04597b36a89f217975 + - uses: spuentesp/lain/.github/actions/lain-health-badge@e93575dcb046fc3b90041be87526fe921bd9ba22 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + min-fan-out: '15' + # auto-detect: pyproject.toml -> pylsp, package.json -> typescript-language-server + lsp-languages: 'auto' with: github-token: ${{ secrets.GITHUB_TOKEN }} min-fan-out: '15' From 5b83f6ebbf91997f5e30d0b1a9af3639d4bdf2fb Mon Sep 17 00:00:00 2001 From: Alumno Date: Sat, 5 Sep 2026 20:22:27 -0400 Subject: [PATCH 4/9] ci: remove duplicate with: block in workflow --- .github/workflows/lain-health.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/lain-health.yml b/.github/workflows/lain-health.yml index f09a11ce..57adb713 100644 --- a/.github/workflows/lain-health.yml +++ b/.github/workflows/lain-health.yml @@ -22,6 +22,3 @@ jobs: min-fan-out: '15' # auto-detect: pyproject.toml -> pylsp, package.json -> typescript-language-server lsp-languages: 'auto' - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - min-fan-out: '15' From f2f3a9af6dc32a4dc71d5fa08c5dfa9985b1f4e0 Mon Sep 17 00:00:00 2001 From: Alumno Date: Sat, 5 Sep 2026 20:26:04 -0400 Subject: [PATCH 5/9] ci: pin to latest lain action (cache invalidates on action change) --- .github/workflows/lain-health.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lain-health.yml b/.github/workflows/lain-health.yml index 57adb713..c44966a2 100644 --- a/.github/workflows/lain-health.yml +++ b/.github/workflows/lain-health.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: spuentesp/lain/.github/actions/lain-health-badge@e93575dcb046fc3b90041be87526fe921bd9ba22 + - uses: spuentesp/lain/.github/actions/lain-health-badge@6651d4bc6e860720f71b7bb24f5d4ff6eefc3245 with: github-token: ${{ secrets.GITHUB_TOKEN }} min-fan-out: '15' From e99f96305f03a7d821d62d34516077d91fca3493 Mon Sep 17 00:00:00 2001 From: Alumno Date: Sat, 5 Sep 2026 20:28:08 -0400 Subject: [PATCH 6/9] ci: pin to latest lain action (diagnose LSP install) --- .github/workflows/lain-health.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lain-health.yml b/.github/workflows/lain-health.yml index c44966a2..9d01954d 100644 --- a/.github/workflows/lain-health.yml +++ b/.github/workflows/lain-health.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: spuentesp/lain/.github/actions/lain-health-badge@6651d4bc6e860720f71b7bb24f5d4ff6eefc3245 + - uses: spuentesp/lain/.github/actions/lain-health-badge@e84936ff5600912729ba6f8811a22a0a8c2156fa with: github-token: ${{ secrets.GITHUB_TOKEN }} min-fan-out: '15' From 1eaf231f79eaf5b37048471d2bdbc03f5a73577a Mon Sep 17 00:00:00 2001 From: Alumno Date: Sat, 5 Sep 2026 20:30:29 -0400 Subject: [PATCH 7/9] ci: pin to latest lain action (full response logging) --- .github/workflows/lain-health.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lain-health.yml b/.github/workflows/lain-health.yml index 9d01954d..87fa6ea8 100644 --- a/.github/workflows/lain-health.yml +++ b/.github/workflows/lain-health.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: spuentesp/lain/.github/actions/lain-health-badge@e84936ff5600912729ba6f8811a22a0a8c2156fa + - uses: spuentesp/lain/.github/actions/lain-health-badge@75adf4ad818d6e865b1e1e1d3965ff0988208ed4 with: github-token: ${{ secrets.GITHUB_TOKEN }} min-fan-out: '15' From 5a9ad81caf6aa8a9db6c7dd678ddc7a5fa50f926 Mon Sep 17 00:00:00 2001 From: Alumno Date: Sat, 5 Sep 2026 21:15:38 -0400 Subject: [PATCH 8/9] ci: pin to latest lain action (jq-built request body) --- .github/workflows/lain-health.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lain-health.yml b/.github/workflows/lain-health.yml index 87fa6ea8..b648a2b5 100644 --- a/.github/workflows/lain-health.yml +++ b/.github/workflows/lain-health.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: spuentesp/lain/.github/actions/lain-health-badge@75adf4ad818d6e865b1e1e1d3965ff0988208ed4 + - uses: spuentesp/lain/.github/actions/lain-health-badge@bfca8eb8238c9d0b83f80d1fd6e10cd7db72f96f with: github-token: ${{ secrets.GITHUB_TOKEN }} min-fan-out: '15' From 90aecf91e7ea34d67e57ac90aa59783113d4a326 Mon Sep 17 00:00:00 2001 From: Alumno Date: Sat, 5 Sep 2026 21:20:40 -0400 Subject: [PATCH 9/9] ci: pin to v0.7.3 tag (consumer experience) --- .github/workflows/lain-health.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lain-health.yml b/.github/workflows/lain-health.yml index b648a2b5..10fd3c9c 100644 --- a/.github/workflows/lain-health.yml +++ b/.github/workflows/lain-health.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: spuentesp/lain/.github/actions/lain-health-badge@bfca8eb8238c9d0b83f80d1fd6e10cd7db72f96f + - uses: spuentesp/lain/.github/actions/lain-health-badge@v0.7.3 with: github-token: ${{ secrets.GITHUB_TOKEN }} min-fan-out: '15'