fix(ci): pin workflow go toolchain
- commit
- a7abb1814436985ce17593c018d236b54674b96d
- author
- brice · · 2026-06-11 04:24 UTC
- parent
- 0f5f939
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
2 files · +13 -2
M .github/workflows/ci.yml +10 -0
| @@ -49,6 +49,11 @@ jobs: | |||
| 49 | 49 | pacman -Syu --noconfirm | |
| 50 | 50 | pacman -S --noconfirm git go webkitgtk-6.0 gtk4 gobject-introspection base-devel brotli | |
| 51 | 51 | - uses: actions/checkout@v6 | |
| 52 | + | - name: Set up pinned Go toolchain | |
| 53 | + | uses: actions/setup-go@v6 | |
| 54 | + | with: | |
| 55 | + | go-version-file: go.mod | |
| 56 | + | cache: false | |
| 52 | 57 | - name: Cache Go modules | |
| 53 | 58 | uses: actions/cache@v5 | |
| 54 | 59 | with: | |
| @@ -88,6 +93,11 @@ jobs: | |||
| 88 | 93 | pacman -Syu --noconfirm | |
| 89 | 94 | pacman -S --noconfirm git go webkitgtk-6.0 gtk4 libadwaita gobject-introspection base-devel brotli dbus | |
| 90 | 95 | - uses: actions/checkout@v6 | |
| 96 | + | - name: Set up pinned Go toolchain | |
| 97 | + | uses: actions/setup-go@v6 | |
| 98 | + | with: | |
| 99 | + | go-version-file: go.mod | |
| 100 | + | cache: false | |
| 91 | 101 | - name: Cache Go modules | |
| 92 | 102 | uses: actions/cache@v5 | |
| 93 | 103 | with: | |
| @@ -49,6 +49,11 @@ jobs: | |||||
| 49 | pacman -Syu --noconfirm | 49 | pacman -Syu --noconfirm | ||
| 50 | pacman -S --noconfirm git go webkitgtk-6.0 gtk4 gobject-introspection base-devel brotli | 50 | pacman -S --noconfirm git go webkitgtk-6.0 gtk4 gobject-introspection base-devel brotli | ||
| 51 | - uses: actions/checkout@v6 | 51 | - uses: actions/checkout@v6 | ||
| 52 | + | - name: Set up pinned Go toolchain | |||
| 53 | + | uses: actions/setup-go@v6 | |||
| 54 | + | with: | |||
| 55 | + | go-version-file: go.mod | |||
| 56 | + | cache: false | |||
| 52 | - name: Cache Go modules | 57 | - name: Cache Go modules | ||
| 53 | uses: actions/cache@v5 | 58 | uses: actions/cache@v5 | ||
| 54 | with: | 59 | with: | ||
| @@ -88,6 +93,11 @@ jobs: | |||||
| 88 | pacman -Syu --noconfirm | 93 | pacman -Syu --noconfirm | ||
| 89 | pacman -S --noconfirm git go webkitgtk-6.0 gtk4 libadwaita gobject-introspection base-devel brotli dbus | 94 | pacman -S --noconfirm git go webkitgtk-6.0 gtk4 libadwaita gobject-introspection base-devel brotli dbus | ||
| 90 | - uses: actions/checkout@v6 | 95 | - uses: actions/checkout@v6 | ||
| 96 | + | - name: Set up pinned Go toolchain | |||
| 97 | + | uses: actions/setup-go@v6 | |||
| 98 | + | with: | |||
| 99 | + | go-version-file: go.mod | |||
| 100 | + | cache: false | |||
| 91 | - name: Cache Go modules | 101 | - name: Cache Go modules | ||
| 92 | uses: actions/cache@v5 | 102 | uses: actions/cache@v5 | ||
| 93 | with: | 103 | with: | ||
M internal/infrastructure/externaltheme/noctalia/watcher_test.go +3 -2
| @@ -89,7 +89,8 @@ func TestFileWatcherPathChangeRestartsAndDisabledStops(t *testing.T) { | |||
| 89 | 89 | func TestFileWatcherDebouncesBurstToOneCallback(t *testing.T) { | |
| 90 | 90 | dir := t.TempDir() | |
| 91 | 91 | path := writeThemeFile(t, dir, "theme.json") | |
| 92 | - | watcher := newFastWatcher() | |
| 92 | + | watcher := NewFileWatcher() | |
| 93 | + | watcher.delay = 100 * time.Millisecond | |
| 93 | 94 | changes := make(chan struct{}, 8) | |
| 94 | 95 | ||
| 95 | 96 | if err := watcher.Start(context.Background(), watcherConfig(path), func() { changes <- struct{}{} }); err != nil { | |
| @@ -100,7 +101,7 @@ func TestFileWatcherDebouncesBurstToOneCallback(t *testing.T) { | |||
| 100 | 101 | } | |
| 101 | 102 | ||
| 102 | 103 | waitForChange(t, changes) | |
| 103 | - | assertNoChange(t, changes, 80*time.Millisecond) | |
| 104 | + | assertNoChange(t, changes, 150*time.Millisecond) | |
| 104 | 105 | } | |
| 105 | 106 | ||
| 106 | 107 | func TestFileWatcherAtomicRenameWriteEmitsCallback(t *testing.T) { | |
| @@ -89,7 +89,8 @@ func TestFileWatcherPathChangeRestartsAndDisabledStops(t *testing.T) { | |||||
| 89 | func TestFileWatcherDebouncesBurstToOneCallback(t *testing.T) { | 89 | func TestFileWatcherDebouncesBurstToOneCallback(t *testing.T) { | ||
| 90 | dir := t.TempDir() | 90 | dir := t.TempDir() | ||
| 91 | path := writeThemeFile(t, dir, "theme.json") | 91 | path := writeThemeFile(t, dir, "theme.json") | ||
| 92 | - | watcher := newFastWatcher() | 92 | + | watcher := NewFileWatcher() |
| 93 | + | watcher.delay = 100 * time.Millisecond | |||
| 93 | changes := make(chan struct{}, 8) | 94 | changes := make(chan struct{}, 8) | ||
| 94 | 95 | ||||
| 95 | if err := watcher.Start(context.Background(), watcherConfig(path), func() { changes <- struct{}{} }); err != nil { | 96 | if err := watcher.Start(context.Background(), watcherConfig(path), func() { changes <- struct{}{} }); err != nil { | ||
| @@ -100,7 +101,7 @@ func TestFileWatcherDebouncesBurstToOneCallback(t *testing.T) { | |||||
| 100 | } | 101 | } | ||
| 101 | 102 | ||||
| 102 | waitForChange(t, changes) | 103 | waitForChange(t, changes) | ||
| 103 | - | assertNoChange(t, changes, 80*time.Millisecond) | 104 | + | assertNoChange(t, changes, 150*time.Millisecond) |
| 104 | } | 105 | } | ||
| 105 | 106 | ||||
| 106 | func TestFileWatcherAtomicRenameWriteEmitsCallback(t *testing.T) { | 107 | func TestFileWatcherAtomicRenameWriteEmitsCallback(t *testing.T) { | ||