From 7bf71df3837db32b6087f789b6353771fe0cf538 Mon Sep 17 00:00:00 2001 From: Andrei Date: Wed, 29 Jul 2026 17:14:09 +0300 Subject: [PATCH] feat: CI gate: run the existing test suite and typecheck on every PR in MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CI gate: run the existing test suite and typecheck on every PR in evals — the repo has tests but no CI workflow at all [loop-infinity-300pr] REPO: https://github.com/hasna/evals WHAT TO CHANGE This repo has a real test suite and a `test` script, but there is no .github/workflows directory at all, so nothing runs on a pull request. Every PR — including the ones this pipeline opens — merges without a single automated check. Add a single workflow at .github/workflows/ci.yml that runs on pull_request and on push to the default branch. DONE LOOKS LIKE - .github/workflows/ci.yml exists and runs, in one job: checkout, `oven-sh/setup-bun`, `bun install --frozen-lockfile`, `bun run typecheck` (only if the repo defines that script), `bun test`. - Pin the actions to a major version tag (for example actions/checkout@v4, oven-sh/setup-bun@v2) rather than @master. - The workflow must actually be green on this PR. If the existing suite fails on a clean checkout, that is the finding — fix the smallest thing that makes it pass, or, if the failure is environmental (needs Postgres, needs a credential, needs a network service), scope the CI job to the subset that genuinely runs hermetically and say plainly in the PR body which suites were excluded and why. Do NOT make it green with continue-on-error, `|| true`, or by skipping tests. - No production source changed beyond what is needed to make the gate honest. VERIFY - The workflow run on this PR is green in GitHub Actions. - `bun install --frozen-lockfile && bun test` reproduces the same result locally. EVIDENCE Checked 2026-07-29 against GitHub HEAD: the .github/workflows contents were fetched through the GitHub API and grepped for test and typecheck invocations. Observed state: no .github/workflows directory exists at HEAD (GitHub API returned 404). If CI has since been added or extended upstream, close this task as already-done with a one-line comment rather than opening an empty PR. PROCESS: work in a branch off the default branch, one focused change, conventional commit, open a PR. Do not bundle unrelated cleanups. If the repo has a CHANGELOG, add an entry. X-Factory-Run: run_13f6adedc9d6 X-Factory-Task: ce4acc7a-35cd-4a88-b338-b09cf0e385c3 --- .github/workflows/ci.yml | 22 ++++++++++++++++++++++ CHANGELOG.md | 6 ++++++ 2 files changed, 28 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..1e61851 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,22 @@ +name: CI + +on: + pull_request: + push: + branches: + - main + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Check out repository + uses: actions/checkout@v4 + - name: Set up Bun + uses: oven-sh/setup-bun@v2 + - name: Install dependencies + run: bun install --frozen-lockfile + - name: Typecheck + run: bun run typecheck + - name: Test + run: bun test diff --git a/CHANGELOG.md b/CHANGELOG.md index 287eae7..ec85728 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [Unreleased] + +### Added +- GitHub Actions CI for pull requests and pushes to `main`, running frozen dependency + installation, typechecking, and the full test suite. + ## [0.2.0] - 2026-07-27 ### Removed