From 06e5737936eb0d2d269c2eb76a4602a50ae7d89d Mon Sep 17 00:00:00 2001 From: Michal Pryc Date: Thu, 2 Apr 2026 11:15:07 +0200 Subject: [PATCH 1/2] UPSTREAM: : Disable irrelevant upstream GitHub Actions workflows Disable 16 upstream kopia GitHub Actions workflows that are not relevant to our downstream fork (renamed to .yml.disabled): - auto-merge.yml: missing secrets, kopia-specific - check-pr-title.yml: kopia-specific title checks - code-coverage.yml: not needed for downstream - compat-test.yml: kopia compatibility tests - dependency-review.yml: dependency graph not enabled - endurance-test.yml: kopia repo guard, irrelevant - htmlui-tests.yml: no HTML UI in downstream - license-check.yml: not needed - make.yml: kopia-specific builds, secrets, UI artifacts - ossf-scorecard.yml: kopia-specific scorecard - providers-core.yml: kopia cloud provider tests - providers-extra.yml: kopia cloud provider tests - race-detector.yml: not needed - stale.yml: kopia-specific stale management - stress-test.yml: kopia repo guard, irrelevant - volume-shadow-copy-test.yml: Windows VSS not relevant Signed-off-by: Michal Pryc Co-authored-by: Michal Pryc Co-Authored-By: Claude Opus 4.6 --- .github/workflows/{auto-merge.yml => auto-merge.yml.disabled} | 0 .../workflows/{check-pr-title.yml => check-pr-title.yml.disabled} | 0 .../workflows/{code-coverage.yml => code-coverage.yml.disabled} | 0 .github/workflows/{compat-test.yml => compat-test.yml.disabled} | 0 .../{dependency-review.yml => dependency-review.yml.disabled} | 0 .../workflows/{endurance-test.yml => endurance-test.yml.disabled} | 0 .github/workflows/{htmlui-tests.yml => htmlui-tests.yml.disabled} | 0 .../workflows/{license-check.yml => license-check.yml.disabled} | 0 .github/workflows/{make.yml => make.yml.disabled} | 0 .../workflows/{ossf-scorecard.yml => ossf-scorecard.yml.disabled} | 0 .../workflows/{providers-core.yml => providers-core.yml.disabled} | 0 .../{providers-extra.yml => providers-extra.yml.disabled} | 0 .../workflows/{race-detector.yml => race-detector.yml.disabled} | 0 .github/workflows/{stale.yml => stale.yml.disabled} | 0 .github/workflows/{stress-test.yml => stress-test.yml.disabled} | 0 ...-shadow-copy-test.yml => volume-shadow-copy-test.yml.disabled} | 0 16 files changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{auto-merge.yml => auto-merge.yml.disabled} (100%) rename .github/workflows/{check-pr-title.yml => check-pr-title.yml.disabled} (100%) rename .github/workflows/{code-coverage.yml => code-coverage.yml.disabled} (100%) rename .github/workflows/{compat-test.yml => compat-test.yml.disabled} (100%) rename .github/workflows/{dependency-review.yml => dependency-review.yml.disabled} (100%) rename .github/workflows/{endurance-test.yml => endurance-test.yml.disabled} (100%) rename .github/workflows/{htmlui-tests.yml => htmlui-tests.yml.disabled} (100%) rename .github/workflows/{license-check.yml => license-check.yml.disabled} (100%) rename .github/workflows/{make.yml => make.yml.disabled} (100%) rename .github/workflows/{ossf-scorecard.yml => ossf-scorecard.yml.disabled} (100%) rename .github/workflows/{providers-core.yml => providers-core.yml.disabled} (100%) rename .github/workflows/{providers-extra.yml => providers-extra.yml.disabled} (100%) rename .github/workflows/{race-detector.yml => race-detector.yml.disabled} (100%) rename .github/workflows/{stale.yml => stale.yml.disabled} (100%) rename .github/workflows/{stress-test.yml => stress-test.yml.disabled} (100%) rename .github/workflows/{volume-shadow-copy-test.yml => volume-shadow-copy-test.yml.disabled} (100%) diff --git a/.github/workflows/auto-merge.yml b/.github/workflows/auto-merge.yml.disabled similarity index 100% rename from .github/workflows/auto-merge.yml rename to .github/workflows/auto-merge.yml.disabled diff --git a/.github/workflows/check-pr-title.yml b/.github/workflows/check-pr-title.yml.disabled similarity index 100% rename from .github/workflows/check-pr-title.yml rename to .github/workflows/check-pr-title.yml.disabled diff --git a/.github/workflows/code-coverage.yml b/.github/workflows/code-coverage.yml.disabled similarity index 100% rename from .github/workflows/code-coverage.yml rename to .github/workflows/code-coverage.yml.disabled diff --git a/.github/workflows/compat-test.yml b/.github/workflows/compat-test.yml.disabled similarity index 100% rename from .github/workflows/compat-test.yml rename to .github/workflows/compat-test.yml.disabled diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml.disabled similarity index 100% rename from .github/workflows/dependency-review.yml rename to .github/workflows/dependency-review.yml.disabled diff --git a/.github/workflows/endurance-test.yml b/.github/workflows/endurance-test.yml.disabled similarity index 100% rename from .github/workflows/endurance-test.yml rename to .github/workflows/endurance-test.yml.disabled diff --git a/.github/workflows/htmlui-tests.yml b/.github/workflows/htmlui-tests.yml.disabled similarity index 100% rename from .github/workflows/htmlui-tests.yml rename to .github/workflows/htmlui-tests.yml.disabled diff --git a/.github/workflows/license-check.yml b/.github/workflows/license-check.yml.disabled similarity index 100% rename from .github/workflows/license-check.yml rename to .github/workflows/license-check.yml.disabled diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml.disabled similarity index 100% rename from .github/workflows/make.yml rename to .github/workflows/make.yml.disabled diff --git a/.github/workflows/ossf-scorecard.yml b/.github/workflows/ossf-scorecard.yml.disabled similarity index 100% rename from .github/workflows/ossf-scorecard.yml rename to .github/workflows/ossf-scorecard.yml.disabled diff --git a/.github/workflows/providers-core.yml b/.github/workflows/providers-core.yml.disabled similarity index 100% rename from .github/workflows/providers-core.yml rename to .github/workflows/providers-core.yml.disabled diff --git a/.github/workflows/providers-extra.yml b/.github/workflows/providers-extra.yml.disabled similarity index 100% rename from .github/workflows/providers-extra.yml rename to .github/workflows/providers-extra.yml.disabled diff --git a/.github/workflows/race-detector.yml b/.github/workflows/race-detector.yml.disabled similarity index 100% rename from .github/workflows/race-detector.yml rename to .github/workflows/race-detector.yml.disabled diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml.disabled similarity index 100% rename from .github/workflows/stale.yml rename to .github/workflows/stale.yml.disabled diff --git a/.github/workflows/stress-test.yml b/.github/workflows/stress-test.yml.disabled similarity index 100% rename from .github/workflows/stress-test.yml rename to .github/workflows/stress-test.yml.disabled diff --git a/.github/workflows/volume-shadow-copy-test.yml b/.github/workflows/volume-shadow-copy-test.yml.disabled similarity index 100% rename from .github/workflows/volume-shadow-copy-test.yml rename to .github/workflows/volume-shadow-copy-test.yml.disabled From 8a940733f24bd4572eda4e61be0805dae992fed1 Mon Sep 17 00:00:00 2001 From: Michal Pryc Date: Thu, 2 Apr 2026 11:15:35 +0200 Subject: [PATCH 2/2] UPSTREAM: : Update lint and test workflows for downstream - Update branch filters from master to oadp-dev/oadp-1.* - Trim OS matrix to ubuntu-latest only - Remove Windows/macOS-specific install steps - Remove scheduled CI runs - Remove ci-integration-tests (uses upstream kopia commands) Signed-off-by: Michal Pryc Co-authored-by: Michal Pryc Co-Authored-By: Claude Opus 4.6 --- .github/workflows/lint.yml | 18 ++---------------- .github/workflows/tests.yml | 20 ++++---------------- repo/blob/azure/patch.go | 7 ++++--- 3 files changed, 10 insertions(+), 35 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 2bae7f495cb..a74bc260de3 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,7 +1,7 @@ name: Lint on: pull_request: - branches: [ master ] + branches: [ oadp-dev, oadp-1.* ] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-latest] + os: [ubuntu-latest] name: Lint runs-on: ${{ matrix.os }} steps: @@ -33,19 +33,5 @@ jobs: uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0 with: go-version-file: 'go.mod' - - id: govulncheck - uses: golang/govulncheck-action@b625fbe08f3bccbe446d94fbf87fcc875a4f50ee # v1.0.4 - with: - cache: false - go-version-input: '1.25.4' - # An explicit Go version is needed for govulncheck-action since internally - # it uses an outdated setup-go@v5.0 action that does not respect the 'toolchain' - # directive in the 'go.mod' file. - #go-version-file: 'go.mod' - repo-checkout: false - name: Lint run: make lint - - name: Check Locks - run: make check-locks - - name: Prettier - run: make check-prettier diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e7700a702b9..189d6197143 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,15 +1,11 @@ name: Tests on: pull_request: - branches: [ master ] + branches: [ oadp-dev, oadp-1.* ] push: - # ci-sandbox is a branch dedicated to testing post-submit code. - branches: [ master, artifacts-pr ] + branches: [ oadp-dev, oadp-1.* ] tags: - v* - schedule: - # run on Mondays at 8AM - - cron: '0 8 * * 1' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true @@ -29,7 +25,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-latest, ubuntu-latest, macos-latest, ubuntu-24.04-arm ] + os: [ubuntu-latest] name: Tests runs-on: ${{ matrix.os }} steps: @@ -41,20 +37,12 @@ jobs: uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0 with: go-version-file: 'go.mod' - - name: Install Windows-specific packages - run: "choco install --no-progress -y make zip unzip curl" - if: ${{ contains(matrix.os, 'windows') }} - - name: Install macOS-specific packages - run: "sudo xcode-select -r" - if: ${{ contains(matrix.os, 'macos') }} - name: Setup - run: make -j4 ci-setup + run: make -j4 go-modules all-tools - name: Test Blob Index Manager V0 run: make test-index-blob-v0 - name: Tests run: make ci-tests - - name: Integration Tests - run: make -j2 ci-integration-tests - name: Upload Logs uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 with: diff --git a/repo/blob/azure/patch.go b/repo/blob/azure/patch.go index 07c5408affb..56dbf72b634 100644 --- a/repo/blob/azure/patch.go +++ b/repo/blob/azure/patch.go @@ -5,13 +5,14 @@ import ( "fmt" "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob" + "github.com/pkg/errors" + "github.com/kopia/kopia/internal/clock" "github.com/kopia/kopia/repo/blob" "github.com/kopia/kopia/repo/blob/retrying" - "github.com/pkg/errors" ) -// NewWithClient creates new Azure backend storage with the specified client +// NewWithClient creates new Azure backend storage with the specified client. func NewWithClient(ctx context.Context, opt *Options, client *azblob.Client) (blob.Storage, error) { raw := &azStorage{ Options: *opt, @@ -24,7 +25,7 @@ func NewWithClient(ctx context.Context, opt *Options, client *azblob.Client) (bl // verify Azure connection is functional by listing blobs in a bucket, which will fail if the container // does not exist. We list with a prefix that will not exist, to avoid iterating through any objects. nonExistentPrefix := fmt.Sprintf("kopia-azure-storage-initializing-%v", clock.Now().UnixNano()) - if err := raw.ListBlobs(ctx, blob.ID(nonExistentPrefix), func(md blob.Metadata) error { + if err := raw.ListBlobs(ctx, blob.ID(nonExistentPrefix), func(_ blob.Metadata) error { return nil }); err != nil { return nil, errors.Wrap(err, "unable to list from the bucket")