Skip to content

Commit f32d07a

Browse files
Merge pull request #23 from oadp-rebasebot/rebase-bot-oadp-dev
Merge https://github.com/project-velero/kopia:v0.23.1-velero-patch (d83462d) into oadp-dev
2 parents 13b9de8 + 66528fc commit f32d07a

169 files changed

Lines changed: 5202 additions & 2015 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/copilot-instructions.md

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -65,18 +65,14 @@ make lint
6565
make lint-fix
6666
```
6767

68+
Note: Linting is **NOT** run on linux/arm64 or linux/arm platforms to avoid issues.
69+
6870
**Check code locks:**
6971
```bash
7072
make check-locks
7173
```
7274
**Note:** Not available on linux/arm64 or linux/arm.
7375

74-
**Check JavaScript/TypeScript formatting (in app directory):**
75-
```bash
76-
make check-prettier
77-
```
78-
79-
**Important:** Linting is **NOT** run on linux/arm64 or linux/arm platforms to avoid issues.
8076

8177
### Building Kopia CLI
8278

@@ -120,7 +116,7 @@ make kopia-ui
120116
make test
121117
```
122118
**Time:** ~2-4 minutes
123-
**Runs:** All unit tests with gotestsum, excludes TestIndexBlobManagerStress
119+
**Runs:** All unit tests with gotestsum
124120
**Timeout:** 1200s (20 minutes) per test
125121
**Format:** pkgname-and-test-fails
126122

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

135-
### Index Blob Tests (Separate)
136-
```bash
137-
make test-index-blob-v0
138-
```
139-
**Runs:** TestIndexBlobManagerStress (excluded from standard tests due to duration)
140-
141131
### Integration Tests
142132
```bash
143133
make build-integration-test-binary # Build test binary first
@@ -146,6 +136,11 @@ make integration-tests
146136
**Time:** ~5-10 minutes
147137
**Requires:** KOPIA_INTEGRATION_EXE environment variable
148138

139+
**Race Detector Tests:**
140+
```bash
141+
make test UNIT_TEST_RACE_FLAGS=-race UNIT_TESTS_TIMEOUT=1200s
142+
```
143+
149144
### CI Test Suites
150145
```bash
151146
make ci-tests # Runs: vet + test
@@ -157,7 +152,7 @@ make ci-integration-tests # Runs: robustness-tool-tests + socket-activation-tes
157152
make provider-tests PROVIDER_TEST_TARGET=...
158153
```
159154
**Time:** 15 minutes timeout
160-
**Requires:** KOPIA_PROVIDER_TEST=true, credentials for storage backend, rclone binary
155+
**Requires:** KOPIA_PROVIDER_TEST=true, credentials for storage backend.
161156
**Note:** Tests various cloud storage providers (S3, Azure, GCS, etc.)
162157

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

170-
**Race Detector Tests:**
171-
```bash
172-
make test UNIT_TEST_RACE_FLAGS=-race UNIT_TESTS_TIMEOUT=1200s
173-
```
174-
175165
## Common Issues & Workarounds
176166

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

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

200-
4. **Provider tests require environment:** Provider tests need KOPIA_PROVIDER_TEST=true and rclone binary available.
190+
4. **Provider tests require environment:** Provider tests need KOPIA_PROVIDER_TEST=true and storage credentials.
201191

202192
### Environment Variables
203193

204194
**Important variables for CI/tests:**
205195
- `UNIX_SHELL_ON_WINDOWS=true` - Required for Windows builds
206196
- `KOPIA_COVERAGE_TEST=1` - Enable coverage testing
207197
- `KOPIA_INTEGRATION_EXE` - Path to integration test binary
208-
- `TESTING_ACTION_EXE` - Path to testing action binary
209198
- `KOPIA_PROVIDER_TEST=true` - Enable provider tests
210-
- `RCLONE_EXE` - Path to rclone binary for provider tests
199+
211200

212201
## Project Structure
213202

@@ -270,9 +259,8 @@ make test UNIT_TEST_RACE_FLAGS=-race UNIT_TESTS_TIMEOUT=1200s
270259
### Configuration Files
271260

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

277265
## GitHub Actions Workflows
278266

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

411-
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.
399+
10. Do not commit executables or binary artifacts to the git repository.
400+
Do not modify `.gitignore` files.
401+
402+
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.

.github/dependabot.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ updates:
55
open-pull-requests-limit: 5
66
schedule:
77
interval: weekly
8+
cooldown:
9+
default-days: 4
810
ignore:
911
# htmluibuild is explicitly updated by us
1012
- dependency-name: "github.com/kopia/htmluibuild"
@@ -29,6 +31,8 @@ updates:
2931
open-pull-requests-limit: 5
3032
schedule:
3133
interval: monthly
34+
cooldown:
35+
default-days: 4
3236
groups:
3337
github-actions:
3438
patterns:
@@ -41,6 +45,8 @@ updates:
4145
directory: "/app"
4246
schedule:
4347
interval: monthly
48+
cooldown:
49+
default-days: 7
4450
groups:
4551
# create once-per-week PR for all KopiaUI dependency bumps, that usually includes
4652
# electron, electron-builder, etc.

.github/instructions/go.copilot-instructions.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,12 @@ Refer to the linter configuration in `.golangci.yml` for style checks and standa
7878

7979
### Formatting
8080

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

8688
### Comments
8789

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

335+
`make lint vet` runs `go vet` and `golangci-lint`
336+
333337
### Development Practices
334338

335339
- Run tests before committing

.github/workflows/auto-merge.yml.disabled

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
auto-merge:
88
runs-on: ubuntu-latest
99
steps:
10-
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
10+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1111
- uses: ahmadnassri/action-dependabot-auto-merge@45fc124d949b19b6b8bf6645b6c9d55f4f9ac61a #v2.6.6
1212
with:
1313
# auto-merge rules are in /.github/auto-merge.yml

.github/workflows/code-coverage.yml.disabled

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,21 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- name: Check out repository
15-
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
15+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1616
with:
1717
fetch-depth: 0
1818
- name: Set up Go
19-
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
19+
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
2020
with:
2121
go-version-file: 'go.mod'
2222
- name: Run Tests
2323
run: make test-with-coverage
2424
- name: Upload Coverage
25-
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
25+
uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v6.0.1
2626
with:
2727
files: coverage.txt
2828
- name: Upload Logs
29-
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
29+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
3030
with:
3131
name: logs
3232
path: .logs/**/*.log

.github/workflows/compat-test.yml.disabled

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- name: Check out repository
17-
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
17+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1818
with:
1919
fetch-depth: 0
2020
- name: Set up Go
21-
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
21+
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
2222
with:
2323
go-version-file: 'go.mod'
2424
- name: Compat Test
2525
run: make compat-tests
2626
- name: Upload Logs
27-
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
27+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
2828
with:
2929
name: logs
3030
path: .logs/**/*.log

.github/workflows/dependency-review.yml.disabled

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ jobs:
1515
runs-on: ubuntu-latest
1616
steps:
1717
- name: 'Checkout Repository'
18-
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
18+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1919
- name: 'Dependency Review'
20-
uses: actions/dependency-review-action@3c4e3dcb1aa7874d2c16be7d79418e9b7efd6261 #v4.8.2
20+
uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 #v5.0.0

.github/workflows/endurance-test.yml.disabled

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,19 @@ jobs:
2626
runs-on: ubuntu-latest
2727
steps:
2828
- name: Check out repository
29-
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
29+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3030
with:
3131
fetch-depth: 0
3232
- name: Set up Go
33-
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
33+
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
3434
with:
3535
go-version-file: 'go.mod'
3636
check-latest: true
3737
id: go
3838
- name: Endurance Tests
3939
run: make endurance-tests
4040
- name: Upload Logs
41-
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
41+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
4242
with:
4343
name: logs
4444
path: .logs/**/*.log

.github/workflows/htmlui-tests.yml.disabled

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,21 @@ jobs:
2727
runs-on: macos-latest
2828
steps:
2929
- name: Check out repository
30-
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
30+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3131
with:
3232
fetch-depth: 0
3333
- name: Set up Go
34-
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
34+
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
3535
with:
3636
go-version-file: 'go.mod'
3737
check-latest: true
3838
id: go
39+
- name: Install gotestsum
40+
run: make install-gotestsum
3941
- name: Run Tests
4042
run: make htmlui-e2e-test
4143
- name: Upload Screenshots
42-
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
44+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
4345
with:
4446
path: .screenshots/**/*.png
4547
if-no-files-found: ignore

.github/workflows/license-check.yml.disabled

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- name: Check out repository
15-
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
15+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1616
with:
1717
fetch-depth: 0
1818
- name: Set up Go
19-
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
19+
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
2020
with:
2121
go-version-file: 'go.mod'
2222
- name: Download dependencies

0 commit comments

Comments
 (0)