Skip to content

Bump version to 1.7.0 and test parser updates - #25

Merged
sjdonado merged 3 commits into
masterfrom
release-1.7.0
Oct 4, 2026
Merged

sjdonado merged 3 commits into
masterfrom
release-1.7.0

Conversation

@sjdonado

@sjdonado sjdonado commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

What changed

shard.yml and the OpenAPI info.version in docs/openapi.yaml move from 1.6.0 to 1.7.0, ahead of the 1.7.0 release. The 1.6.1 and 1.6.2 tags were cut with both still at 1.6.0, so this also brings them back in line with the released version. No other tracked file states the app version.

The Update Parsers workflow now builds the app and runs crystal spec and crystal spec e2e right after downloading the new user-agent regexes and GeoLite2 database, so a broken download fails the run instead of opening a PR. Its PRs never got tested before: every Run tests run on automated/update-parsers ended as action_required, waiting for approval. A new spec/lib/parsers_spec.cr makes those tests meaningful for the data: it resolves 8.8.8.8 and 2001:4860:4860::8888 to US and parses Chrome, iPhone Safari, Android Chrome, and Googlebot user agents. Before it, IpLookup swallowed reader errors, so an empty GeoLite2 file passed every suite.

Merge timing

Merging redeploys the API docs (deploy-docs.yml watches docs/openapi.yaml) and republishes sjdonado/bit:latest (publish.yml runs on every push to master). Merge right before creating the 1.7.0 release so the docs and the release show the same version.

Checks

  • shards check passes and shard.lock is unchanged
  • docs/openapi.yaml parses with info.version 1.7.0
  • ENV=production shards build --release --no-debug, ENV=test crystal spec with 63 passing examples, and ENV=test crystal spec e2e
  • The Update Parsers job simulated in a scratch copy of the repo: ./cli --update-parsers downloaded fresh data, the build, specs, and e2e passed, and git status --porcelain listed only data/GeoLite2-Country.mmdb, so no test artifacts reach the bot PR
  • With an empty GeoLite2-Country.mmdb and an empty regex list, both new parser specs fail

Rejected review findings

  • Add a CI check that the release tag matches shard.yml: useful, but outside a version bump. Worth a separate change if the drift repeats.
  • Make ./cli --update-parsers exit non-zero when a download fails: an empty or partial file now fails the new parser specs, so the PR step never runs.
  • Report a failed scheduled run through an issue or an uploaded artifact: GitHub already emails scheduled-workflow failures, and the run log keeps the spec output.

@sjdonado sjdonado changed the title WIP: Bump version to 1.7.0 Bump version to 1.7.0 Oct 4, 2026
IpLookup swallows reader errors, so an empty or corrupt mmdb passed every suite.
@sjdonado sjdonado changed the title Bump version to 1.7.0 Bump version to 1.7.0 and test parser updates Oct 4, 2026
@sjdonado
sjdonado merged commit 9e5ec75 into master Oct 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant