Support the TileDB core Subarray API for queries #528
Workflow file for this run
This file contains 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: TileDB-Go | |
on: | |
push: | |
tags: [ v* ] | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
golangci: | |
name: lint | |
runs-on: ubuntu-20.04 | |
steps: | |
# Checks out repository | |
- uses: actions/checkout@v2 | |
# Downloads TileDB-Core from release assets and install | |
- name: Run TileDB install script | |
run: ./.github/scripts/install_tiledb_linux.sh | |
shell: bash | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v2 | |
continue-on-error: true | |
with: | |
# Required: the version of golangci-lint is required and must be | |
# specified without patch version: we always use the latest patch version. | |
version: v1.35.2 | |
Linux_Test: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
# Will be checking following versions | |
go: ["1.19", "1.20"] | |
steps: | |
# Checks out repository | |
- uses: actions/checkout@v2 | |
# Downloads TileDB-Core from release assets and install | |
- name: Run TileDB install script | |
run: ./.github/scripts/install_tiledb_linux.sh | |
shell: bash | |
# Following action sets up Go and uses the strategy matrix to test on | |
# specific versions | |
- name: Set up Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Cache dependencies | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cache/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Install dependencies | |
run: go get -t . | |
# Tests TileDB-Go | |
- name: Test TileDB-Go | |
run: go test -v ./... | |
Macos_Test: | |
runs-on: macos-11 | |
strategy: | |
matrix: | |
# Will be checking following versions | |
go: ["1.19", "1.20"] | |
steps: | |
# Checks out repository | |
- uses: actions/checkout@v2 | |
# Downloads TileDB-Core from release assets and install | |
- name: Run TileDB install script | |
run: ./.github/scripts/install_tiledb_macos.sh | |
shell: bash | |
# Following action sets up Go and uses the strategy matrix to test on | |
# specific versions | |
- name: Set up Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Cache dependencies | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/Library/Caches/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Install dependencies | |
run: go get -t . | |
# Tests TileDB-Go | |
- name: Test TileDB-Go | |
run: go test -v ./... | |
Linux_Experimental_Test: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
# Will be checking following versions | |
go: ["1.19", "1.20"] | |
steps: | |
# Checks out repository | |
- uses: actions/checkout@v2 | |
# Downloads TileDB-Core from release assets and install | |
- name: Run TileDB install script | |
run: ./.github/scripts/install_tiledb_linux.sh | |
shell: bash | |
# Following action sets up Go and uses the strategy matrix to test on | |
# specific versions | |
- name: Set up Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Cache dependencies | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cache/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}-experimental | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Install dependencies | |
run: go get -t . | |
# Tests TileDB-Go | |
- name: Test TileDB-Go | |
run: go test -tags=experimental -v ./... | |
Macos_Experimental_Test: | |
runs-on: macos-11 | |
strategy: | |
matrix: | |
# Will be checking following versions | |
go: ["1.19", "1.20"] | |
steps: | |
# Checks out repository | |
- uses: actions/checkout@v2 | |
# Downloads TileDB-Core from release assets and install | |
- name: Run TileDB install script | |
run: ./.github/scripts/install_tiledb_macos.sh | |
shell: bash | |
# Following action sets up Go and uses the strategy matrix to test on | |
# specific versions | |
- name: Set up Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Cache dependencies | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/Library/Caches/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}-experimental | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Install dependencies | |
run: go get -t . | |
# Tests experimental bindings of TileDB-Go | |
- name: Test TileDB-Go | |
run: go test -tags=experimental -v ./... | |
Linux_Address_Sanitizer: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
# Will be checking following versions | |
go: ["1.19", "1.20"] | |
steps: | |
# Checks out repository | |
- uses: actions/checkout@v2 | |
# Downloads TileDB-Core from release assets and install | |
- name: Run TileDB install script | |
run: ./.github/scripts/install_tiledb_linux_debug.sh | |
shell: bash | |
# Following action sets up Go and uses the strategy matrix to test on | |
# specific versions | |
- name: Set up Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Cache dependencies | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cache/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}-asan | |
restore-keys: | | |
${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
${{ runner.os }}-go- | |
- name: Install dependencies | |
run: go get -t . | |
# Tests TileDB-Go | |
- name: Running examples using address sanitizer flags | |
continue-on-error: true | |
run: go run -tags asan ./cmd/tiledb-go-examples |