Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: cockroachdb/pebble
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.1.5
Choose a base ref
...
head repository: cockroachdb/pebble
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v2.0.0
Choose a head ref
Loading
Showing 831 changed files with 115,926 additions and 54,449 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @cockroachdb/storage
202 changes: 123 additions & 79 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -14,147 +14,191 @@ jobs:

linux:
name: go-linux
strategy:
matrix:
go: ['1.22', '1.23']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.21"
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}

- run: make test generate
- run: GOTRACEBACK=all make test testobjiotracing generate

- name: Assert workspace clean
run: scripts/check-workspace-clean.sh

# Summary job that is required to merge PRs.
go-linux:
needs: [linux] # Waits for all matrix jobs to complete
runs-on: ubuntu-latest
if: ${{ success() }} # Only runs if all dependent jobs succeed
steps:
- name: Summary
run: echo "All go-linux matrix jobs passed successfully."

linux-32bit:
name: go-linux-32bit
strategy:
matrix:
go: ['1.22', '1.23']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.21"
go-version: ${{ matrix.go }}

- run: GOARCH=386 make test
- run: GOTRACEBACK=all GOARCH=386 make test

linux-crossversion:
name: go-linux-crossversion
strategy:
matrix:
go: ['1.22', '1.23']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.21"
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}

- run: make crossversion-meta
- run: make crossversion-meta

linux-race:
name: go-linux-race
strategy:
matrix:
go: ['1.22', '1.23']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.21"
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}

- run: make testrace TAGS=
- run: GOTRACEBACK=all make testrace TAGS=

linux-no-invariants:
name: go-linux-no-invariants
strategy:
matrix:
go: ['1.22', '1.23']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.21"
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}

- run: make test TAGS=
- run: GOTRACEBACK=all make test TAGS=

linux-no-cgo:
name: go-linux-no-cgo
strategy:
matrix:
go: ['1.22', '1.23']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.21"
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}

- run: CGO_ENABLED=0 make test TAGS=
- run: GOTRACEBACK=all CGO_ENABLED=0 make test TAGS=

darwin:
name: go-macos
runs-on: macos-12
strategy:
matrix:
go: ['1.22', '1.23']
runs-on: macos-14
steps:
- uses: actions/checkout@v2

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.21"

- run: make test
- uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}
- run: GOTRACEBACK=all make test

windows:
name: go-windows
strategy:
matrix:
go: ['1.22', '1.23']
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.21"
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}

- run: go test -v ./...
- run: go test -tags invariants ./...

bsds:
name: go-bsds
lint-checks:
name: go-lint-checks
strategy:
matrix:
go: ['1.22', '1.23']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.21"
- uses: actions/checkout@v2

- name: FreeBSD build
env:
GOOS: freebsd
run: go build -v ./...
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}

- name: NetBSD build
env:
GOOS: netbsd
run: go build -v ./...
- name: mod-tidy-check
run: make mod-tidy-check

- name: OpenBSD build
env:
GOOS: openbsd
run: go build -v ./...
- name: format-check
run: make format-check

# Summary job that is required to merge PRs.
go-lint-checks:
name: go-lint-checks
needs: [lint-checks] # Waits for all matrix jobs to complete
runs-on: ubuntu-latest
if: ${{ success() }} # Only runs if all dependent jobs succeed
steps:
- uses: actions/checkout@v2

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.21"

- name: mod-tidy-check
run: make mod-tidy-check
- name: Summary
run: echo "All go-lint-checks matrix jobs passed successfully."

# Builds for other OSes and architectures.
go-build-other:
name: go-build-other
strategy:
matrix:
go: ['1.22', '1.23']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: format-check
run: make format-check
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}

- run: GOARCH=mips go build ./...
- run: GOARCH=mipsle go build ./...
- run: GOARCH=mips64le go build ./...
- run: GOOS=freebsd go build -v ./...
- run: GOOS=netbsd go build -v ./...
- run: GOOS=openbsd go build -v ./...
4 changes: 2 additions & 2 deletions .github/workflows/code-cover-gen.yaml
Original file line number Diff line number Diff line change
@@ -29,7 +29,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: "1.21"
go-version: "1.23"

- name: Get list of changed packages
shell: bash
@@ -65,7 +65,7 @@ jobs:
${RUNNER_TEMP}/pr-codecov-run-tests.sh artifacts/cover-${PR}-${BASE_SHA}.json "${CHANGED_PKGS}"
- name: Upload artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: cover
path: artifacts/cover-*.json
29 changes: 6 additions & 23 deletions .github/workflows/code-cover-publish.yaml
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@ on:


jobs:
# This job downloads the artifacts genearted by the code-cover-gen job and
# This job downloads the artifacts generated by the code-cover-gen job and
# uploads them to a GCS bucket, from where Reviewable can access them.
code-cover-publish:
runs-on: ubuntu-latest
@@ -16,29 +16,12 @@ jobs:
github.event.workflow_run.conclusion == 'success'
steps:
- name: 'Download artifact'
uses: actions/github-script@v3.1.0
uses: actions/download-artifact@v4
with:
script: |
var artifacts = await github.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: ${{github.event.workflow_run.id }},
});
var matchArtifact = artifacts.data.artifacts.filter((artifact) => {
return artifact.name == "cover"
})[0];
var download = await github.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact.id,
archive_format: 'zip',
});
var fs = require('fs');
fs.writeFileSync('${{github.workspace}}/cover.zip', Buffer.from(download.data));
- run: |
mkdir -p cover
unzip cover.zip -d cover
name: cover
path: cover
github-token: ${{ github.token }}
run-id: ${{ github.event.workflow_run.id }}

- name: 'Authenticate to Google Cloud'
uses: 'google-github-actions/auth@v1'
2 changes: 1 addition & 1 deletion .github/workflows/nightly-code-cover.yaml
Original file line number Diff line number Diff line change
@@ -24,7 +24,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: "1.21"
go-version: "1.23"

- name: Generate coverage
run: scripts/code-coverage.sh
4 changes: 2 additions & 2 deletions .github/workflows/sanitizers.yaml
Original file line number Diff line number Diff line change
@@ -14,7 +14,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: "1.21"
go-version: "1.23"

- run: make testasan

@@ -27,6 +27,6 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: "1.21"
go-version: "1.23"

- run: make testmsan
24 changes: 24 additions & 0 deletions .github/workflows/stress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Nightly stress test

on:
schedule:
- cron: '00 10 * * * '
workflow_dispatch:

jobs:

linux-stress:
name: linux-stress
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.23"

- name: Run unit tests under stress
run: |
go install github.com/cockroachdb/stress@latest
scripts/stress.sh
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -7,3 +7,9 @@ mutex.prof
coverprofile.out
# Testing artifacts
meta.*.test

# Bazel files, generated with 'make gen-bazel'.
/WORKSPACE
BUILD.bazel


Loading