Commit Graph

139 Commits

Author SHA1 Message Date
Nick Sweeting
ece6e620da
Reuse root docs checkout environment
Some checks are pending
CI / Linters (push) Waiting to run
CI / Install and CLI platform compatibility (push) Waiting to run
CI / Discovered test matrix (push) Waiting to run
CI / Documentation and root tests (push) Waiting to run
CI / CodeQL (push) Waiting to run
CI / Tested Python artifacts (push) Waiting to run
CI / Tested Docker images (push) Waiting to run
CI / All required CI lanes (push) Blocked by required conditions
Deploy Publicsite to GitHub Pages / deploy (push) Waiting to run
2026-07-26 23:58:50 -07:00
Nick Sweeting
31ec7511e3
Use isolated venv for root docs wrapper 2026-07-26 23:46:36 -07:00
Nick Sweeting
1eef0ccaa3
Restore checkout venv after apt docs install 2026-07-26 23:37:17 -07:00
Nick Sweeting
e617120e8e
Use project interpreter for root docs wrapper 2026-07-26 23:32:40 -07:00
Nick Sweeting
8c693c54a0
Isolate root docs from apt checkout side effects 2026-07-26 23:22:46 -07:00
Nick Sweeting
bfa990b288
Run root docs wrapper as runner user 2026-07-26 23:17:08 -07:00
Nick Sweeting
895fd09856
Bypass console script in root docs wrapper 2026-07-26 23:12:37 -07:00
Nick Sweeting
37f2f11482
Isolate system docs from checkout virtualenv 2026-07-26 23:07:26 -07:00
Nick Sweeting
2349f3415f
Run root docs through current checkout wrapper 2026-07-26 23:02:53 -07:00
Nick Sweeting
e862c5145e
Test root docs against current checkout 2026-07-26 22:27:11 -07:00
Nick Sweeting
eb1689796f
Bump downloader deps for dev CI 2026-07-26 20:31:10 -07:00
Nick Sweeting
412bd144f0
Stabilize rewritten preview screenshots 2026-07-25 22:54:35 -07:00
Nick Sweeting
291efbbe3b
Align snapshot plugin thumbnail icon 2026-07-25 22:28:55 -07:00
Nick Sweeting
c24a34a930
Refine snapshot thumbnail heading layout 2026-07-25 22:24:42 -07:00
Nick Sweeting
c8d0e2e8e7
Fix MCP docs introspection snippet 2026-07-25 22:20:25 -07:00
Nick Sweeting
68c53d5934
Fix CI runtime binary resolution and docs install drift 2026-07-25 21:32:09 -07:00
Nick Sweeting
d312c25531
Clean root-owned docs temp trees 2026-07-25 16:43:12 -07:00
Nick Sweeting
d5050ffc08
Fix root docs abxpkg lib ownership 2026-07-25 16:04:59 -07:00
Nick Sweeting
05350846ab
Sync ArchiveBox UI and setup updates 2026-07-25 14:50:15 -07:00
Nick Sweeting
e742242b12
Skip BSD docs lanes in CI 2026-07-25 14:17:17 -07:00
Nick Sweeting
1d40298e63
Revert "Run docs snippets only on macOS and Ubuntu in CI"
This reverts commit 0bdb6f116c.
2026-07-25 14:12:04 -07:00
Nick Sweeting
0bdb6f116c
Run docs snippets only on macOS and Ubuntu in CI 2026-07-25 14:11:34 -07:00
Nick Sweeting
ddad35b85b Revert "Limit docs snippet CI to macOS and Ubuntu"
This reverts commit da3028300b.
2026-07-25 14:09:45 -07:00
Nick Sweeting
da3028300b
Limit docs snippet CI to macOS and Ubuntu 2026-07-25 14:08:58 -07:00
Nick Sweeting
2e33794cdf
Isolate system docs snippets from tool overrides 2026-07-25 13:57:45 -07:00
Nick Sweeting
4b16280b5d
fix: isolate system docs snippets from CI tool overrides 2026-07-25 13:55:06 -07:00
Nick Sweeting
ee381e7333 Sanitize root docs snippet tool environment 2026-07-25 13:54:32 -07:00
Nick Sweeting
8caae75c81
fix: create parent dirs for docs system lib 2026-07-25 13:48:43 -07:00
Nick Sweeting
80499954fc
fix: use writable abxpkg lib for system docs snippets 2026-07-25 13:48:04 -07:00
Nick Sweeting
af9c251c4b
Make docs system lib writable for package user 2026-07-25 13:47:29 -07:00
Nick Sweeting
13c3a4aaf3 Update downloader deps and docs CI snippets 2026-07-25 13:38:35 -07:00
Nick Sweeting
c4068e633c
Fix root docs temp permissions 2026-07-25 12:53:26 -07:00
Nick Sweeting
bae08cec1a Run apt docs version check from temp dir 2026-07-25 12:47:32 -07:00
Nick Sweeting
99d32ac32a Keep apt docs snippet runnable 2026-07-25 12:40:58 -07:00
Nick Sweeting
8e44e13c7b Fix runnable package install docs snippets 2026-07-25 12:32:37 -07:00
Nick Sweeting
de4579f2af Use temp nginx logs in docs validation 2026-07-25 12:09:47 -07:00
Nick Sweeting
c5aff50a06 Format nginx docs validator 2026-07-25 12:07:45 -07:00
Nick Sweeting
b7d638efb6
Fix nginx docs validation pid path 2026-07-25 12:05:54 -07:00
Nick Sweeting
8fa9120d18 Use Linux mermaid sandbox config in docs CI 2026-07-25 12:01:32 -07:00
Nick Sweeting
d4ff0d033f
Merge remote-tracking branch 'origin/dev' into codex/all-tests-ci 2026-07-25 11:51:21 -07:00
Nick Sweeting
7658df9208 Fix ArchiveBox CI runtime paths and docs validation 2026-07-25 11:51:15 -07:00
Claude
e6102b52ac
Register new DATABASE_CONFIG docs example in codeblocks inventory
The postgres ArchiveBox.conf example added to Configuration.md is an
illustration snippet; add it to docs/codeblocks.toml so the docs manifest
inventory check passes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019YHSjZM6TstSAMN2PhgfUg
2026-07-24 10:32:59 +00:00
Claude
f7c182d76c
Merge remote-tracking branch 'origin/dev' into claude/archivebox-postgresql-support-xrlgim
# Conflicts:
#	.github/workflows/test-parallel.yml
#	.github/workflows/test.yml
#	uv.lock
2026-07-24 10:30:55 +00:00
Claude
6a8062090b
Slim DB helpers and address PR review feedback
Helper reduction:
- Move the Django DATABASES/SQLITE_CONNECTION_OPTIONS assembly into
  core/settings.py, dropping get_database_settings() and
  get_sqlite_connection_options() from misc/db.py.
- Inline the single-use migration_table_columns() into its one migration.

Review fixes:
- search: match only scalar JSON *values* on postgres (jsonb_path_query
  over '$.**' scalar leaves), mirroring SQLite json_tree.atom so config
  keys no longer match.
- CharField clamp now also runs in SnapshotQuerySet.bulk_create (bulk paths
  bypass the pre_save signal); truncate_overlong_charfields is dual-use.
- Restore reverse-migration parity on postgres: crawls/machine/api initial
  migrations drop their rebuilt tables on reverse via drop_models_on_postgres.
- docs: give DATABASE_NAME its own section so the anchor resolves correctly.
- CI: only install postgres binaries on the shard that runs the postgres test.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019YHSjZM6TstSAMN2PhgfUg
2026-07-24 07:57:09 +00:00
Nick Sweeting
eacfae5d6c
Run all ArchiveBox tests through unified CI 2026-07-24 00:50:40 -07:00
Claude
7167c5dd8a
Add native PostgreSQL support alongside SQLite
Add DATABASE_ENGINE=postgres (plus DATABASE_HOST/PORT/USER/PASSWORD/NAME)
config and centralize all sqlite-vs-postgres branching in
archivebox.misc.db:

- get_database_settings() builds DATABASES for either backend; the sqlite
  path is unchanged (custom lock-retry backend, same PRAGMAs).
- database_exists()/ensure_database_ready() replace index.sqlite3 file
  checks; init auto-creates the postgres database when missing.
- approximate_row_counts() serves admin index counts from sqlite_stat1 or
  pg_class.reltuples; missing-table detection covers both vendors.
- rebuild_models_from_migration_state() lets historical sqlite-only raw
  SQL migrations resync postgres schema from Django migration state at
  every divergence point (postgres can never hold legacy data, so
  affected tables are empty when these run). All raw-DDL and PRAGMA
  migrations are now vendor-gated with sqlite behavior byte-for-byte
  unchanged.
- A pre_save clamp truncates CharField values to max_length: sqlite
  never enforced varchar(n) but postgres does (e.g. long crawl labels).
- Collation-sensitive URL range scans branch to escaped LIKE on postgres
  (with a text_pattern_ops index) since linguistic collations break
  bytewise range tricks; the crawl-config JSON search wave gets a
  jsonb-text implementation.

Verified on real PostgreSQL 16: fresh init applies the entire migration
graph, schema matches models exactly (column-level parity check +
makemigrations --check), and add/run/list/search/status/remove all work
end-to-end. New test_postgres_backend.py suite boots a real throwaway
postgres cluster (initdb + pg_ctl); CI workflows install postgres server
binaries.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019YHSjZM6TstSAMN2PhgfUg
2026-07-23 17:08:47 +00:00
Nick Sweeting
bcab0bfa6e
Run the complete core and MCP documentation suites 2026-07-21 19:26:42 -07:00
Nick Sweeting
6592af0d19
Exercise ArchiveBox through unified runtime lifecycles 2026-07-21 19:26:42 -07:00
Nick Sweeting
6e915c11aa
Restore complete deterministic ArchiveBox CI 2026-07-19 20:08:29 -07:00
Nick Sweeting
cfbb2ba6cf
Update install docs for dev uv packages 2026-06-24 11:21:36 -07:00