refactor: Migrate from legacy storage implementations to disk.Store and tiered.Store #1445
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and Test | |
| # Trigger the action on push and pull requests | |
| on: | |
| push: | |
| branches: [ master ] | |
| pull_request: | |
| branches: [ '**' ] | |
| env: | |
| GO_VERSION: '1.24' | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| - name: golangci-lint | |
| uses: golangci/golangci-lint-action@v8 | |
| with: | |
| version: latest | |
| # Only run on new issues in pull requests | |
| # only-new-issues: true | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| - name: Display Go version | |
| run: go version | |
| - name: Install dependencies | |
| env: | |
| GIT_SSL_NO_VERIFY: true | |
| GOPROXY: "https://proxy.golang.org,direct" | |
| GOSUMDB: off | |
| GOINSECURE: "*" | |
| run: go mod download | |
| - name: Build | |
| run: go build ./... | |
| env: | |
| CGO_CFLAGS: "-Wno-return-local-addr" | |
| unit_tests: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| - name: Test with the Go CLI | |
| run: go test $(go list ./...) -cover | |
| env: | |
| CGO_CFLAGS: "-Wno-return-local-addr" | |
| - name: Run Benchmarks | |
| run: | | |
| go test $(go list ./...) -bench=. -benchmem -run=^$ | |
| env: | |
| CGO_CFLAGS: "-Wno-return-local-addr" | |
| integration_tests: | |
| name: integration tests (snapshotter ${{ matrix.snapshotter && 'enabled' || 'disabled' }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # Run with and without the containerd snapshotter to cover both OCI and | |
| # Docker v2 manifest formats. | |
| snapshotter: [true, false] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: docker/setup-docker-action@v4 | |
| with: | |
| version: latest | |
| daemon-config: | | |
| { | |
| "features": { | |
| "containerd-snapshotter": ${{ matrix.snapshotter }} | |
| } | |
| } | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Run integration tests via Make | |
| run: make integration |