Skip to content

Commit 5fc5f16

Browse files
authored
Merge for 2.27.0-rc0 release (#608)
## Usage and product changes We merge development into master for 2.27.0-rc0 release.
2 parents ebfb645 + 52f1f68 commit 5fc5f16

File tree

105 files changed

+7233
-161
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+7233
-161
lines changed

.circleci/config.yml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,9 @@ commands:
7676
type: string
7777
steps:
7878
- run: |
79-
apt-get -y update
80-
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata
81-
apt-get -y install curl build-essential git python3 python3-pip default-jre lsof cmake file wget
79+
apt update -y
80+
DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends tzdata
81+
apt install -y curl build-essential git python3 python3-pip default-jre lsof cmake file wget
8282
curl -OL "https://github.com/bazelbuild/bazelisk/releases/download/v1.17.0/bazelisk-linux-<<parameters.bazel-arch>>"
8383
mv "bazelisk-linux-<<parameters.bazel-arch>>" /usr/local/bin/bazel
8484
chmod a+x /usr/local/bin/bazel
@@ -685,9 +685,9 @@ jobs:
685685
- install-bazel-apt:
686686
bazel-arch: amd64
687687
- run: |
688-
apt update && apt install software-properties-common
688+
apt update -y && apt install -y software-properties-common
689689
add-apt-repository ppa:deadsnakes/ppa
690-
apt update && apt install -y python3.9 python3.9-distutils python3-pip software-properties-common
690+
apt update -y && apt install -y python3.9 python3.9-distutils python3-pip software-properties-common
691691
python3.9 -m pip install -U cffi
692692
export SYNC_DEPENDENCIES_TOKEN=$REPO_GITHUB_TOKEN
693693
bazel run @vaticle_dependencies//tool/sync:dependencies -- --source ${CIRCLE_PROJECT_REPONAME}@$(cat VERSION)
@@ -708,28 +708,28 @@ workflows:
708708
- deploy-snapshot-linux-arm64:
709709
filters:
710710
branches:
711-
only: [master]
711+
only: [development, master]
712712
- deploy-snapshot-linux-x86_64:
713713
filters:
714714
branches:
715-
only: [master]
715+
only: [development, master]
716716
- deploy-snapshot-mac-arm64:
717717
filters:
718718
branches:
719-
only: [master]
719+
only: [development, master]
720720
- deploy-snapshot-mac-x86_64:
721721
filters:
722722
branches:
723-
only: [master]
723+
only: [development, master]
724724
- deploy-snapshot-windows-x86_64:
725725
filters:
726726
branches:
727-
only: [master]
727+
only: [development, master]
728728

729729
- deploy-snapshot-any:
730730
filters:
731731
branches:
732-
only: [master]
732+
only: [development, master]
733733
requires:
734734
- deploy-snapshot-linux-arm64
735735
- deploy-snapshot-linux-x86_64

.factory/automation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ build:
7373
curl -L https://github.com/doxygen/doxygen/releases/download/Release_1_10_0/doxygen-1.10.0.linux.bin.tar.gz | tar xzO doxygen-1.10.0/bin/doxygen > /var/tmp/doxygen &&
7474
sudo mv /var/tmp/doxygen /usr/local/bin/ && sudo chmod +x /usr/local/bin/doxygen
7575
bazel run @vaticle_dependencies//tool/bazelinstall:remote_cache_setup.sh
76-
DOCS_DIRS="java/docs nodejs/docs python/docs rust/docs cpp/docs"
76+
DOCS_DIRS="java/docs nodejs/docs python/docs rust/docs cpp/docs c/docs"
7777
rm -rf $DOCS_DIRS
7878
tool/docs/update.sh
7979
git add $DOCS_DIRS

RELEASE_NOTES_LATEST.md

Lines changed: 13 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Documentation: https://typedb.com/docs/drivers/rust/overview
99

1010

1111
```sh
12-
cargo add typedb-driver@2.26.6
12+
cargo add typedb-driver@2.27.0-rc0
1313
```
1414

1515

@@ -29,7 +29,7 @@ Documentation: https://typedb.com/docs/drivers/java/overview
2929
<dependency>
3030
<groupid>com.vaticle.typedb</groupid>
3131
<artifactid>typedb-driver</artifactid>
32-
<version>2.26.6</version>
32+
<version>2.27.0-rc0</version>
3333
</dependency>
3434
</dependencies>
3535
```
@@ -42,7 +42,7 @@ Documentation: https://typedb.com/docs/drivers/python/overview
4242
Available through https://pypi.org
4343

4444
```
45-
pip install typedb-driver==2.26.6
45+
pip install typedb-driver==2.27.0rc0
4646
```
4747

4848
### NodeJS driver
@@ -51,128 +51,33 @@ NPM package: https://www.npmjs.com/package/typedb-driver
5151
Documentation: https://typedb.com/docs/drivers/nodejs/overview
5252

5353
```
54-
npm install typedb-driver@2.26.6
54+
npm install typedb-driver@2.27.0-rc0
5555
```
5656

5757
### C++ driver
5858

59-
Compiled distributions comprising headers and shared libraries available at: https://cloudsmith.io/~typedb/repos/public-release/packages/?q=name:^typedb-driver-cpp+version:2.26.6
59+
Compiled distributions comprising headers and shared libraries available at: https://cloudsmith.io/~typedb/repos/public-release/packages/?q=name:^typedb-driver-cpp+version:2.27.0-rc0
6060

6161
### C driver
6262

63-
Compiled distributions comprising headers and shared libraries available at: https://cloudsmith.io/~typedb/repos/public-release/packages/?q=name:^typedb-driver-clib+version:2.26.6
63+
Compiled distributions comprising headers and shared libraries available at: https://cloudsmith.io/~typedb/repos/public-release/packages/?q=name:^typedb-driver-clib+version:2.27.0-rc0
6464
Documentation: https://typedb.com/docs/drivers/cpp/overview
6565

6666

6767
## New Features
68-
- **Update to allow Unicode TypeQL variable names**
69-
70-
We update TypeQL and tests to ensure that support for Unicode TypeQL variable names (https://github.com/vaticle/typeql/pull/310) is included.
71-
72-
73-
74-
## Bugs Fixed
75-
- **Fix Factory CI job names**
76-
77-
We fix prerequisites of the sync-dependencies job and bring the C++ behaviour test job names in concordance with the rest.
78-
79-
- **Fix native calls in python driver rules api**
80-
Fixes a bug which caused the delete, is_deleted and set_label methods on a Rule to fail.
81-
82-
83-
84-
## Code Refactors
85-
- **Consolidate Factory CI behaviour test jobs per driver language**
86-
87-
We merge individual `test-{lang}-behaviour-{domain}` jobs in FactoryCI into a single `test-{lang}-behaviour` job in order to reduce CI bootup and shutdown overhead per test.
88-
89-
We also fix mac-x86_64 Python and maven deployment tests by explicitly enforcing the use of Rosetta.
90-
91-
92-
- **Transition from standalone typedb-common to typeql/common**
93-
94-
We update Bazel dependencies and target paths following the merging of typedb-common into [vaticle/typeql](https://github.com/vaticle/typeql/) (see https://github.com/vaticle/typeql/pull/313).
95-
96-
- **Refactor C++ docs to reflect other docs**
97-
Refactors generated C++ documentation so the Iterator and Future classes are documented in the answer folder.
98-
99-
100-
- **Move deployment jobs from Factory CI to CIrcleCI**
101-
102-
We move all snapshot deployment jobs from Factory CI to CIrcleCI to ensure that assembly and deployment succeed in the same environment release deployment is performed in. We also consolidate platform independent jobs into `deploy-release/snapshot-any` to further reduce the amount of CI jobs.
103-
104-
- **Update driver Java tests to retrieve TypeDB runners as maven library**
105-
106-
We update Java tests to use the typedb-runner and typedb-cloud-runner libraries, which are now available from Maven instead of via the Git dependency on typedb-common.
107-
108-
109-
110-
## Other Improvements
111-
- **Add README to Node.js NPM package distribution**
112-
113-
- **Fix CircleCI sync-dependencies apt installation steps**
11468

115-
- **Only run CircleCI snapshot builds and tests in master**
11669

117-
- **Switch to ghr v0.16.2 (support release w/o artifacts)**
118-
119-
- **Fix maven snapshot deployment test pom version**
120-
121-
- **Update unpropagated dependencies**
122-
123-
- **Only deploy releases to cloudsmith**
124-
125-
We implement the following changes to the release process:
126-
127-
- stop uploading build artifacts to the github releases page;
128-
- update the release notes documentation links;
129-
- add C and C++ artifact download link templates to the release notes template.
130-
131-
- **Fix Factory merge artifact**
132-
133-
We remove stray line in automation.yml that appeared due to an ill-resolved merge.
134-
135-
- **Fix CircleCI sync dependencies configuration mismatch**
136-
137-
The sync-dependencies step in CircleCI used an obsolete setup step which no longer exists. This PR fixes that issue.
138-
139-
- **Sync dependencies in CI**
140-
141-
We add a sync-dependencies job to be run in CI after successful snapshot and release deployments. The job sends a request to vaticle-bot to update all downstream dependencies.
142-
143-
The snapshot dependencies sync job is run in Factory CI after all behaviour and integration tests pass. The CircleCI tests only verify deployment, which is not extensive enough verification to trigger downstream propagation, and not strictly necessary for sync as that is only affected by git dependencies.
144-
145-
The release dependencies sync job, in contrast, runs in CircleCI and only runs after all deployments have succeeded and been verified, so that all downstream deployments can be safely updated.
146-
147-
Importantly, due to the way sync-dependencies is implemented, we revert `dependencies/vaticle/repositories.bzl` from having a dedicated typedb-protocol version line for the purposes of workspace-status, back to inlined version with the sync-marker. This means that the sync-marker is performing double duty as a workspace status marker.
148-
149-
Note: this PR does _not_ update the `dependencies` repo dependency. It will be updated automatically by the bot during its first pass.
150-
151-
- **Remove use of 'sudo' in CI**
70+
## Bugs Fixed
15271

153-
- **Refactor npm installation and job limitation to prevent CircleCI OOM**
15472

155-
- **Fix npm installation and Java bootup configurations**
73+
## Code Refactors
15674

157-
- **Disable diagnostics reporting in CI**
15875

159-
- **Increase CircleCI executor size for OOM**
76+
## Other Improvements
77+
- **Enable deploy-snapshot jobs on development**
16078

161-
- **Fix NPM deploy jobs**
79+
- **Add -y to apt udpate, and replaced apt-get with apt**
16280

163-
- **Migrate artifact hosting to cloudsmith**
164-
165-
Updates artifact deployment & consumption rules to use cloudsmith (repo.typedb.com) instead of the self-hosted sonatype repository (repo.vaticle.com).
81+
- **Documentation for C driver**
82+
Adds documentation for the C driver.
16683

167-
168-
- **Move doc generation tools to bazel distribution repository**
169-
Moves bazel rules used for generating documentation into the vaticle/bazel-distribution repository
170-
171-
172-
- **Move dependencies/maven/artifacts.bzl:vaticle_artifacts to dependencies/vaticle/artifacts.bzl:maven_artifacts**
173-
174-
- **Move remotejdk bazelrc option into build/run/test to avoid affecting bazel queries**
175-
176-
- **Apply release pipeline fixes**
177-
178-

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.26.6
1+
2.27.0-rc0

c/BUILD

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,15 @@ load("@vaticle_dependencies//builder/rust:rules.bzl", "rust_cbindgen")
2626
load("@vaticle_dependencies//tool/checkstyle:rules.bzl", "checkstyle_test")
2727

2828
load("@vaticle_bazel_distribution//common:rules.bzl", "assemble_targz", "assemble_zip", "checksum", "assemble_versioned")
29+
load("@vaticle_bazel_distribution//docs:cpp/rules.bzl", "doxygen_docs")
2930
load("@vaticle_bazel_distribution//artifact:rules.bzl", "deploy_artifact")
3031
load("@vaticle_dependencies//distribution:deployment.bzl", "deployment")
3132
load("@rules_pkg//:pkg.bzl", "pkg_tar")
3233
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
3334
load("@vaticle_bazel_distribution//platform:constraints.bzl", "constraint_linux_arm64", "constraint_linux_x86_64",
3435
"constraint_mac_arm64", "constraint_mac_x86_64", "constraint_win_x86_64")
36+
load("//c:docs_structure.bzl", "dir_mapping", "force_file")
37+
load("//tool/docs:c/rules.bzl", "doxygen_c_to_adoc")
3538

3639
clib_srcs = glob(["src/**/*.rs"])
3740

@@ -217,6 +220,30 @@ alias(
217220
})
218221
)
219222

223+
filegroup(
224+
name = "_typedb_driver_h_only",
225+
srcs = [":typedb_driver_clib_headers"],
226+
output_group = "header"
227+
)
228+
229+
doxygen_docs(
230+
name = "docs_html",
231+
project_name = "TypeDB C Driver",
232+
sources = [":_typedb_driver_h_only"],
233+
main_page_md = ":README.md",
234+
tags = ["manual"],
235+
236+
)
237+
238+
doxygen_c_to_adoc(
239+
name = "docs_adoc",
240+
data = [":docs_html"],
241+
docs_dirs = dir_mapping,
242+
force_file = force_file,
243+
output_dir = "c/docs",
244+
tags = ["manual"]
245+
)
246+
220247
checkstyle_test(
221248
name = "checkstyle",
222249
size = "small",
@@ -225,7 +252,7 @@ checkstyle_test(
225252
"src/**/*",
226253
"swig/*",
227254
]),
228-
exclude = [".clang-format", "README.md"],
255+
exclude = [".clang-format", "README.md"] + glob(["docs/**/*.adoc"]),
229256
license_type = "apache-header",
230257
)
231258

c/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Types which have `*_close` methods will be freed on close.
4747
```c
4848
...
4949
string_free(gotName);
50-
database_drop(database); // Not to be confused with database_delete.
50+
database_close(database);
5151
database_manager_drop(databaseManager);
5252
connection_close(connection);
5353
```

c/cbindgen.toml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,31 @@
2222
language = "C"
2323

2424
autogen_warning = "/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */"
25+
header = """
26+
/*
27+
* Copyright (C) 2022 Vaticle
28+
*
29+
* Licensed to the Apache Software Foundation (ASF) under one
30+
* or more contributor license agreements. See the NOTICE file
31+
* distributed with this work for additional information
32+
* regarding copyright ownership. The ASF licenses this file
33+
* to you under the Apache License, Version 2.0 (the
34+
* "License"); you may not use this file except in compliance
35+
* with the License. You may obtain a copy of the License at
36+
*
37+
* http://www.apache.org/licenses/LICENSE-2.0
38+
*
39+
* Unless required by applicable law or agreed to in writing,
40+
* software distributed under the License is distributed on an
41+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
42+
* KIND, either express or implied. See the License for the
43+
* specific language governing permissions and limitations
44+
* under the License.
45+
*/
46+
"""
47+
trailer = "/** @file */ // Tells doxygen to document this file."
48+
documentation = true
49+
documentation_style = "doxy"
2550

2651
[parse]
2752
parse_deps = true

0 commit comments

Comments
 (0)