Skip to content

Upgrade to Go 1.25, add --dir flag and Homebrew publishing#6

Merged
sas1024 merged 4 commits intomasterfrom
upgrade-to-go-1-25
Mar 28, 2026
Merged

Upgrade to Go 1.25, add --dir flag and Homebrew publishing#6
sas1024 merged 4 commits intomasterfrom
upgrade-to-go-1-25

Conversation

@sergeyfast
Copy link
Copy Markdown
Contributor

Summary

  • Add --dir / -d flag to specify migrations directory independently from config file location
  • Add Homebrew cask publishing via goreleaser to vmkteam/homebrew-tap
  • Upgrade Go from 1.20 to 1.25 across go.mod and all CI workflows
  • Upgrade golangci-lint to v2 config format with extended linter set
  • Replace goconvey with testify (assert/require + t.Run)
  • Upgrade GitHub Actions to v6 (checkout, setup-go, goreleaser, golangci-lint)
  • Fix log.Fatalreturn error in run/dryrun/skip commands
  • Fix typo "transation" → "transaction"
  • Compile FileMask regex once in NewMigrator
  • Use os.Stat instead of full file read for existence check in Redo
  • Update README.md and README.ru.md with --dir flag docs and Homebrew install instructions

Test plan

  • Verify pgmigrator --dir <path> plan uses the specified directory
  • Verify pgmigrator plan without --dir uses config file directory (backwards compatible)
  • Run make fmt lint — passes with 0 issues
  • Run make test with database
  • Verify goreleaser config with goreleaser check

- Add --dir/-d flag to specify migrations directory independently from config file location
- Add homebrew_casks config to .goreleaser.yaml for vmkteam/homebrew-tap
- Pass HOMEBREW_TAP_TOKEN to goreleaser workflow
- Upgrade golangci-lint to v2 config format with extended linter set
- Replace goimports with golangci-lint fmt in Makefile
- Bump Go version from 1.20 to 1.25 in go.mod and all CI workflows
- Upgrade GitHub Actions to v6 (checkout, setup-go, goreleaser)
- Fix linter issues: errorlint, perfsprint, funcorder, staticcheck, whitespace
- Add Homebrew install instructions to README.md and README.ru.md
- Remove outdated limitation about config file location from docs
- Replace goconvey with testify assert/require using t.Run for BDD style
- Remove goconvey, gopherjs, jtolds/gls, smarty/assertions dependencies
- Fix log.Fatal in runCmd/dryRunCmd/skipCmd to return error consistently
- Fix typo "transation" → "transaction" in alwaysRollbackTx
- Compile FileMask regex once in NewMigrator instead of per readAllFiles call
- Use os.Stat instead of full file read for existence check in Redo
- Remove dead "main" branch trigger from go.yml workflow
- Use homebrew_casks with correct token env mapping (HOMEBREW_TAP_GITHUB_TOKEN)
- Add goarch amd64/arm64 for multi-architecture builds
@sas1024 sas1024 merged commit 54b6402 into master Mar 28, 2026
2 checks 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.

2 participants