cd /news/developer-tools/show-hn-fail-ci-when-your-stack-runs… · home topics developer-tools article
[ARTICLE · art-104287] src=github.com ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Show HN: Fail CI when your stack runs end-of-life software

Endoflife-ai released eol-check, a zero-dependency GitHub Action that fails CI builds when repositories run end-of-life software, scanning runtime versions from files like .nvmrc, .python-version, and Dockerfile base images against endoflife.ai data. The action, available at endoflife-ai/eol-check@v1, requires no API key or configuration, and supports 500+ products via a products input, with options to fail on 'eol' or 'approaching' and warn within a configurable number of days.

read2 min views1 publishedAug 20, 2026
Show HN: Fail CI when your stack runs end-of-life software
Image: Michielbdejong (auto-discovered)

A zero-dependency GitHub Action that scans your repo for runtime versions (.nvmrc

, .python-version

, .ruby-version

, go.mod

, package.json

engines, Dockerfile

base images) and checks each one against endoflife.ai. Anything past end of life fails the build with a file-anchored annotation; anything close gets a warning and a date. No API key, no configuration required.

- uses: endoflife-ai/eol-check@v1

That's the whole integration. A fuller example:

name: EOL gate
on:
  pull_request:
  schedule:
    - cron: '0 6 * * 1'   # weekly — EOL dates pass whether or not you push code

jobs:
  eol:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - uses: endoflife-ai/eol-check@v1
        with:
          products: 'postgresql:14, kubernetes:1.32'   # things not visible in the repo
          fail-on: 'eol'                                # or 'approaching' / 'never'
          warn-days: '90'
Source Product
.nvmrc , .node-version , package.json engines.node
Node.js
.python-version
Python
.ruby-version
Ruby
go.mod (go 1.x )
Go
Dockerfile* FROM images (root + 2 levels)
node, python, ruby, golang, php, nginx, postgres, mysql, mariadb, redis, mongo, alpine, debian, ubuntu

Anything else — databases, OSes, appliances, 500+ products — via the products

input as slug:version

pairs. Slugs are the path segments on endoflife.ai (e.g. endoflife.ai/postgresql

postgresql

).| Input | Default | Meaning | |---|---|---| products | '' | Extra slug:version pairs, comma-separated | scan | true | Auto-detect from repo files | fail-on | eol | eol | approaching | never | warn-days | 90 | Warn when EOL is within this many days |

eol-count

, approaching-count

, checked-count

, and report

(the markdown table also written to the job summary).

error· nodejs 18 is END OF LIFE since 2025-04-30 (477 days ago) — no more security fixes.[https://endoflife.ai/score/nodejs/18]warning· python 3.10 reaches end of life in 72 days (2026-10-31). Plan the upgrade.

Plus a job-summary table:

Product Status EOL date Found in
nodejs 18 🔴 EOL 2025-04-30 .nvmrc
python 3.10 🟡 EOL in 72d 2026-10-31 Dockerfile
go 1.24 🟢 supported 2026-08-12 go.mod

Show a live EOL status badge for any version you ship against:

![Node 22 EOL status](https://api.endoflife.ai/v1/badge/nodejs/22)

Lifecycle data comes from endoflife.ai — end-of-life dates for 500+ products, verified against vendor sources daily, with EOL Risk Scores and a free API. Underlying community dates from endoflife.date (MIT).

MIT

── more in #developer-tools 4 stories · sorted by recency
── more on @endoflife-ai 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-fail-ci-when…] indexed:0 read:2min 2026-08-20 ·