chore(deps): bump golangci/golangci-lint-action from 9.2.1 to 9.3.0 - #72
Open
dependabot[bot] wants to merge 131 commits into
Open
chore(deps): bump golangci/golangci-lint-action from 9.2.1 to 9.3.0#72dependabot[bot] wants to merge 131 commits into
dependabot[bot] wants to merge 131 commits into
Conversation
Signed-off-by: drumato <drumato@pepabo.com>
Release for v0.0.1
Signed-off-by: drumato <drumato@pepabo.com>
`cmd/tags.go` was calling `runner.NewTazunaRunner(nil, nil, nil)`, so when `expandIncludes` invoked `t.logger.DebugContext` on a tazuna.yaml that uses `includes`, the binary panicked with a nil pointer dereference. - Pass a discard logger from `cmd/tags.go`, matching `cmd/check.go`. - Defensively fall back to a discard logger inside `NewTazunaRunner` when a nil logger is supplied, so this class of bug cannot recur. - Add unit tests that exercise `ListTags` with a nil logger, both with and without `includes`, to lock in the regression. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Fix nil logger panic in `tazuna tags`
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The -v flag prints every test name and slows test output significantly without adding value when tests pass. Test failures still surface via exit code and stderr. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
kind create cluster pulls the ~700MB node image every run, dominating the E2E setup time. Cache the image as a docker tarball keyed on the image tag, save it on miss, restore via docker load on hit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
kind create cluster waits ~16s for the control plane, and go build . takes ~17s — running them sequentially adds up. Background the build and wait for it after kind comes up so the slower of the two governs the step. Also drops the kind node image cache from the previous commit since docker save/load overhead matched the pull time it was meant to avoid. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
go-build / golangci-lint caches were keyed only on hashFiles('go.sum'),
so after the initial hit the primary key never changed and the cache
stopped accumulating new entries from later commits. When go.sum then
updated (e.g. Go 1.26.2 bump), the entire build cache had to be
rebuilt from scratch.
Add github.sha to the primary key so each commit saves a fresh cache,
and add restore-keys fallback so misses still restore the closest
prior cache (same go.sum first, OS/arch second).
go-mod cache keeps its go.sum-only primary key (modules only change
with go.sum) but gains restore-keys for fallback.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The previous commit unified the go-build primary key across jobs.
That made the lint job restore the test job's heavier build cache via
restore-keys, regressing lint from ~41s to ~75s (+17s in cache
restore).
Add \${{ github.job }} to the cache key so each job (test, lint,
integration, e2e) maintains its own incremental build cache lineage.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Docs-only PRs trigger the full test/lint/integration/e2e pipeline even though no Go code is touched. Use paths-ignore to skip the workflow when only markdown, LICENSE, .gitignore, .tagpr, or CHANGELOG.md changed. Mixed PRs (docs + code) still trigger CI because paths-ignore only skips when every changed path matches the ignore list. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Temporary commit to verify CI skips docs-only changes. Will be reverted in the next commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
paths-ignore on pull_request triggers compares against the entire PR diff (base..head), so a docs-only commit pushed to a PR that also has Go changes still triggers CI. The configuration is correct for fresh docs-only PRs; the probe just isn't observable here. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ci: speed up test and CI workflow
…mpile v0.4.0 introduced WithDesktopAppIntegration that emits a deliberate compile error under !cgo on darwin/linux, breaking goreleaser builds. helmfile/vals only requires v0.3.1, so downgrade. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
fix(deps): pin onepassword-sdk-go to v0.3.1 to unbreak release
Signed-off-by: drumato <drumato@pepabo.com>
improve management quality
The --kustomize/-k flag was defined on rootCmd but never read via
GetString("kustomize") anywhere in the codebase. Removing it avoids
confusing help output and frees up the -k shorthand for future use.
Closes #28
These methods masqueraded as runtime.Object accessors but the type does not implement that interface, and GetName always returned "". Readers could be misled into thinking GenesisSecret carried an identity; the empty-string GetName would silently break any caller that trusted it. No production code referenced either method. Closes #33
check uniquely piped the runner logger to io.Discard, so --log-level silently had no effect and any validation diagnostics from the runner were swallowed. Match the apply/build/destroy pattern: parse --log-level and write structured logs to stderr. Closes #31
Tazuna lacked TypeMeta fields, so 'apiVersion: totally.wrong/v999' and 'kind: NotTazuna' parsed cleanly and 'tazuna check' returned ok. Add APIVersion/Kind to the schema with omitempty, define the expected values as constants, and have the validator reject mismatches when they are set. Empty values stay accepted for backward compatibility with tazuna.yaml files written before this field existed. Closes #25
Every subcommand opened tazuna.yaml with the same defer pattern, but the close branch overwrote any error already accumulated by Decode or later steps. A spurious 'file already closed' on shutdown would silently mask the real YAML parse or runtime failure, making bugs much harder to diagnose. Wrap with errors.Join so both errors survive. Closes #26
…anifests Apply and friends receive Tazuna by value, but the slice header still shares its backing array with the caller. ConvertManifestPathFromCwd indexed into that shared array, so feeding the same Tazuna into a runner twice prefixed baseDir twice and produced baseDir/baseDir/<path>. Allocate a fresh slice and mutate the copy, leaving the caller's input untouched. Add tests that pin both invariants. Closes #30
CommandClient's three op invocations accepted ctx but called exec.Command, and getGitCommitHash had no ctx at all. Both would ignore tazuna's cancellation: Ctrl-C left op processes orphaned and the git rev-parse could not be timed out. Switch to exec.CommandContext and thread ctx through getGitCommitHash and its StateSync caller. Closes #27
Identifiers passed to the 1Password CLI now pass through ValidateIdentifier, which restricts them to `[A-Za-z0-9_.\- ]+`. This turns unusual inputs (control characters, shell metacharacters, etc.) into an early, recognisable error instead of an opaque failure from op. Closes #36
Each subcommand was re-parsing --log-level, building a slog logger, opening tazuna.yaml with a defer-close dance, and standing up a controller-runtime client by hand. The duplication made adding a subcommand noisy and meant cross-cutting changes (e.g. how Close errors join the return value) had to be repeated everywhere. Introduce cmd/internal/cliutil with ParseLogLevel, NewLogger, LoadTazunaYAML, and NewK8sClient, and route every subcommand's RunE through them so each body focuses on its own orchestration. Closes #29
build はクラスタを変更しないのに NewK8sClient() が先に走るため、 kubeconfig のない CI 環境で失敗していた。client の構築失敗は警告に 留めて続行する (Build 経路は cluster client を使わない)。 REVIEW.md L-7 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- apply / build / destroy に3重複していた同一のタグフィルタを matchesTags(m, filter) に集約し、マッチ後も全走査していた `found = found || slices.Contains(...)` を early return にした - kustomize manager の Apply / Destroy / Build でほぼ三重複していた レンダリング部分を renderKustomizeYAML / renderObjects に集約した (helmfile 側は集約済み) REVIEW.md L-8 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
pkg/context は標準ライブラリと衝突するパッケージ名で、利用側が tazunacontext と alias せざるを得なかった。中身は kubeconfig context の 検証なので pkg/kubecontext に改名する。あわせて pkg/manifest / pkg/manager をループ変数 manifest / manager で shadow していた箇所を m / mgr に揃えた。 REVIEW.md L-9 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- envfile provider: strings.NewReader(string(data)) の全バイト複製を bytes.NewReader(data) に変更 - GenesisSecret.Destroy: Secret 削除に不要な provider Fetch を除去 (1Password 不達時でも destroy が失敗しなくなる) - getGitCommitHash: cwd ではなく tazuna.yaml のディレクトリ基準で commit hash を取得 (別リポジトリの無関係なハッシュが state に 記録される問題の修正) - tags: 名前未設定の manifest が "" として出力に混ざらないようにする - root: エラー出力を通常は %v、--log-level debug のときのみ %+v (フルスタックトレース) に変更 - helmfile: release render を errgroup で並列化し、OCI registry client を release 間で共有、ExtraValueFiles の読み込みを 1 回に集約 - validator: 何もしていなかった CollectAllManifests を削除 - docs: include 先ファイル内 manifest の path がルート tazuna.yaml 基準で 解決される仕様を明記 - .golangci.yml: errorlint / noctx を追加し、検出された既存違反を修正 REVIEW.md L-10 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
小規模タスクの一括改善
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.54.0 to 0.55.0. - [Commits](golang/net@v0.54.0...v0.55.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-version: 0.55.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
- stateCmd.Commands() を複数の並行テストから呼ぶと cobra 内部の 遅延ソートで data race になるため、検証を1テストに統合 - runInit のクリーンアップで initCmd のフラグをデフォルトに戻し、 -count>1 実行時に --force が後続実行へ漏れる問題を修正 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
cmd パッケージのテストの data race とフラグ汚染を修正
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.51.0 to 0.52.0. - [Commits](golang/crypto@v0.51.0...v0.52.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-version: 0.52.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
helmfile レンダラが repositories: をパースせず、chart 参照を OCI か ローカルパスの2択でしか解決していなかったため、`chart: argo-cd/argo-cd` のようなリポジトリ alias 形式がローカル相対パスと誤認され `baseDir/argo-cd/argo-cd` を stat して no such file or directory で失敗していた。 repositories[] (name/url/username/password/oci) をパースし、chart が <alias>/<chart> 形式で alias が宣言済みリポジトリに一致する場合は helm の LocateChart 経由で HTTP(S) / OCI いずれの url からも pull する (helm repo add 不要)。alias が未宣言なら従来どおりローカルパスとして 解決するため後方互換は維持される。 テスト: - helmfile_internal_test.go: splitRepoAlias/repositoryIsOCI/ociChartRef/ releaseNeedsOCI のユニットテスト - TestHelmfile_Build_LocalSubchartPath: 未宣言 alias のローカル解決 (デグレ防止) - TestHelmfile_Build_HTTPRepoChart / OCIRepoChart: integration での実 pull 検証 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
helmfile.go の docstring の箇条書きインデントが gofmt に準拠しておらず lint (gofmt) が落ちていたため整形する。挙動の変更はない。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ries helmfile で repositories[] の <alias>/<chart> 参照をサポート
…/crypto-0.52.0 chore(deps): bump golang.org/x/crypto from 0.51.0 to 0.52.0
…er/goreleaser-action-7.2.2 chore(deps): bump goreleaser/goreleaser-action from 7.2.1 to 7.2.2
…/golangci-lint-action-9.2.1 chore(deps): bump golangci/golangci-lint-action from 9.2.0 to 9.2.1
…/net-0.55.0 chore(deps): bump golang.org/x/net from 0.54.0 to 0.55.0
…attest-build-provenance-4.1.1 chore(deps): bump actions/attest-build-provenance from 4.1.0 to 4.1.1
…ontainerd/containerd-1.7.33 chore(deps): bump github.com/containerd/containerd from 1.7.32 to 1.7.33
…checkout-7.0.0 chore(deps): bump actions/checkout from 6.0.2 to 7.0.0
…rust-toolchain-67ef31d5b988238dd797d409d6f9574278e20537 chore(deps): bump dtolnay/rust-toolchain from b3b07ba8b418998c39fb20f53e8b695cdcc8de1b to 67ef31d5b988238dd797d409d6f9574278e20537
Signed-off-by: drumato <drumato@pepabo.com>
oras managerのpath validationはoptionalにする
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 9.2.1 to 9.3.0. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](golangci/golangci-lint-action@82606bf...ba0d7d2) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-version: 9.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps golangci/golangci-lint-action from 9.2.1 to 9.3.0.
Release notes
Sourced from golangci/golangci-lint-action's releases.
Commits
ba0d7d2chore: prepare release v9.3.0efd0857feat: add no-run-logs-group as experimental option (#1403)ed485debuild(deps): bump undici from 6.24.0 to 6.27.08872e8dbuild(deps-dev): bump js-yaml from 4.1.1 to 4.2.0 (#1400)b163415build(deps): bump tmp from 0.2.6 to 0.2.7 (#1399)e52a9f8build(deps): bump github/codeql-action from 4.35.5 to 4.36.0 in the github-ac...8182aa3build(deps): bump tmp from 0.2.5 to 0.2.6 (#1397)5403a41build(deps): bump github/codeql-action from 4.35.4 to 4.35.5 in the github-ac...You can trigger a rebase of this PR by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)