Skip to content

Conversation

@hanzei
Copy link
Contributor

@hanzei hanzei commented Jan 20, 2026

Summary

  • Update common build files from mattermost-plugin-starter-template
  • Update golangci-lint to v2.8.0 with new v2 configuration format
  • Update gotestsum to v1.13.0
  • Update Node.js version from 16.13.1 to 20.11
  • Fix all linter issues (37 → 0)

Changes

Build tooling updates

  • Makefile: Added manifest-check target, updated tool versions
  • build/manifest/main.go: Added check command, modernized Go APIs
  • build/setup.mk: Removed redundant GO_BUILD_FLAGS line
  • .golangci.yml: Complete rewrite to v2 format with new linters (bidichk, makezero, modernize, unqueryvet)
  • .nvmrc: Updated Node.js version
  • .editorconfig: Updated glob pattern formatting
  • .github/workflows/ci.yml: Updated golang-version reference

Linter fixes

  • Replace interface{} with any (Go 1.18+)
  • Replace manual loops with slices.Contains
  • Replace string concatenation in loops with strings.Builder
  • Fix gofumpt formatting issues
  • Add nolint directives for intentionally ignored errors
  • Fix directory permissions (0755 → 0750)

Test plan

  • All Go tests pass (439 tests)
  • All webapp tests pass (22 tests)
  • make check-style passes with 0 issues

🤖 Generated with Claude Code

- Update Makefile with manifest-check target and newer tool versions
  (golangci-lint v2.8.0, gotestsum v1.13.0)
- Update build/manifest/main.go with check command and modern Go APIs
- Update .golangci.yml to v2 format with new linters
- Update .nvmrc from 16.13.1 to 20.11
- Update .editorconfig and .github/workflows/ci.yml
- Fix all linter issues:
  - Replace interface{} with any (Go 1.18+)
  - Replace manual loops with slices.Contains
  - Replace string concatenation in loops with strings.Builder
  - Fix gofumpt formatting issues
  - Add nolint directives for intentionally ignored errors
  - Fix directory permissions (0755 -> 0750)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@hanzei hanzei requested a review from a team as a code owner January 20, 2026 11:42
Copy link
Contributor Author

@hanzei hanzei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some changes in the starter template are needed first

Comment on lines -142 to +145
manifest.ReleaseNotesURL, err = url.JoinPath(manifest.HomepageURL, "releases", "tag", BuildTagLatest)
if err != nil {
return nil, errors.Wrap(err, "failed to generate release notes URL")
}
manifest.ReleaseNotesURL = manifest.HomepageURL + "releases/tag/" + BuildTagLatest
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a bug in the starter template. Submitted mattermost/mattermost-plugin-starter-template#236

Comment on lines -14 to +21
[*.{js,jsx,ts,tsx,json,html}]
[*.{js, jsx, ts, tsx, json, html}]
indent_style = space
indent_size = 4

[webapp/package.json]
indent_size = 2

[Makefile,*.mk]
[{Makefile, *.mk}]
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should not be doing these changes. The starter template is wrong. See mattermost/mattermost-plugin-starter-template#236

@hanzei hanzei added the Work In Progress Not yet ready for review label Jan 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Work In Progress Not yet ready for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants