Things would be so much easier if ubuntu just updated their packages
* ci: Attempt to fix Linux workflows
See if Copilot is worth its snuff
* Revert
* Try downgrading vipsgen instead
* Try again
* Try to install vips from source
* Sigh, ok try building from source
* Sigh
* sighhhh
* Sighhhhhhhhhhhhhhhhhhhh
* Try without cache for a moment
* Try caching again
* Try composite action
* Try again?
* Set shell on composite action steps...
* Update a couple other workflows
* Try to fix test job
* Some cleanup
* Add heif
* Oops
* Pointless comment but let's see if the cache worked
* Fix go builds
* Try installing pkg-config I guess?
* Try more pkg config paths?
* Tweak
* Are we there yet
* One more tweak
* Rename some things
* Revise location processing and place entities
- New, more dynamic, recursive clustering algorithm
- Place entities are globally unique by name
- Higher spatial tolerance for coordinate attributes if entity name is the same (i.e. don't insert new attribute row for coordinate if it's sort of close to another row for that attribute -- but if name is different, then points have to be closer to not insert new attribute row)
There is still a bug where clustering is too aggressive on some data. Looking into it...
* Fix overly aggressive clustering
(...lots of commits that fixed the CI environment which changed things without warning...)
* lint: bump golangci-lint version
- Bumps the version of golangci-lint that's used in the Github Action to be the most recent version (as installed with eg. `brew install golangci-lint` — v2.1.6)
- Migrates the `.golangci.toml` file, and manually moves the comments over
- `errchkjson` appears to work now, so added that back into the linter (the `forbidigo` and `goheader` linters I've left commented out)
* lint: remove checkers we don't like
Removes two static checkers that cause code changes we don't like.
* lint: remove old lint declaration
apparently `gosimple` isn't available any more, so I've removed its `nolint` declaration here.
* lint: swap location of `nolint:goconst`
This _seems_ to be an unstable declaration, because of he parallel & undeterministic nature of the linter. If this keeps causing trouble we can either remove the goconst linter, or change _both_ of these lines to hold `//nolint:goconst,nolintlint`.
* See how wrong the AI is
* Man... the AI is just straight-up lying to me now
* Screw it
* grumble
* sadfsfd
* asdfsdf
* See what's actually necessary
* Test test
* Still pruning
* This better not work
* Hopefully final cleanup
The gofakeit upgrade uses the new math/rand/v2 package, which uses uint64 more than int64, so we had to change a bunch of row IDs from int64 to uint64.
* ci: Attempt to fix goreleaser job
* Oh geez, there's a second goreleaser file
* Use just the current OS and arch
* Maybe fix the goos thing
* Try --single-target
* Oops, that's Pro-only
* Hmm let's try this
* Set token
* Wow I am lame
* Try ref_name
* Create or edit, sigh
* Syntax who needs syntax
* Hmm try this
* Another attempt, probably in vain
* Sigh, quotes
* Big changes
* oh Windows
* Starting to get annoyed at Windows
* sldfkj
* Huzzah
* Update name, et voila
* Just do it on push I guess
* ci: Attempt to fix broken CI
It broke out of the blue several months ago. I think ubuntu-latest
updated, but there's no PPA for libheif in that distro I guess
* Try tests next
* More fixing
* Try again
* Yada yada
* Woops
* I don't really know what I'm doing
* chore: add workflow to run go test
* fix a test failure
* Downgrade heif to be able to test
* run all tests by default
* Revert typo fix
* Fix metadata test
* Gorelease: Initial go releaser added.
Download deps
Add change to git.
We need a git account for this.
Force tag replacement.
goreleaser pro required so work around
Use download instead.
* Go version upgrade.
* Unnecessary