Skip to content

Commit e65f556

Browse files
Merge for 2.26.6-rc0 release (#316)
## Usage and product changes We merge for the 2.26.6-rc0 release.
2 parents 025798c + 152dfc4 commit e65f556

31 files changed

+1503
-73
lines changed

.factory/automation.yml

Lines changed: 38 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,13 @@ config:
2323
version-candidate: VERSION
2424
dependencies:
2525
dependencies: [build]
26-
typedb-common: [build, release]
2726
typedb-behaviour: [build]
2827

2928
build:
3029
quality:
3130
filter:
3231
owner: vaticle
33-
branch: master
32+
branch: [master, development]
3433
dependency-analysis:
3534
image: vaticle-ubuntu-22.04
3635
command: |
@@ -68,7 +67,7 @@ build:
6867
deploy-crate-snapshot:
6968
filter:
7069
owner: vaticle
71-
branch: master
70+
branch: [master, development]
7271
image: vaticle-ubuntu-22.04
7372
dependencies: [build, build-dependency, test-rust]
7473
command: |
@@ -78,7 +77,7 @@ build:
7877
deploy-maven-snapshot:
7978
filter:
8079
owner: vaticle
81-
branch: master
80+
branch: [master, development]
8281
image: vaticle-ubuntu-22.04
8382
dependencies: [build, build-dependency, test-java]
8483
command: |
@@ -92,10 +91,11 @@ build:
9291
bazel run --define version=$(git rev-parse HEAD) //java/query:deploy-maven -- snapshot
9392
bazel run --define version=$(git rev-parse HEAD) //java/parser:deploy-maven -- snapshot
9493
bazel run --define version=$(git rev-parse HEAD) //java:deploy-maven -- snapshot
94+
bazel run --define version=$(git rev-parse HEAD) //common/java:deploy-maven -- snapshot
9595
deploy-pip-snapshot:
9696
filter:
9797
owner: vaticle
98-
branch: master
98+
branch: [master, development]
9999
image: vaticle-ubuntu-20.04
100100
dependencies: [ build, build-dependency ]
101101
command: |
@@ -105,21 +105,35 @@ build:
105105
test-deployment-maven:
106106
filter:
107107
owner: vaticle
108-
branch: master
108+
branch: [master, development]
109109
image: vaticle-ubuntu-22.04
110110
dependencies: [deploy-maven-snapshot]
111111
command: |
112-
sed -i -e "s/TYPEQL_LANG_VERSION_MARKER/$FACTORY_COMMIT/g" java/test/deployment/pom.xml
112+
sed -i -e "s/TYPEQL_LANG_VERSION_MARKER/0.0.0-$FACTORY_COMMIT/g" java/test/deployment/pom.xml
113113
cd java/test/deployment/ && mvn test
114+
sync-dependencies:
115+
image: vaticle-ubuntu-22.04
116+
filter:
117+
owner: vaticle
118+
branch: [master, development]
119+
dependencies:
120+
- build
121+
- build-dependency
122+
- test-java
123+
- test-rust
124+
- deploy-crate-snapshot
125+
- deploy-maven-snapshot
126+
- deploy-pip-snapshot
127+
- test-deployment-maven
128+
command: |
129+
export SYNC_DEPENDENCIES_TOKEN=$REPO_GITHUB_TOKEN
130+
bazel run @vaticle_dependencies//tool/sync:dependencies -- --source ${FACTORY_REPO}@${FACTORY_COMMIT}
114131
115132
release:
116133
filter:
117134
owner: vaticle
118135
branch: master
119136
validation:
120-
validate-dependencies:
121-
image: vaticle-ubuntu-22.04
122-
command: bazel test //java:release-validate-deps --test_output=streamed
123137
validate-release-notes:
124138
image: vaticle-ubuntu-22.04
125139
command: |
@@ -158,10 +172,24 @@ release:
158172
bazel run --define version=$(cat VERSION) //java/query:deploy-maven -- release
159173
bazel run --define version=$(cat VERSION) //java/parser:deploy-maven -- release
160174
bazel run --define version=$(cat VERSION) //java:deploy-maven -- release
175+
bazel run --define version=$(cat VERSION) //common/java:deploy-maven -- release
161176
deploy-pip-release:
162177
image: vaticle-ubuntu-20.04
163178
dependencies: [ deploy-github ]
164179
command: |
165180
export DEPLOY_PIP_USERNAME=$REPO_PYPI_USERNAME
166181
export DEPLOY_PIP_PASSWORD=$REPO_PYPI_PASSWORD
167182
bazel run --define version=$(cat VERSION) //grammar/python:deploy-pip -- release
183+
sync-dependencies-release:
184+
image: vaticle-ubuntu-22.04
185+
filter:
186+
owner: vaticle
187+
branch: [master, development]
188+
dependencies:
189+
- deploy-github
190+
- deploy-crate-release
191+
- deploy-maven-release
192+
- deploy-pip-release
193+
command: |
194+
export SYNC_DEPENDENCIES_TOKEN=$REPO_GITHUB_TOKEN
195+
bazel run @vaticle_dependencies//tool/sync:dependencies -- --source ${FACTORY_REPO}@$(cat VERSION)

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,4 @@
1-
**For the title of this PR:** please follow the grammatical rules of a usual publication title, without capitalisation (except for the first letter). Thus, the title should NOT CONTAIN CODE: no dots, no parentheses, no backticks, no brackets, etc. It needs to be distinctive (not detailed) and succinct (not lengthy). Details of this PR will go in the description. **For the description of this PR:** please replace every line in curly brackets ( { like this } ) with an appropriate description following the guidance. Finally, **please remove this paragraph**.
1+
## Usage and product changes
22

3-
## What is the goal of this PR?
43

5-
{ In the form of a paragraph (only use bullet points if strictly necessary), please describe the goal of this PR, why they are valuable to achieve, and reference the related GitHub issues. This section will be automatically compiled into the release notes, so please:
6-
- describe the impact of the change in this PR to the _user_ of this repository (e.g. end user, contributor, developer).
7-
- describe the new product behaviour in _present tense_, and the old behaviour and how it's been changed in _past tense_.
8-
- Use the _Royal We_: _"We"_ made changes, not _"I"_ made changes. }
9-
10-
## What are the changes implemented in this PR?
11-
12-
{ Please explain what you implemented, why your changes are the best way to achieve the goal(s) above. Please describe every method, class and package, by explaining:
13-
- its responsibility,
14-
- how it's expected to behave, and
15-
- how it relates to the adjacent methods/classes/packages it interacts with.
16-
17-
This would allow the reviewer to understand your intentions in the code much better. If you're adding new classes, make sure these explanations are also included in the class header comments. Last but not least, please reference the GitHub issues to be automatically closed, such like 'closes #number'. }
4+
## Implementation

RELEASE_NOTES_LATEST.md

Lines changed: 36 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
Available through https://crates.io/crates/typeql.
55
```
6-
cargo add typeql@2.25.8
6+
cargo add typeql@2.26.6-rc0
77
```
88

99
## TypeQL Grammar and Language Library distributions for Java
@@ -20,12 +20,12 @@ cargo add [email protected]
2020
<dependency>
2121
<groupId>com.vaticle.typeql</groupId>
2222
<artifactId>typeql-grammar</artifactId>
23-
<version>2.25.8</version>
23+
<version>2.26.6-rc0</version>
2424
</dependency>
2525
<dependency>
2626
<groupId>com.vaticle.typeql</groupId>
2727
<artifactId>typeql-lang</artifactId>
28-
<version>2.25.8</version>
28+
<version>2.26.6-rc0</version>
2929
</dependency>
3030
</dependencies>
3131
```
@@ -35,33 +35,53 @@ cargo add [email protected]
3535
Available through https://pypi.org
3636

3737
```
38-
pip install typeql-grammar==2.25.8
38+
pip install typeql-grammar==2.26.6-rc0
3939
```
4040

4141

4242
## New Features
43-
43+
- **Implement non-ascii variables in Java and Rust**
44+
We update to TypeQL with Unicode support in both value and concept variables. This makes the following valid TypeQL:
45+
```
46+
match $人 isa person, has name "Liu"; get $人;
47+
```
48+
```
49+
match $אדם isa person, has name "Solomon"; get $אדם;
50+
```
51+
52+
We now require all Labels and Variables are valid unicode identifiers not starting with `_`.
53+
54+
This change is fully backwards compatible. We also validate that Type Labels and Variables created using the TypeQL language builders in both Rust and Java are conforming to our Unicode specification.
55+
56+
4457

4558
## Bugs Fixed
46-
59+
- **Fix snapshot version in test-deployment-maven**
60+
61+
We update the generated snapshot version in test-deployment-maven CI job to correspond to the updated snapshot version format.
62+
4763

4864
## Code Refactors
49-
- **Technical debt: improve error_messages, cleanup**
65+
66+
- **Merge typedb-common repository into typeql**
67+
68+
As part of the effort to reduce the number of vaticle organization repositories, we merge typedb-common into the typeql repo as a subpackage.
69+
70+
71+
## Other Improvements
72+
- **Sync dependencies in CI**
5073

51-
`error_messages!` now accepts struct enum variants, rather than tuple variants. This forces the user to name the fields and to refer to the fields by name in the format strings, reducing user error.
74+
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.
5275

76+
Note: this PR does _not_ update the `dependencies` repo dependency. It will be updated automatically by the bot during its first pass.
5377

78+
- **Set up CI filters for master-development workflow**
5479

55-
## Other Improvements
56-
- **Update README.md**
57-
58-
- **Update readme: fix the forum badge**
80+
- **Migrate artifact hosting to cloudsmith**
81+
Updates artifact deployment & consumption rules to use cloudsmith instead of the self-hosted sonatype repository.
82+
5983

60-
Update the readme file to fix the forum badge.
6184

6285

63-
- **Fixed badges in README.md to refer to TypeQL**
64-
65-
6686

6787

VERSION

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

WORKSPACE

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,12 +134,10 @@ install_uploader_deps()
134134
# Load @vaticle dependencies #
135135
################################
136136

137-
load("//dependencies/vaticle:repositories.bzl", "vaticle_typedb_common", "vaticle_typedb_behaviour")
138-
vaticle_typedb_common()
137+
load("//dependencies/vaticle:repositories.bzl", "vaticle_typedb_behaviour")
139138
vaticle_typedb_behaviour()
140139

141140
load("@vaticle_dependencies//tool/common:deps.bzl", vaticle_dependencies_tool_maven_artifacts = "maven_artifacts")
142-
load("@vaticle_typedb_common//dependencies/maven:artifacts.bzl", vaticle_typedb_common_artifacts = "artifacts")
143141

144142
############################
145143
# Load @maven dependencies #
@@ -150,7 +148,6 @@ load("@vaticle_dependencies//library/maven:rules.bzl", "maven")
150148
maven(
151149
vaticle_bazel_distribution_maven_artifacts +
152150
vaticle_dependencies_tool_maven_artifacts +
153-
vaticle_typedb_common_artifacts +
154151
vaticle_typeql_artifacts
155152
)
156153

common/BUILD

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#
2+
# Copyright (C) 2022 Vaticle
3+
#
4+
# Licensed to the Apache Software Foundation (ASF) under one
5+
# or more contributor license agreements. See the NOTICE file
6+
# distributed with this work for additional information
7+
# regarding copyright ownership. The ASF licenses this file
8+
# to you under the Apache License, Version 2.0 (the
9+
# "License"); you may not use this file except in compliance
10+
# with the License. You may obtain a copy of the License at
11+
#
12+
# http://www.apache.org/licenses/LICENSE-2.0
13+
#
14+
# Unless required by applicable law or agreed to in writing,
15+
# software distributed under the License is distributed on an
16+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17+
# KIND, either express or implied. See the License for the
18+
# specific language governing permissions and limitations
19+
# under the License.
20+
#
21+
22+
load("@vaticle_dependencies//tool/checkstyle:rules.bzl", "checkstyle_test")
23+
24+
checkstyle_test(
25+
name = "checkstyle",
26+
include = ["BUILD"],
27+
license_type = "apache-header",
28+
)
29+
30+

common/java/BUILD

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
#
2+
# Copyright (C) 2022 Vaticle
3+
#
4+
# Licensed to the Apache Software Foundation (ASF) under one
5+
# or more contributor license agreements. See the NOTICE file
6+
# distributed with this work for additional information
7+
# regarding copyright ownership. The ASF licenses this file
8+
# to you under the Apache License, Version 2.0 (the
9+
# "License"); you may not use this file except in compliance
10+
# with the License. You may obtain a copy of the License at
11+
#
12+
# http://www.apache.org/licenses/LICENSE-2.0
13+
#
14+
# Unless required by applicable law or agreed to in writing,
15+
# software distributed under the License is distributed on an
16+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17+
# KIND, either express or implied. See the License for the
18+
# specific language governing permissions and limitations
19+
# under the License.
20+
#
21+
22+
exports_files(["VERSION"], visibility = ["//visibility:public"])
23+
load("@vaticle_bazel_distribution//maven:rules.bzl", "assemble_maven", "deploy_maven")
24+
load("@vaticle_dependencies//distribution/maven:version.bzl", "version")
25+
load("@vaticle_dependencies//library/maven:artifacts.bzl", "artifacts")
26+
load("@vaticle_dependencies//tool/checkstyle:rules.bzl", "checkstyle_test")
27+
load("@vaticle_dependencies//distribution:deployment.bzl", "deployment")
28+
29+
java_library(
30+
name = "common",
31+
srcs = glob([
32+
"collection/*.java",
33+
"concurrent/*.java",
34+
"concurrent/actor/*.java",
35+
"concurrent/actor/eventloop/*.java",
36+
"exception/*.java",
37+
"util/*.java",
38+
"yaml/*.java",
39+
]),
40+
deps = [
41+
"@maven//:org_yaml_snakeyaml",
42+
],
43+
visibility = ["//visibility:public"],
44+
tags = [
45+
"maven_coordinates=com.vaticle.typedb:typedb-common:{pom_version}",
46+
],
47+
)
48+
49+
assemble_maven(
50+
name = "assemble-maven",
51+
target = ":common",
52+
workspace_refs = "@vaticle_typeql_workspace_refs//:refs.json",
53+
version_overrides = version(artifacts_org = artifacts, artifacts_repo={}),
54+
project_name = "TypeDB Common",
55+
project_description = "TypeDB Common classes and tools",
56+
project_url = "https://github.com/vaticle/typeql",
57+
scm_url = "https://github.com/vaticle/typeql",
58+
)
59+
60+
deploy_maven(
61+
name = "deploy-maven",
62+
target = ":assemble-maven",
63+
snapshot = deployment['maven']['snapshot']['upload'],
64+
release = deployment['maven']['release']['upload']
65+
)
66+
67+
checkstyle_test(
68+
name = "checkstyle",
69+
include = glob([
70+
"BUILD",
71+
"collection/*",
72+
"concurrent/*",
73+
"concurrent/actor/*.java",
74+
"concurrent/actor/eventloop/*.java",
75+
"exception/*",
76+
"util/*",
77+
"yaml/*.java"
78+
]),
79+
license_type = "apache-header",
80+
)

0 commit comments

Comments
 (0)