Skip to content

Commit

Permalink
Merge branch 'main' into yt/sc-59605/dont_block_io
Browse files Browse the repository at this point in the history
  • Loading branch information
ypatia authored Jan 24, 2025
2 parents c8b6de6 + 40726b7 commit c9aa97c
Show file tree
Hide file tree
Showing 47 changed files with 971 additions and 892 deletions.
2 changes: 1 addition & 1 deletion .github/DIRECTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ the version-specific tests. This fan-out setup reduces the runtime of each job f

## Documentation

Documentation is built by `workflows/build-docs.yml` using `<root>/scripts/ci/build_docs.sh`.
Documentation is built by `workflows/build-docs.yml` using `<root>/scripts/ci/build_docs.sh`.
2 changes: 1 addition & 1 deletion .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: build-docs
on:
push:
branches:
- dev
- main
- 'release-*'
paths-ignore:
- '.github/workflows/quarto-render.yml'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-rtools40.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ jobs:
VCPKG_ROOT: ${{ github.workspace }}/vcpkg
shell: c:\rtools40\usr\bin\bash.exe --login {0}
- name: "Upload binaries"
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: mingw-w64-${{ matrix.msystem }}-tiledb
path: .github/workflows/mingw-w64-tiledb/*.pkg.tar.*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
# Save the tiledb_unit binary for use in the next step
- name: 'Upload Artifact'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: tiledb_unit
path: ${{ github.workspace }}/build/test/tiledb_unit
Expand All @@ -66,7 +66,7 @@ jobs:
- uses: actions/checkout@v3

- name: Download a single artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: tiledb_unit
path: ${{ github.workspace }}/build/test/
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [windows-2019, windows-2022]
os: [windows-2022]
#considering https://stackoverflow.com/questions/65035256/how-to-access-matrix-variables-in-github-actions
environ: [azure, s3, gcs, serialization]
include:
Expand Down Expand Up @@ -406,7 +406,7 @@ jobs:
- name: 'upload dumpfile artifacts' # https://github.com/actions/upload-artifact#where-does-the-upload-go
if: ${{ always() == true && startsWith(matrix.os, 'windows-') == true }} # only run this job if the build step failed
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
retention-days: 10
name: "coredumps.${{ github.job }}.${{ matrix.os }}.${{matrix.environ}}.${{ github.run_number }}.${{github.run_id}}.${{github.run_attempt}}"
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/check-formatting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,5 @@ jobs:
printenv
shell: bash

- name: Check formatting (linux only)'
run: |
source $GITHUB_WORKSPACE/scripts/ci/check_formatting_linux.sh
shell: bash
if: ${{ runner.os == 'Linux' }}
- name: Check formatting
run: $GITHUB_WORKSPACE/scripts/ci/check_formatting_linux.sh
12 changes: 9 additions & 3 deletions .github/workflows/ci-linux_mac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -236,12 +236,18 @@ jobs:
run: ./scripts/ci/posix/dump-core-stacks.sh

- name: List files in build directory on failure
run: du --exclude _deps -h $GITHUB_WORKSPACE/build
run: |
if [ $(uname) = "Darwin" ] ; then
# MacOS du lacks --exclude
du -h $GITHUB_WORKSPACE/build
else
du --exclude _deps -h $GITHUB_WORKSPACE/build
fi
if: ${{ failure() }}

- name: 'Upload failure artifacts (Linux)' # https://github.com/actions/upload-artifact#where-does-the-upload-go
if: ${{ startsWith(matrix.os, 'ubuntu-') == true }} # only run this job if the build step failed
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
retention-days: 10
name: "coredumps.${{ github.job }}.${{ matrix.os }}.${{ github.run_number }}.${{github.run_id}}.${{github.run_attempt}}"
Expand All @@ -251,7 +257,7 @@ jobs:
- name: 'Upload failure artifacts (macOS)' # https://github.com/actions/upload-artifact#where-does-the-upload-go
if: ${{ failure() == true && startsWith(matrix.os, 'macos-') == true }} # only run this job if the build step failed
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
retention-days: 10
name: "${{ matrix.os }}.coredumps.${{ github.job }}.${{ github.run_number }}.${{github.run_id}}.${{github.run_attempt}}"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/full-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on:
workflow_dispatch:
push:
branches:
- dev
- main
- release-*
- refs/tags/*

Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/nightly-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ jobs:
- os: macos-latest
experimental: ON
- os: windows-latest
- os: windows-2019
- os: windows-latest
config: "Debug"
# Insufficient space on default D:/ for debug build
Expand Down Expand Up @@ -83,7 +82,7 @@ jobs:
include:
- os: ubuntu-latest
triplet: x64-linux
- os: windows-2019
- os: windows-2022
triplet: x64-windows
- os: macos-13
triplet: x64-osx
Expand Down Expand Up @@ -147,4 +146,4 @@ jobs:
with:
name: nightly GitHub Actions build
label: nightly
assignee: KiterLuc,teo-tsirpanis,davisp
assignee: davisp,dudoslav,ihnorton,teo-tsirpanis
2 changes: 1 addition & 1 deletion .github/workflows/quarto-render.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ name: Render and deploy Quarto files
on:
push:
# publish on merge only
branches: dev
branches: main
# when changes match any path below
paths:
- '.github/workflows/quarto-render.yml'
Expand Down
22 changes: 12 additions & 10 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
workflow_dispatch:
push:
branches:
- dev
- main
- 'release-*'
tags:
- '*'
Expand Down Expand Up @@ -32,7 +32,7 @@ jobs:
TILEDB_PACKAGE_VERSION: ${{ steps.get-values.outputs.release_version }}
run: cd build && cpack --config CPackSourceConfig.cmake
- name: Upload Release Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: release
path: |
Expand All @@ -45,7 +45,7 @@ jobs:
matrix:
include:
- platform: windows-x86_64
os: windows-2019
os: windows-2022
triplet: x64-windows-release
- platform: linux-x86_64
os: ubuntu-20.04
Expand Down Expand Up @@ -124,9 +124,9 @@ jobs:
TILEDB_PACKAGE_VERSION: ${{ steps.get-values.outputs.release_version }}
run: cmake --build build -j4 --config Release --target package
- name: Upload release artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: release
name: release-${{ matrix.platform }}
path: |
build/tiledb-*.tar.gz*
build/tiledb-*.zip*
Expand All @@ -142,9 +142,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download release artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: release
pattern: release-*
merge-multiple: true
path: dist
- name: Test names of release artifacts
run: |
Expand All @@ -161,9 +162,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download release artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: release
name: release-*
merge-multiple: true
path: dist
- name: Publish release artifacts
uses: actions/github-script@v6
Expand Down Expand Up @@ -214,4 +216,4 @@ jobs:
with:
name: Release failed
label: release
assignee: KiterLuc,teo-tsirpanis,davisp
assignee: davisp,dudoslav,ihnorton,teo-tsirpanis
2 changes: 1 addition & 1 deletion .github/workflows/test-cloud-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
type: boolean
push:
branches:
- dev
- main
- release-*

env:
Expand Down
2 changes: 1 addition & 1 deletion .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ stages:
trigger_pipeline:
stage: test
rules:
- if: $CI_COMMIT_BRANCH =~ /^dev|^release-.*/ || $CI_COMMIT_TAG != "" # only/except rules are no longer actively developed. Please use `rules` instead.
- if: $CI_COMMIT_BRANCH =~ /^main|^release-.*/ || $CI_COMMIT_TAG != "" # only/except rules are no longer actively developed. Please use `rules` instead.
- if: $CI_PIPELINE_SOURCE == "external_pull_request_event"
changes:
- "!.github/workflows/quarto-render.yml"
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ else()
endif()
endif()

if (CMAKE_CXX_COMPILER_ID MATCHES "AppleClang" AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER_EQUAL "16")
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER_EQUAL "16")
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-fexperimental-library>)
endif()
endif()
Expand Down
15 changes: 7 additions & 8 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ help you file issues, bug reports, or contribute code to the open source TileDB

## Contribution Checklist:

* Reporting a bug? Please read [how to file a bug report](https://github.com/TileDB-Inc/TileDB/blob/dev/CONTRIBUTING.md#reporting-a-bug) section to make sure sufficient information is included.
* Reporting a bug? Please read [how to file a bug report](https://github.com/TileDB-Inc/TileDB/blob/main/CONTRIBUTING.md#reporting-a-bug) section to make sure sufficient information is included.

* Contributing code? You rock! Be sure to [review the contributor section](https://github.com/TileDB-Inc/TileDB/blob/dev/CONTRIBUTING.md#contributing-code) for helpful tips on the tools we use to build TileDB, format code, and issue pull requests (PR)'s.
* Contributing code? You rock! Be sure to [review the contributor section](https://github.com/TileDB-Inc/TileDB/blob/main/CONTRIBUTING.md#contributing-code) for helpful tips on the tools we use to build TileDB, format code, and issue pull requests (PR)'s.

## Reporting a Bug

Expand All @@ -16,7 +16,7 @@ A useful bug report filed as a GitHub issue provides information about how to re
1. Before opening a new [GitHub issue](https://github.com/TileDB-Inc/TileDB/issues) try searching the existing issues to see if someone else has already noticed the same problem.

2. When filing a bug report, provide where possible:
- The version TileDB (`tiledb_version()`) or if a `dev` version, specific commit that triggers the error.
- The version TileDB (`tiledb_version()`) or if a `main` version, specific commit that triggers the error.
- The full error message, including the backtrace (if possible). Verbose error reporting is enabled by building TileDB with `../bootstrap --enable-verbose`.
- A minimal working example, i.e. the smallest chunk of code that triggers the error. Ideally, this should be code that can be a small reduced C / C++ source file. If the code to reproduce is somewhat long, consider putting it in a [gist](https://gist.github.com).

Expand All @@ -25,7 +25,7 @@ A useful bug report filed as a GitHub issue provides information about how to re

## Contributing Code

*By contributing code to TileDB, you are agreeing to release it under the [MIT License](https://github.com/TileDB-Inc/TileDB/tree/dev/LICENSE).*
*By contributing code to TileDB, you are agreeing to release it under the [MIT License](https://github.com/TileDB-Inc/TileDB/tree/main/LICENSE).*

### Quickstart Workflow:

Expand All @@ -49,8 +49,7 @@ for dependencies and detailed build instructions.
[Issue a PR from your updated TileDB fork](https://help.github.com/articles/creating-a-pull-request-from-a-fork/)

Branch conventions:
- `dev` is the development branch of TileDB, all PR's are merged into `dev`.
- `master` tracks the latest stable / released version of TileDB.
- `main` is the development branch of TileDB, all PR's are merged into `main`.
- `release-x.y.z` are major / bugfix release branches of TileDB.

Formatting conventions:
Expand All @@ -63,13 +62,13 @@ Formatting conventions:

### Pull Requests:

- `dev` is the development branch, all PR’s should be rebased on top of the latest `dev` commit.
- `main` is the development branch, all PR’s should be rebased on top of the latest `main` commit.

- Commit changes to a local branch. The convention is to use your initials to identify branches: (ex. “Fred Jones” , `fj/my_bugfix_branch`). Branch names should be identifiable and reflect the feature or bug that they want to address / fix. This helps in deleting old branches later.

- Make sure the test suite passes by running `make check`.

- When ready to submit a PR, `git rebase` the branch on top of the latest `dev` commit. Be sure to squash / cleanup the commit history so that the PR preferably one, or a couple commits at most. Each atomic commit in a PR should be able to pass the test suite.
- When ready to submit a PR, `git rebase` the branch on top of the latest `main` commit. Be sure to squash / cleanup the commit history so that the PR preferably one, or a couple commits at most. Each atomic commit in a PR should be able to pass the test suite.

- Run the limiting / code format tooling (`make format`) before submitting a final PR.
Make sure that your contribution generally follows the format and naming conventions used by surrounding code.
Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<a href="https://tiledb.com"><img src="https://github.com/TileDB-Inc/TileDB/raw/dev/doc/source/_static/tiledb-logo_color_no_margin_@4x.png" alt="TileDB logo" width="400"></a>
<a href="https://tiledb.com"><img src="https://github.com/TileDB-Inc/TileDB/raw/main/doc/source/_static/tiledb-logo_color_no_margin_@4x.png" alt="TileDB logo" width="400"></a>

[![Full CI](https://github.com/TileDB-Inc/TileDB/actions/workflows/full-ci.yml/badge.svg?branch=dev)](https://github.com/TileDB-Inc/TileDB/actions/workflows/full-ci.yml) [![Azure Pipelines](https://dev.azure.com/TileDB-Inc/CI/_apis/build/status/TileDB-Inc.TileDB?branchName=dev)](https://dev.azure.com/TileDB-Inc/CI/_build/latest?definitionId=2&branchName=dev) [![](doc/anaconda.svg)![Anaconda download count badge](https://anaconda.org/conda-forge/TileDB/badges/downloads.svg)](https://anaconda.org/conda-forge/TileDB)
[![Full CI](https://github.com/TileDB-Inc/TileDB/actions/workflows/full-ci.yml/badge.svg?branch=main)](https://github.com/TileDB-Inc/TileDB/actions/workflows/full-ci.yml) [![Azure Pipelines](https://dev.azure.com/TileDB-Inc/CI/_apis/build/status/TileDB-Inc.TileDB?branchName=main)](https://dev.azure.com/TileDB-Inc/CI/_build/latest?definitionId=2&branchName=main) [![](doc/anaconda.svg)![Anaconda download count badge](https://anaconda.org/conda-forge/TileDB/badges/downloads.svg)](https://anaconda.org/conda-forge/TileDB)

# The Universal Storage Engine

Expand Down Expand Up @@ -41,10 +41,10 @@ $ docker pull tiledb/tiledb
$ docker run -it tiledb/tiledb
```

We include several [examples](https://github.com/TileDB-Inc/TileDB/tree/dev/examples). You can start with the following:
We include several [examples](https://github.com/TileDB-Inc/TileDB/tree/main/examples). You can start with the following:

* [Dense array example](https://github.com/TileDB-Inc/TileDB/blob/dev/examples/cpp_api/quickstart_dense.cc)
* [Sparse array example](https://github.com/TileDB-Inc/TileDB/blob/dev/examples/cpp_api/quickstart_sparse.cc)
* [Dense array example](https://github.com/TileDB-Inc/TileDB/blob/main/examples/cpp_api/quickstart_dense.cc)
* [Sparse array example](https://github.com/TileDB-Inc/TileDB/blob/main/examples/cpp_api/quickstart_sparse.cc)

## Documentation

Expand All @@ -71,8 +71,8 @@ The TileDB data format is open-source and can be found [here](format_spec/FORMAT

The TileDB team maintains a variety of APIs built on top of the C++ library:

* C ([examples](https://github.com/TileDB-Inc/TileDB/tree/dev/examples/c_api), [API docs](https://tiledb-inc-tiledb.readthedocs-hosted.com/en/stable/c-api.html))
* C++ ([examples](https://github.com/TileDB-Inc/TileDB/tree/dev/examples/cpp_api), [API docs](https://tiledb-inc-tiledb.readthedocs-hosted.com/en/stable/c++-api.html))
* C ([examples](https://github.com/TileDB-Inc/TileDB/tree/main/examples/c_api), [API docs](https://tiledb-inc-tiledb.readthedocs-hosted.com/en/stable/c-api.html))
* C++ ([examples](https://github.com/TileDB-Inc/TileDB/tree/main/examples/cpp_api), [API docs](https://tiledb-inc-tiledb.readthedocs-hosted.com/en/stable/c++-api.html))
* [Python](https://github.com/TileDB-Inc/TileDB-Py)
* [R](https://github.com/TileDB-Inc/TileDB-R)
* [Java](https://github.com/TileDB-Inc/TileDB-Java)
Expand All @@ -91,6 +91,6 @@ TileDB is also integrated with several popular databases and data science tools:

## Get involved

TileDB Embedded is an open-source project and welcomes all forms of contributions. Contributors to the project should read over the [contribution docs](https://github.com/TileDB-Inc/TileDB/blob/dev/CONTRIBUTING.md) for more information.
TileDB Embedded is an open-source project and welcomes all forms of contributions. Contributors to the project should read over the [contribution docs](https://github.com/TileDB-Inc/TileDB/blob/main/CONTRIBUTING.md) for more information.

We'd love to hear from you. Drop us a line at [hello@tiledb.com](mailto:hello@tiledb.com), visit our [forum](https://forum.tiledb.com/) or [contact form](https://tiledb.com/contact), or [follow us on Twitter](https://twitter.com/tiledb) to stay informed of updates and news.
16 changes: 3 additions & 13 deletions bootstrap
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ while test $# != 0; do
--dependency=*) dir=`arg "$1"`
dependency_dir="$dir";;
--linkage=*) linkage=`arg "$1"`;;
--force-build-all-deps) echo "Argument '--force-build-all-deps' has no effect and will be removed in a future version. Vcpkg builds all dependencies by default, please consult the guide in doc/dev/BUILD.md or vcpkg's documentation to see how to provide your own dependencies.";;
--force-build-all-deps) echo "Argument '--force-build-all-deps' has no effect and will be removed in a future version. Vcpkg builds all dependencies by default, please consult the guide in doc/main/BUILD.md or vcpkg's documentation to see how to provide your own dependencies.";;
--remove-deprecations) tiledb_remove_deprecations="ON";;
--disable-werror) tiledb_werror="OFF";;
--disable-tests) tiledb_tests="OFF";;
Expand Down Expand Up @@ -205,27 +205,17 @@ if [[ x"${CXX}" = x"" ]]; then
CXX=g++
fi

c_compiler=`which ${CC}`
cxx_compiler=`which ${CXX}`
cmake=`which cmake`

if [[ ! -x ${c_compiler} ]]; then
die "cannot find c compiler"
fi

if [[ ! -x ${cxx_compiler} ]]; then
die "cannot find cplusplus compiler"
fi

if [[ ! -x ${cmake} ]]; then
die "cannot find cmake"
fi

# Configure
${cmake} -DCMAKE_BUILD_TYPE=${build_type} \
-DCMAKE_INSTALL_PREFIX="${prefix_dirs}" \
-DCMAKE_C_COMPILER="${c_compiler}" \
-DCMAKE_CXX_COMPILER="${cxx_compiler}" \
-DCMAKE_C_COMPILER="${CC}" \
-DCMAKE_CXX_COMPILER="${CXX}" \
-DCMAKE_PREFIX_PATH="${dependency_dir}" \
-DBUILD_SHARED_LIBS=${build_shared_libs} \
-DTILEDB_ASSERTIONS=${tiledb_assertions} \
Expand Down
1 change: 1 addition & 0 deletions ports/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,4 @@ For ease of review when patching existing ports, you are recommended to make one
| `aws-sdk-cpp` | Patching to fix MinGW build failures, and to avoid building test-only SDKs (https://github.com/aws/aws-sdk-cpp/pull/3061). |
| `libmagic` | Using a custom CMake-based port that is not accepted upstream. |
| `libfaketime` | Port does not yet exist upstream |
| `spdlog` | Patching to compile with `-fvisibility=hidden` |
Loading

0 comments on commit c9aa97c

Please sign in to comment.