From 63c49c71174969b5410412597a2202259b6991a3 Mon Sep 17 00:00:00 2001 From: Masato Onodera Date: Tue, 4 Aug 2026 15:56:36 +0900 Subject: [PATCH 1/2] ci: run pytest in CI The test suite has never run in CI. test_database.yml exercises the CLI end to end and generates ER diagrams, but does not invoke pytest, so the 30 tests in tests/ have only run on developer machines. Runs the full suite including the Docker-backed integration tests, which manage their own Postgres stack via tests/docker/docker-compose.test.yml and need no services: block. Co-Authored-By: Claude Opus 5 --- .github/workflows/test.yml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..0527578 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,35 @@ +name: Test + +on: + pull_request: + branches: [main] + push: + branches: [main] + +jobs: + test: + name: pytest + runs-on: ubuntu-latest + permissions: + contents: read + + steps: + - name: Checkout code + uses: actions/checkout@v6 + + - name: Install uv + uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0 + with: + enable-cache: true + + - name: Set up Python + run: uv python install 3.12 + + - name: Install dependencies + run: uv sync --extra dev + + - name: Run tests + run: | + uv run pytest tests/ -v \ + --cov=src/targetdb \ + --cov-report=term-missing From c6c5ada1d3983ac291a03ced76eace4da608e645 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 4 Aug 2026 08:34:59 +0000 Subject: [PATCH 2/2] chore: update ER diagrams [skip ci] --- diagrams/erdiagram_targetdb_latest.pdf | Bin 47900 -> 47901 bytes docs/tbls/public.fluxstd.md | 4 ++-- docs/tbls/public.sky.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/diagrams/erdiagram_targetdb_latest.pdf b/diagrams/erdiagram_targetdb_latest.pdf index 1a76a9e18532419c073d1ee84208b748cec3e6d3..d3c01c335ec7223486317c9317369dbd1005dd0f 100644 GIT binary patch delta 12857 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 X008hv0wwg5^tvDjGYTaoMNdWw0uVvh delta 12858 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 Y3=9APAOa>9ll8hF2r>#KB}Gq03e65kI{*Lx diff --git a/docs/tbls/public.fluxstd.md b/docs/tbls/public.fluxstd.md index ba7ef39..4e21f11 100644 --- a/docs/tbls/public.fluxstd.md +++ b/docs/tbls/public.fluxstd.md @@ -101,10 +101,10 @@ | ---- | ---------- | | fluxstd_pkey | CREATE UNIQUE INDEX fluxstd_pkey ON public.fluxstd USING btree (fluxstd_id) | | uq_obj_id_input_catalog_id_version | CREATE UNIQUE INDEX uq_obj_id_input_catalog_id_version ON public.fluxstd USING btree (obj_id, input_catalog_id, version) | -| fluxstd_q3c_ang2ipix_idx | CREATE INDEX fluxstd_q3c_ang2ipix_idx ON public.fluxstd USING btree (q3c_ang2ipix(ra, "dec")) | | ix_fluxstd_input_catalog_fluxstdid | CREATE INDEX ix_fluxstd_input_catalog_fluxstdid ON public.fluxstd USING btree (input_catalog_id, fluxstd_id) | -| ix_fluxstd_version | CREATE INDEX ix_fluxstd_version ON public.fluxstd USING btree (version) | | ix_fluxstd_version_fluxstdid | CREATE INDEX ix_fluxstd_version_fluxstdid ON public.fluxstd USING btree (version, fluxstd_id) | +| fluxstd_q3c_ang2ipix_idx | CREATE INDEX fluxstd_q3c_ang2ipix_idx ON public.fluxstd USING btree (q3c_ang2ipix(ra, "dec")) | +| ix_fluxstd_version | CREATE INDEX ix_fluxstd_version ON public.fluxstd USING btree (version) | ## Relations diff --git a/docs/tbls/public.sky.md b/docs/tbls/public.sky.md index 6b4f98d..1acf434 100644 --- a/docs/tbls/public.sky.md +++ b/docs/tbls/public.sky.md @@ -35,8 +35,8 @@ | sky_pkey | CREATE UNIQUE INDEX sky_pkey ON public.sky USING btree (sky_id) | | sky_obj_id_input_catalog_id_version_key | CREATE UNIQUE INDEX sky_obj_id_input_catalog_id_version_key ON public.sky USING btree (obj_id, input_catalog_id, version) | | ix_sky_input_catalog_id | CREATE INDEX ix_sky_input_catalog_id ON public.sky USING btree (input_catalog_id) | -| sky_q3c_ang2ipix_idx | CREATE INDEX sky_q3c_ang2ipix_idx ON public.sky USING btree (q3c_ang2ipix(ra, "dec")) | | ix_sky_version | CREATE INDEX ix_sky_version ON public.sky USING btree (version) | +| sky_q3c_ang2ipix_idx | CREATE INDEX sky_q3c_ang2ipix_idx ON public.sky USING btree (q3c_ang2ipix(ra, "dec")) | ## Relations