Skip to content

Commit 2f11ae4

Browse files
release: bump version to v0.3.2 (#767)
- Bump ProgramVersion to 0.3.2 - Extract NewApp() for testability - Update periodic cleanup workflow to v0.3.2 - Add CHANGELOG entry for v0.3.2 (SG cross-reference fix) Signed-off-by: Carlos Eduardo Arango Gutierrez <eduardoa@nvidia.com>
1 parent c62e351 commit 2f11ae4

File tree

4 files changed

+39
-13
lines changed

4 files changed

+39
-13
lines changed

.github/workflows/periodic.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
4040
- name: Clean up VPCs
4141
if: steps.identify-resources.outputs.AWS_VPC_IDS != ''
42-
uses: NVIDIA/holodeck@v0.3.1
42+
uses: NVIDIA/holodeck@v0.3.2
4343
with:
4444
action: cleanup
4545
vpc_ids: ${{ steps.identify-resources.outputs.AWS_VPC_IDS }}

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [v0.3.2] - 2026-03-31
6+
7+
### Bug Fixes
8+
9+
- **fix: revoke cross-referencing SG rules before deletion in cleanup (#766)** — Security groups that reference each other (e.g., CP SG allows traffic from Worker SG and vice versa) are now cleaned up by revoking all ingress/egress rules before attempting deletion, fixing `DependencyViolation` errors in periodic VPC cleanup.
10+
11+
### CI
12+
13+
- **ci: update periodic cleanup to v0.3.1 (#765)** — Periodic cleanup workflow updated to use v0.3.1 with NLB cleanup support.
14+
515
## [v0.3.1] - 2026-03-31
616

717
### Bug Fixes

cmd/cli/main.go

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ const (
4040
// ProgramName is the canonical name of this program
4141
ProgramName = "holodeck"
4242
// ProgramVersion is the current version of the program
43-
ProgramVersion = "0.3.1"
43+
ProgramVersion = "0.3.2"
4444
)
4545

4646
type config struct {
@@ -49,11 +49,10 @@ type config struct {
4949
Quiet bool
5050
}
5151

52-
func main() {
53-
config := config{}
54-
log := logger.NewLogger()
52+
// NewApp creates and configures the CLI application.
53+
func NewApp(log *logger.FunLogger) *cli.App {
54+
cfg := config{}
5555

56-
// Create the top-level CLI
5756
c := cli.NewApp()
5857
c.Name = ProgramName
5958
c.Usage = "Create and manage test environments"
@@ -105,18 +104,18 @@ Examples:
105104
Name: "quiet",
106105
Aliases: []string{"q"},
107106
Usage: "Suppress non-error output",
108-
Destination: &config.Quiet,
107+
Destination: &cfg.Quiet,
109108
},
110109
&cli.BoolFlag{
111110
Name: "verbose",
112111
Usage: "Enable verbose output",
113-
Destination: &config.Verbose,
112+
Destination: &cfg.Verbose,
114113
},
115114
&cli.BoolFlag{
116115
Name: "debug",
117116
Aliases: []string{"d"},
118117
Usage: "Enable debug-level logging",
119-
Destination: &config.Debug,
118+
Destination: &cfg.Debug,
120119
EnvVars: []string{"DEBUG"},
121120
},
122121
}
@@ -152,6 +151,13 @@ Examples:
152151
update.NewCommand(log),
153152
}
154153

154+
return c
155+
}
156+
157+
func main() {
158+
log := logger.NewLogger()
159+
c := NewApp(log)
160+
155161
// Custom help template
156162
c.CustomAppHelpTemplate = `NAME:
157163
{{.Name}} - {{.Usage}}

cmd/cli/main_test.go

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,21 @@ package main
1818

1919
import (
2020
"testing"
21+
22+
"github.com/NVIDIA/holodeck/internal/logger"
2123
)
2224

23-
func TestVersion(t *testing.T) {
24-
expected := "0.3.1"
25-
if ProgramVersion != expected {
26-
t.Errorf("expected version %q, got %q", expected, ProgramVersion)
25+
func TestNewApp(t *testing.T) {
26+
log := logger.NewLogger()
27+
app := NewApp(log)
28+
29+
if app.Version != "0.3.2" {
30+
t.Errorf("expected app version %q, got %q", "0.3.2", app.Version)
31+
}
32+
if app.Name != "holodeck" {
33+
t.Errorf("expected app name %q, got %q", "holodeck", app.Name)
34+
}
35+
if len(app.Commands) == 0 {
36+
t.Error("expected app to have subcommands")
2737
}
2838
}

0 commit comments

Comments
 (0)