Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
db82e45
deps(build): upgrade Go to 1.25.5 (#5059)
julio-lopez Dec 3, 2025
f36079b
build(deps): bump the common-golang-dependencies group with 10 update…
dependabot[bot] Dec 9, 2025
e25a7ae
build(deps): bump the telemetry-dependencies group with 4 updates (#5…
dependabot[bot] Dec 9, 2025
3a86da4
build(deps): bump google.golang.org/protobuf (#5073)
dependabot[bot] Dec 15, 2025
faf97c3
build(deps): bump the github-actions group with 5 updates (#5087)
dependabot[bot] Jan 5, 2026
84df2a7
build(deps): bump github.com/prometheus/common (#5093)
dependabot[bot] Jan 5, 2026
12e59e3
build(deps): bump docker/setup-buildx-action in the docker group (#5088)
dependabot[bot] Jan 6, 2026
883cac3
Upgrade Go to 1.25.6 (#5127)
Rohit-BM18 Feb 3, 2026
0cd4c96
build(deps): bump tar and electron-builder in /app (#5121)
dependabot[bot] Feb 3, 2026
02a6838
build(deps): bump codecov/codecov-action from 5.5.1 to 5.5.2 (#5090)
dependabot[bot] Feb 3, 2026
2800046
build(deps-dev): bump lodash from 4.17.21 to 4.17.23 in /app (#5114)
dependabot[bot] Feb 3, 2026
2e34b51
build(deps): bump github.com/klauspost/compress from 1.18.2 to 1.18.3…
dependabot[bot] Feb 3, 2026
db17716
build(deps): bump github.com/studio-b12/gowebdav from 0.11.0 to 0.12.…
dependabot[bot] Feb 3, 2026
a4d6f00
build(deps): bump the telemetry-dependencies group with 4 updates (#5…
dependabot[bot] Feb 3, 2026
adf8938
build(deps): bump the github-actions group with 3 updates (#5125)
dependabot[bot] Feb 3, 2026
455ae57
build(deps): bump github.com/klauspost/reedsolomon from 1.12.6 to 1.1…
dependabot[bot] Feb 3, 2026
243c21a
build(deps): bump dawidd6/action-homebrew-bump-formula from 5 to 7 (#…
dependabot[bot] Feb 3, 2026
88c3cb5
docs: Fix typos in Architecture documentation (#5120)
kblissett Feb 3, 2026
ddac7c3
build(deps): bump the common-golang-dependencies group across 1 direc…
dependabot[bot] Feb 3, 2026
c883d86
build(deps-dev): bump @isaacs/brace-expansion in /app (#5133)
dependabot[bot] Feb 3, 2026
77ccabb
build(deps): bump github.com/coreos/go-systemd/v22 from 22.6.0 to 22.…
dependabot[bot] Feb 3, 2026
8045555
build(deps): bump the common-golang-dependencies group across 1 direc…
dependabot[bot] Feb 4, 2026
313877c
feat(ui): upgraded htmlui to the latest version (#5137)
kopia-builder Feb 4, 2026
5cf7f8f
build(deps): upgrade Go to 1.25.7 (#5143)
julio-lopez Feb 6, 2026
05ca6b3
build(deps): bump google.golang.org/api (#5140)
dependabot[bot] Feb 6, 2026
6399642
build(deps): bump github.com/klauspost/reedsolomon from 1.13.1 to 1.1…
dependabot[bot] Feb 7, 2026
71e35d7
feat(snapshot): disable progress by default if no tty (#5066)
presto8 Feb 7, 2026
f9fdc89
build(deps): bump the common-golang-dependencies group with 7 updates…
dependabot[bot] Feb 10, 2026
6b214b6
build(deps): bump github.com/klauspost/compress from 1.18.3 to 1.18.4…
dependabot[bot] Feb 10, 2026
f6e3c40
chore(infra): update agent instructions (#5153)
julio-lopez Feb 11, 2026
33d2bb3
chore(ci): add install-checklocks convenience target (#5152)
julio-lopez Feb 11, 2026
8ec295e
fix(providers): sync file in FS provider to ensure data is persisted …
julio-lopez Feb 11, 2026
a9ad321
test(providers): notify after releasing the lock (#5154)
julio-lopez Feb 11, 2026
90311bb
build(deps): bump the common-golang-dependencies group with 3 updates…
dependabot[bot] Feb 18, 2026
a2d62c8
build(deps-dev): bump tar from 7.5.7 to 7.5.9 in /app (#5159)
dependabot[bot] Feb 19, 2026
d2a60d2
fix(providers): cleanup temporary file on put blob failure (#5157)
julio-lopez Feb 19, 2026
77dd1b8
test(providers): make tests with injected errors more robust (#5164)
julio-lopez Feb 19, 2026
59325e3
test(providers): update injected error message (#5165)
julio-lopez Feb 19, 2026
7353934
test(providers): require.NoError (#5166)
julio-lopez Feb 19, 2026
7598f74
build(deps): bump the kopia-ui-npm-dependencies group across 1 direct…
dependabot[bot] Feb 19, 2026
418b484
fix(providers): perform maximum of 2 attempt in `PutBlobInPath` (#5168)
julio-lopez Feb 20, 2026
a5086ac
feat(ui): upgraded htmlui to the latest version (#5172)
kopia-builder Feb 20, 2026
a49a34b
build(deps): bump google.golang.org/api (#5170)
dependabot[bot] Feb 20, 2026
48ed612
build(deps-dev): bump electron (#5171)
dependabot[bot] Feb 20, 2026
888f049
build(deps): bump ajv from 6.12.6 to 6.14.0 in /app (#5175)
dependabot[bot] Feb 23, 2026
3a3ae93
feat(ui): upgraded htmlui to the latest version (#5177)
kopia-builder Feb 23, 2026
5adebb8
refactor(general): add byte units to maintenance stat summaries (#5178)
julio-lopez Feb 24, 2026
359854f
build(deps): bump google.golang.org/api (#5179)
dependabot[bot] Feb 24, 2026
f3f8c3c
build(deps): bump the common-golang-dependencies group with 2 updates…
dependabot[bot] Mar 2, 2026
266021c
feat(ui): upgraded htmlui to the latest version (#5190)
kopia-builder Mar 2, 2026
9cc4af9
build(deps-dev): bump minimatch from 3.1.2 to 3.1.5 in /app (#5193)
dependabot[bot] Mar 2, 2026
754c777
build(deps): bump the github-actions group with 6 updates (#5192)
dependabot[bot] Mar 2, 2026
914d57c
build(deps-dev): bump electron (#5189)
dependabot[bot] Mar 2, 2026
665c463
build(deps): bump the telemetry-dependencies group with 4 updates (#5…
dependabot[bot] Mar 3, 2026
af17b29
chore(docs): generate lock file for netlify build (#5195)
jkowalski Mar 3, 2026
49e0071
build(deps-dev): bump tar from 7.5.9 to 7.5.10 in /app (#5204)
dependabot[bot] Mar 6, 2026
24b93de
build(deps): upgrade Go to 1.25.8 (#5212)
julio-lopez Mar 11, 2026
00f9edd
build(deps): bump the common-golang-dependencies group across 1 direc…
dependabot[bot] Mar 11, 2026
f4a4c4e
build(deps): bump the telemetry-dependencies group with 4 updates (#5…
dependabot[bot] Mar 11, 2026
e7075a8
build(deps): bump github.com/klauspost/reedsolomon from 1.13.2 to 1.1…
dependabot[bot] Mar 11, 2026
d698345
build(deps): bump github.com/mxk/go-vss from 1.2.0 to 1.2.1 (#5210)
dependabot[bot] Mar 11, 2026
62106db
build(deps-dev): bump tar from 7.5.10 to 7.5.11 in /app (#5213)
dependabot[bot] Mar 11, 2026
ce6b450
build(deps): bump the common-golang-dependencies group with 7 updates…
dependabot[bot] Mar 17, 2026
7723aa0
chore(ci): avoid duplicate test failure output (#5222)
julio-lopez Mar 17, 2026
9039fff
feat(ui): upgraded htmlui to the latest version (#5223)
kopia-builder Mar 17, 2026
ed40a2f
fix(repository): failures when exceeding Windows `MAX_PATH` (#5226)
julio-lopez Mar 17, 2026
873a89a
refactor(general): move `SafeLongFilename` to `ospath` (#5227)
julio-lopez Mar 18, 2026
38fb7ef
refactor(testing): `TestSnapshotFail`* (#5225)
julio-lopez Mar 18, 2026
3ea28b4
refactor(testing): nits in TestSnapFail tests (#5228)
julio-lopez Mar 19, 2026
e373824
build(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 (#5229)
dependabot[bot] Mar 19, 2026
4fe6081
fix(snapshots): inaccessible entry causes parent directory to be skip…
julio-lopez Mar 19, 2026
66aa378
Fix typo in backup validity and consistency section (#5215)
aujkb Mar 20, 2026
df247ec
fix(snapshots): ErrorEntry policy resolution to use child policy (#5234)
Bingtagui404 Mar 21, 2026
ad69cd2
fix(general): do not included concatenated entries in log (#5231)
majiayu000 Mar 21, 2026
d1bc68e
refactor(general): cleanup nits (#5236)
julio-lopez Mar 23, 2026
568f9a8
feat(ui): upgraded htmlui to the latest version (#5239)
kopia-builder Mar 23, 2026
39fcd33
build(deps): bump github.com/klauspost/compress from 1.18.4 to 1.18.5…
dependabot[bot] Mar 24, 2026
e743e84
build(deps): bump github.com/zalando/go-keyring from 0.2.6 to 0.2.8 (…
dependabot[bot] Mar 24, 2026
6ac516b
build(deps): bump github.com/fatih/color from 1.18.0 to 1.19.0 (#5242)
dependabot[bot] Mar 24, 2026
ee9ad38
build(deps-dev): gotestsum to v1.13.0 (#5246)
julio-lopez Mar 25, 2026
14aa20e
build(deps-dev): bump picomatch from 4.0.3 to 4.0.4 in /app (#5249)
dependabot[bot] Mar 26, 2026
61328d5
build(deps-dev): bump picomatch from 2.3.1 to 2.3.2 in /site (#5248)
dependabot[bot] Mar 26, 2026
2c6b9b2
build(deps-dev): bump yaml from 2.8.2 to 2.8.3 in /site (#5250)
dependabot[bot] Mar 26, 2026
1d7539e
feat(ui): upgraded htmlui to the latest version (#5251)
kopia-builder Mar 26, 2026
67f26fe
test(kopiaui): skip htmlui tests that are timing out (#5257)
julio-lopez Mar 31, 2026
5a9bf68
use gotestsum for htmlui-e2e tests (#5258)
julio-lopez Mar 31, 2026
4272944
build(deps): bump google.golang.org/api (#5254)
dependabot[bot] Apr 1, 2026
9360017
build(deps-dev): bump brace-expansion from 1.1.12 to 1.1.13 in /app (…
dependabot[bot] Apr 1, 2026
0f6e60b
build(deps-dev): bump @xmldom/xmldom from 0.8.11 to 0.8.12 in /app (#…
dependabot[bot] Apr 1, 2026
78407b1
refactor(general): string nits (#5265)
julio-lopez Apr 2, 2026
29d4118
refactor(general): address potential conversion overflows (#5266)
julio-lopez Apr 2, 2026
b984c25
build(deps): bump codecov/codecov-action from 5.5.2 to 6.0.0 (#5269)
dependabot[bot] Apr 2, 2026
af97e61
build(deps): bump the docker group with 2 updates (#5268)
dependabot[bot] Apr 2, 2026
065eea7
build(deps-dev): bump the kopia-ui-npm-dependencies group (#5270)
dependabot[bot] Apr 2, 2026
11edc72
build(deps): bump the github-actions group with 4 updates (#5267)
dependabot[bot] Apr 2, 2026
c7f3f5e
build(deps-dev): bump lodash from 4.17.23 to 4.18.1 in /app (#5272)
dependabot[bot] Apr 2, 2026
a2241dc
feat(ui): upgraded htmlui to the latest version (#5274)
kopia-builder Apr 2, 2026
079585c
build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 (…
dependabot[bot] Apr 3, 2026
c7c0c16
feat(ui): upgraded htmlui to the latest version (#5275)
kopia-builder Apr 3, 2026
a835986
chore(infra): tweak copilot instructions (#5278)
julio-lopez Apr 3, 2026
179a252
build(deps): bump the common-golang-dependencies group with 3 updates…
dependabot[bot] Apr 4, 2026
3134ebd
build(deps): bump the telemetry-dependencies group with 4 updates (#5…
dependabot[bot] Apr 4, 2026
f868e2c
docs(site): document macOS mounting requirements (#5263)
aaccioly Apr 4, 2026
6784d0b
build(deps): bump github.com/mocktools/go-smtp-mock/v2 (#5281)
dependabot[bot] Apr 4, 2026
6e9b4ab
docs(site): Improve grammar and clarity in maintenance documentation …
thecosmicfrog Apr 7, 2026
632fb9b
build(deps): bump cloud.google.com/go/storage (#5290)
dependabot[bot] Apr 7, 2026
0661f65
chore(cli): handle potential conversion overflow when setting progres…
julio-lopez Apr 7, 2026
0e8cded
feat(ui): upgraded htmlui to the latest version (#5291)
kopia-builder Apr 7, 2026
9833e92
build(deps): Go 1.25.9 (#5297)
julio-lopez Apr 8, 2026
66b320a
refactor(testing): prefer assert.NoError (#5299)
julio-lopez Apr 9, 2026
956bc49
chore(ci): generate govulncheck SARIF report (#5300)
julio-lopez Apr 9, 2026
e1dce8a
fix(repository): sync index blob file before closing (#5292)
julio-lopez Apr 9, 2026
2a8ac65
refactor(general): make counters and size stats uint64 for consistenc…
julio-lopez Apr 11, 2026
775fadc
fix(general): retained log size double counting (#5302)
julio-lopez Apr 11, 2026
55629c6
build(deps): bump the common-golang-dependencies group with 8 updates…
dependabot[bot] Apr 14, 2026
40e645e
refactor(cli): leverage x/term.IsTerminal (#5308)
julio-lopez Apr 14, 2026
e6b1d56
build(deps): bump github.com/mocktools/go-smtp-mock/v2 (#5306)
dependabot[bot] Apr 14, 2026
5fdfb19
build(deps): bump github.com/mattn/go-isatty from 0.0.20 to 0.0.21 (#…
dependabot[bot] Apr 14, 2026
c9334c9
feat(ui): upgraded htmlui to the latest version (#5307)
kopia-builder Apr 14, 2026
be2ce68
breaking(general): remove support for LZ4 (#5296)
julio-lopez Apr 16, 2026
0954263
fix(cli): hash benchmarking count (#5312)
julio-lopez Apr 16, 2026
051312b
feat(ui): upgraded htmlui to the latest version (#5311)
kopia-builder Apr 17, 2026
5bedcd5
build(deps): upgrade to github.com/golang-jwt/jwt v5.3.1 (#5314)
julio-lopez Apr 17, 2026
d1e5c1d
chore(general): clean nits (#5313)
julio-lopez Apr 17, 2026
9652abc
build(deps): dependabot cooldown (#5316)
julio-lopez Apr 17, 2026
e82297d
build(deps-dev): bump the kopia-ui-npm-dependencies group (#5317)
dependabot[bot] Apr 17, 2026
526dbbc
build(deps): bump actions/upload-artifact in the github-actions group…
dependabot[bot] Apr 17, 2026
c8b8fe1
refactor(general): bigmapbench profiling (#5321)
julio-lopez Apr 18, 2026
eee59b0
chore(providers): warn messages for extra storage providers (#5324)
julio-lopez Apr 20, 2026
d716595
build(deps): bump the common-golang-dependencies group with 2 updates…
dependabot[bot] Apr 21, 2026
fd7a4fb
build(deps): upgrade uuid to v14 to resolve moderate npm audit vulner…
Copilot Apr 29, 2026
fe57e8d
chore(ci): skip setup step on PRs on MacOS (#5344)
julio-lopez Apr 29, 2026
f7d80b9
build(deps-dev): bump postcss (#5346)
dependabot[bot] Apr 29, 2026
3aa5931
chore(ci): license-check-go make target (#5347)
julio-lopez Apr 29, 2026
7bd7f23
build(deps-dev): bump @xmldom/xmldom from 0.8.12 to 0.8.13 in /app (#…
dependabot[bot] Apr 29, 2026
6ca7b34
build(deps-dev): bump the kopia-ui-npm-dependencies group across 1 di…
dependabot[bot] Apr 29, 2026
7f8f4c2
build(deps): bump github.com/hanwen/go-fuse/v2 from 2.9.0 to 2.10.1 (…
dependabot[bot] Apr 29, 2026
1d826e9
chore(ci): split out linux-based lint targets (#5349)
ashmrtn Apr 29, 2026
6d25951
refactor(cli): registration mechanism for storage providers (#5350)
julio-lopez Apr 30, 2026
35d7950
build(deps): bump github/codeql-action in the github-actions group (#…
dependabot[bot] May 2, 2026
5db9d59
build(deps-dev): bump electron (#5351)
dependabot[bot] May 2, 2026
4d6a84a
feat(ui): upgraded htmlui to the latest version (#5353)
kopia-builder May 2, 2026
b53c032
build(deps): bump the common-golang-dependencies group with 2 updates…
dependabot[bot] May 5, 2026
3c3ff47
build(deps): bump go.uber.org/zap from 1.27.1 to 1.28.0 (#5356)
dependabot[bot] May 5, 2026
cf09101
build(deps): bump github.com/klauspost/reedsolomon from 1.13.3 to 1.1…
dependabot[bot] May 5, 2026
17e43ef
build(deps): bump github.com/klauspost/compress from 1.18.5 to 1.18.6…
dependabot[bot] May 5, 2026
c26c6a1
feat(cli): restrict insecure unauthenticated server to loopback binds…
jkowalski May 5, 2026
24a5085
Update golang toolchain to 1.25.10 (#5365)
ashmrtn May 8, 2026
1bb1901
build(deps): bump fast-uri from 3.1.0 to 3.1.2 in /app (#5366)
dependabot[bot] May 8, 2026
981d5f9
build(deps-dev): update govulncheck version (#5367)
ashmrtn May 8, 2026
cf9f030
Add a new function to create the Azure backend storage with the provi…
ywk253100 Sep 15, 2023
908c5c0
Merge pull request #43 from Lyndon-Li/v0.23.0-velero-patch
Lyndon-Li May 12, 2026
7b3b53e
merge upstream/v0.23.0-velero-patch into oadp-dev
oadp-maintainers May 13, 2026
9d5fd56
fix(deps): OADP-7565: bump Go toolchain to 1.25.8 and update dependen…
kaovilai Mar 17, 2026
cf18400
UPSTREAM: <carry>: Add OWNERS file
mpryc Apr 1, 2026
0a10e5b
UPSTREAM: <carry>: Disable irrelevant upstream GitHub Actions workflows
mpryc Apr 2, 2026
5b4c2da
UPSTREAM: <carry>: Update lint and test workflows for downstream
mpryc Apr 2, 2026
7e9fd52
UPSTREAM: <drop>: Updating go modules
oadp-maintainers May 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 16 additions & 25 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,18 +65,14 @@ make lint
make lint-fix
```

Note: Linting is **NOT** run on linux/arm64 or linux/arm platforms to avoid issues.

**Check code locks:**
```bash
make check-locks
```
**Note:** Not available on linux/arm64 or linux/arm.

**Check JavaScript/TypeScript formatting (in app directory):**
```bash
make check-prettier
```

**Important:** Linting is **NOT** run on linux/arm64 or linux/arm platforms to avoid issues.

### Building Kopia CLI

Expand Down Expand Up @@ -120,7 +116,7 @@ make kopia-ui
make test
```
**Time:** ~2-4 minutes
**Runs:** All unit tests with gotestsum, excludes TestIndexBlobManagerStress
**Runs:** All unit tests with gotestsum
**Timeout:** 1200s (20 minutes) per test
**Format:** pkgname-and-test-fails

Expand All @@ -132,12 +128,6 @@ make test-with-coverage
**Time:** ~3-5 minutes
**Note:** Used by Code Coverage workflow. Sets KOPIA_COVERAGE_TEST=1

### Index Blob Tests (Separate)
```bash
make test-index-blob-v0
```
**Runs:** TestIndexBlobManagerStress (excluded from standard tests due to duration)

### Integration Tests
```bash
make build-integration-test-binary # Build test binary first
Expand All @@ -146,6 +136,11 @@ make integration-tests
**Time:** ~5-10 minutes
**Requires:** KOPIA_INTEGRATION_EXE environment variable

**Race Detector Tests:**
```bash
make test UNIT_TEST_RACE_FLAGS=-race UNIT_TESTS_TIMEOUT=1200s
```

### CI Test Suites
```bash
make ci-tests # Runs: vet + test
Expand All @@ -157,7 +152,7 @@ make ci-integration-tests # Runs: robustness-tool-tests + socket-activation-tes
make provider-tests PROVIDER_TEST_TARGET=...
```
**Time:** 15 minutes timeout
**Requires:** KOPIA_PROVIDER_TEST=true, credentials for storage backend, rclone binary
**Requires:** KOPIA_PROVIDER_TEST=true, credentials for storage backend.
**Note:** Tests various cloud storage providers (S3, Azure, GCS, etc.)

### Other Test Types
Expand All @@ -167,11 +162,6 @@ make provider-tests PROVIDER_TEST_TARGET=...
- `make stress-test` - Stress tests (1 hour timeout)
- `make htmlui-e2e-test` - HTML UI end-to-end tests (10 minutes timeout)

**Race Detector Tests:**
```bash
make test UNIT_TEST_RACE_FLAGS=-race UNIT_TESTS_TIMEOUT=1200s
```

## Common Issues & Workarounds

### Build Issues
Expand All @@ -197,17 +187,16 @@ make test UNIT_TEST_RACE_FLAGS=-race UNIT_TESTS_TIMEOUT=1200s

3. **Integration test binary:** Must build integration test binary explicitly with `make build-integration-test-binary` before running integration tests.

4. **Provider tests require environment:** Provider tests need KOPIA_PROVIDER_TEST=true and rclone binary available.
4. **Provider tests require environment:** Provider tests need KOPIA_PROVIDER_TEST=true and storage credentials.

### Environment Variables

**Important variables for CI/tests:**
- `UNIX_SHELL_ON_WINDOWS=true` - Required for Windows builds
- `KOPIA_COVERAGE_TEST=1` - Enable coverage testing
- `KOPIA_INTEGRATION_EXE` - Path to integration test binary
- `TESTING_ACTION_EXE` - Path to testing action binary
- `KOPIA_PROVIDER_TEST=true` - Enable provider tests
- `RCLONE_EXE` - Path to rclone binary for provider tests


## Project Structure

Expand Down Expand Up @@ -270,9 +259,8 @@ make test UNIT_TEST_RACE_FLAGS=-race UNIT_TESTS_TIMEOUT=1200s
### Configuration Files

- `.golangci.yml` - Linter config with 40+ enabled linters, custom rules
- `.codecov.yml` - Code coverage reporting config
- `.goreleaser.yml` - Release automation config
- `.github/workflows/*.yml` - GitHub Actions workflows (19 workflow files)
- `.codecov.yml` - Code coverage reporting config

## GitHub Actions Workflows

Expand Down Expand Up @@ -408,4 +396,7 @@ make test UNIT_TEST_RACE_FLAGS=-race UNIT_TESTS_TIMEOUT=1200s
- node - JavaScript runtime for app builds
- hugo - Static site generator for website

10. **Trust these instructions** - These instructions have been validated by running all commands. Only search for additional information if something fails or if these instructions are incomplete or incorrect.
10. Do not commit executables or binary artifacts to the git repository.
Do not modify `.gitignore` files.

11. **Trust these instructions** - These instructions have been validated by running all commands. Only search for additional information if something fails or if these instructions are incomplete or incorrect.
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ updates:
open-pull-requests-limit: 5
schedule:
interval: weekly
cooldown:
default-days: 4
ignore:
# htmluibuild is explicitly updated by us
- dependency-name: "github.com/kopia/htmluibuild"
Expand All @@ -29,6 +31,8 @@ updates:
open-pull-requests-limit: 5
schedule:
interval: monthly
cooldown:
default-days: 4
groups:
github-actions:
patterns:
Expand All @@ -41,6 +45,8 @@ updates:
directory: "/app"
schedule:
interval: monthly
cooldown:
default-days: 7
groups:
# create once-per-week PR for all KopiaUI dependency bumps, that usually includes
# electron, electron-builder, etc.
Expand Down
6 changes: 5 additions & 1 deletion .github/instructions/go.copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,12 @@ Refer to the linter configuration in `.golangci.yml` for style checks and standa

### Formatting

- Indent with tabs
- Use `gofumt` to format code
- Use `goimports` to manage ordering of `import` statements
- Keep line length reasonable (no hard limit, but consider readability)
- Add blank lines to separate logical groups of code, adhering to the linter constraints.
- Add blank lines to separate logical groups of code, adhering to the linter constraints
- Ensure the file ends with a trailing newline `\n`

### Comments

Expand Down Expand Up @@ -330,6 +332,8 @@ Refer to the linter configuration in `.golangci.yml` for style checks and standa
- `go mod`: Manage dependencies
- `go generate`: Code generation

`make lint vet` runs `go vet` and `golangci-lint`

### Development Practices

- Run tests before committing
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/auto-merge.yml.disabled
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
auto-merge:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ahmadnassri/action-dependabot-auto-merge@45fc124d949b19b6b8bf6645b6c9d55f4f9ac61a #v2.6.6
with:
# auto-merge rules are in /.github/auto-merge.yml
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/code-coverage.yml.disabled
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,21 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: 'go.mod'
- name: Run Tests
run: make test-with-coverage
- name: Upload Coverage
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: coverage.txt
- name: Upload Logs
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: logs
path: .logs/**/*.log
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/compat-test.yml.disabled
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: 'go.mod'
- name: Compat Test
run: make compat-tests
- name: Upload Logs
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: logs
path: .logs/**/*.log
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/dependency-review.yml.disabled
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: 'Dependency Review'
uses: actions/dependency-review-action@3c4e3dcb1aa7874d2c16be7d79418e9b7efd6261 #v4.8.2
uses: actions/dependency-review-action@2031cfc080254a8a887f58cffee85186f0e49e48 #v4.9.0
6 changes: 3 additions & 3 deletions .github/workflows/endurance-test.yml.disabled
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,19 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: 'go.mod'
check-latest: true
id: go
- name: Endurance Tests
run: make endurance-tests
- name: Upload Logs
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: logs
path: .logs/**/*.log
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/htmlui-tests.yml.disabled
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,21 @@ jobs:
runs-on: macos-latest
steps:
- name: Check out repository
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: 'go.mod'
check-latest: true
id: go
- name: Install gotestsum
run: make install-gotestsum
- name: Run Tests
run: make htmlui-e2e-test
- name: Upload Screenshots
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
path: .screenshots/**/*.png
if-no-files-found: ignore
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/license-check.yml.disabled
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: 'go.mod'
- name: Download dependencies
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ env:
ENABLE_UNICODE_FILENAMES: ${{ secrets.ENABLE_UNICODE_FILENAMES }}
# set (to any value other than false) to trigger very long filenames testing
ENABLE_LONG_FILENAMES: ${{ secrets.ENABLE_LONG_FILENAMES }}
permissions:
contents: read
jobs:
build:
strategy:
Expand All @@ -24,13 +26,15 @@ jobs:
os: [ubuntu-latest]
name: Lint
runs-on: ${{ matrix.os }}
permissions:
security-events: write
steps:
- name: Check out repository
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: 'go.mod'
- name: Lint
Expand Down
24 changes: 12 additions & 12 deletions .github/workflows/make.yml.disabled
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Check out repository
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: 'go.mod'
id: go
Expand All @@ -62,7 +62,7 @@ jobs:
CSC_KEYCHAIN: ${{ secrets.CSC_KEYCHAIN }}
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
MACOS_SIGNING_IDENTITY: ${{ secrets.MACOS_SIGNING_IDENTITY }}
if: ${{ contains(matrix.os, 'macos') }}
if: ${{ contains(matrix.os, 'macos') && github.event_name != 'pull_request' }}
- name: Install Windows signing tools
# install signing tools and credentials for macOS and Windows outside of main
# build process.
Expand Down Expand Up @@ -90,9 +90,9 @@ jobs:
WINDOWS_SIGN_TOOL: ${{ secrets.WINDOWS_SIGN_TOOL }}

# macOS signing certificate (base64-encoded), used by Electron Builder
MACOS_SIGNING_IDENTITY: ${{ secrets.MACOS_SIGNING_IDENTITY }}
MACOS_SIGNING_IDENTITY: ${{ github.event_name != 'pull_request' && secrets.MACOS_SIGNING_IDENTITY || '' }}
- name: Upload Kopia Artifacts
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: kopia-${{ matrix.os }}
path: |
Expand All @@ -113,7 +113,7 @@ jobs:
dist/kopia-ui/*.yml
if-no-files-found: ignore
- name: Upload Kopia Binary
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: kopia_binaries-${{ matrix.os }}
path: |
Expand All @@ -128,21 +128,21 @@ jobs:
needs: build
if: github.event_name != 'pull_request' && github.repository == 'kopia/kopia'
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up QEMU
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
- name: Install Linux-specific packages
run: "sudo apt-get install -y createrepo-c"
- name: Download Artifacts
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: kopia-*
merge-multiple: true
path: dist
- name: Download Kopia Binaries
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: kopia_binaries-*
merge-multiple: true
Expand Down Expand Up @@ -185,7 +185,7 @@ jobs:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Bump Homebrew formula
uses: dawidd6/action-homebrew-bump-formula@3428a0601bba3173ec0bdcc945be23fa27aa4c31 # v5
uses: dawidd6/action-homebrew-bump-formula@1446dca236b0440c6f02723a3f14f13be2c04ab0 # v7
# only bump formula for tags which don't contain '-'
# this excludes vx.y.z-rc1
if: github.ref_type == 'tag' && !contains(github.ref_name, '-')
Expand Down
Loading