Skip to content

Commit fae0633

Browse files
chaokunyangpjfanningLiangliangSuiPragmaTwiceMunoon
authored
chore: update releases-0.5.0 to latest main branch (#1532)
## What does this PR do? This PR update `releases-0.5.0` branch to lastest `main` branch and bump version to `0.5.0`. This PR also diabled automatic python release since we don't release python wheel for 0.5.0 ## Related issues #1389 ## Does this PR introduce any user-facing change? <!-- If any user-facing interface changes, please [open an issue](https://github.com/apache/incubator-fury/issues/new/choose) describing the need to do so and update the document if necessary. --> - [ ] Does this PR introduce any public API change? - [ ] Does this PR introduce any binary protocol compatibility change? ## Benchmark <!-- When the PR has an impact on performance (if you don't know whether the PR will have an impact on performance, you can submit the PR first, and if it will have impact on performance, the code reviewer will explain it), be sure to attach a benchmark data here. --> --------- Signed-off-by: LiangliangSui <[email protected]> Co-authored-by: PJ Fanning <[email protected]> Co-authored-by: LiangliangSui <[email protected]> Co-authored-by: Twice <[email protected]> Co-authored-by: Nikita Ivchenko <[email protected]> Co-authored-by: PAN <[email protected]> Co-authored-by: weipeng <[email protected]>
1 parent ced685c commit fae0633

File tree

292 files changed

+10275
-8028
lines changed

Some content is hidden

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

292 files changed

+10275
-8028
lines changed

.asf.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
github:
2121
description: >-
22-
A blazing fast multi-language serialization framework powered by JIT and zero-copy.
22+
A blazingly fast multi-language serialization framework powered by JIT and zero-copy.
2323
homepage: https://fury.apache.org/
2424
labels:
2525
- javascript
@@ -61,7 +61,7 @@ github:
6161
releases-0.2.1: {}
6262
releases-0.2.0: {}
6363
releases-0.1.2: {}
64-
64+
6565
notifications:
6666
6767

.bazelrc

+17
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
118
# Must be first. Enables build:windows, build:linux, build:macos, build:freebsd, build:openbsd
219
build --enable_platform_specific_config
320
###############################################################################

.flake8

+17
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
118
[flake8]
219
exclude =
320
python/build/

.github/ISSUE_TEMPLATE/feature_request.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ assignees: ''
88
---
99

1010
## Is your feature request related to a problem? Please describe.
11-
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
11+
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
1212

1313
## Describe the solution you'd like
14-
A clear and concise description of what you want to happen.
14+
<!-- A clear and concise description of what you want to happen. -->
1515

1616
## Additional context
17-
Add any other context or screenshots about the feature request here.
17+
<!-- Add any other context or screenshots about the feature request here. -->

.github/pull_request_template.md

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<!--
2+
**Thanks for contributing to Fury.**
3+
4+
**If this is your first time opening a PR on fury, you can refer to [CONTRIBUTING.md](https://github.com/apache/incubator-fury/blob/main/CONTRIBUTING.md).**
5+
6+
Contribution Checklist
7+
8+
- The **Apache Fury (incubating)** community has restrictions on the naming of pr titles. You can also find instructions in [CONTRIBUTING.md](https://github.com/apache/incubator-fury/blob/main/CONTRIBUTING.md).
9+
10+
- Fury has a strong focus on performance. If the PR you submit will have an impact on performance, please benchmark it first and provide the benchmark result here.
11+
-->
12+
13+
## What does this PR do?
14+
15+
<!-- Describe the purpose of this PR. -->
16+
17+
18+
## Related issues
19+
20+
<!--
21+
Is there any related issue? Please attach here.
22+
23+
- #xxxx0
24+
- #xxxx1
25+
- #xxxx2
26+
-->
27+
28+
29+
## Does this PR introduce any user-facing change?
30+
31+
<!--
32+
If any user-facing interface changes, please [open an issue](https://github.com/apache/incubator-fury/issues/new/choose) describing the need to do so and update the document if necessary.
33+
-->
34+
35+
- [ ] Does this PR introduce any public API change?
36+
- [ ] Does this PR introduce any binary protocol compatibility change?
37+
38+
39+
## Benchmark
40+
41+
<!--
42+
When the PR has an impact on performance (if you don't know whether the PR will have an impact on performance, you can submit the PR first, and if it will have impact on performance, the code reviewer will explain it), be sure to attach a benchmark data here.
43+
-->

.github/sync.yml

+2
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,7 @@
1818
apache/incubator-fury-site@main:
1919
- source: docs/guide/
2020
dest: docs/guide/
21+
- source: docs/specification/
22+
dest: docs/specification/
2123
- source: docs/benchmarks/
2224
dest: static/img/benchmarks/

.github/workflows/ci.yml

+44-21
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ jobs:
4848
matrix:
4949
java-version: ["8", "11", "17", "21"]
5050
steps:
51-
- uses: actions/checkout@v3
51+
- uses: actions/checkout@v4
5252
- name: Set up JDK ${{ matrix.java-version }}
53-
uses: actions/setup-java@v3
53+
uses: actions/setup-java@v4
5454
with:
5555
java-version: ${{ matrix.java-version }}
5656
distribution: 'temurin'
@@ -62,12 +62,35 @@ jobs:
6262
run: ./ci/run_ci.sh install_pyfury
6363
- name: Run CI with Maven
6464
run: ./ci/run_ci.sh java${{ matrix.java-version }}
65-
65+
openj9:
66+
name: Openj9 Java CI
67+
runs-on: ubuntu-latest
68+
env:
69+
MY_VAR: "PATH"
70+
strategy:
71+
matrix:
72+
# String in openj9 1.8 share byte array by offset, fury doesn't allow it.
73+
java-version: ["21"]
74+
steps:
75+
- uses: actions/checkout@v4
76+
- name: Set up JDK ${{ matrix.java-version }}
77+
uses: actions/setup-java@v4
78+
with:
79+
java-version: ${{ matrix.java-version }}
80+
distribution: 'adopt-openj9'
81+
- name: Install bazel
82+
run: ./ci/run_ci.sh install_bazel
83+
- name: Install python
84+
run: ./ci/run_ci.sh install_python
85+
- name: Install pyfury
86+
run: ./ci/run_ci.sh install_pyfury
87+
- name: Run CI with Maven
88+
run: ./ci/run_ci.sh java${{ matrix.java-version }}
6689
graalvm:
6790
name: GraalVM CI
6891
runs-on: ubuntu-latest
6992
steps:
70-
- uses: actions/checkout@v3
93+
- uses: actions/checkout@v4
7194
- uses: graalvm/setup-graalvm@v1
7295
with:
7396
java-version: '21'
@@ -81,14 +104,14 @@ jobs:
81104
name: Scala CI
82105
runs-on: ubuntu-latest
83106
steps:
84-
- uses: actions/checkout@v3
107+
- uses: actions/checkout@v4
85108
- name: Set up JDK8
86-
uses: actions/setup-java@v3
109+
uses: actions/setup-java@v4
87110
with:
88111
java-version: 8
89112
distribution: 'temurin'
90113
- name: Install fury java
91-
run: cd java && mvn -T10 clean install -DskipTests && cd -
114+
run: cd java && mvn -T10 --no-transfer-progress clean install -DskipTests && cd -
92115
- name: Test
93116
run: |
94117
# Avoid sbt download jackson-databind error
@@ -99,9 +122,9 @@ jobs:
99122
name: Integration Tests
100123
runs-on: ubuntu-latest
101124
steps:
102-
- uses: actions/checkout@v3
125+
- uses: actions/checkout@v4
103126
- name: Set up JDK8
104-
uses: actions/setup-java@v3
127+
uses: actions/setup-java@v4
105128
with:
106129
java-version: 8
107130
distribution: 'temurin'
@@ -116,9 +139,9 @@ jobs:
116139
os: [ubuntu-latest, macos-latest, windows-2022]
117140
runs-on: ${{ matrix.os }}
118141
steps:
119-
- uses: actions/checkout@v3
142+
- uses: actions/checkout@v4
120143
- name: Use Node.js ${{ matrix.node-version }}
121-
uses: actions/setup-node@v3
144+
uses: actions/setup-node@v4
122145
with:
123146
node-version: ${{ matrix.node-version }}
124147
- name: Upgrade npm
@@ -129,7 +152,7 @@ jobs:
129152
# OS (such as macos -latest) uses python3.12 by default, so python 3.8
130153
# is used here to avoid this problem.
131154
- name: Set up Python3.8
132-
uses: actions/setup-python@v2
155+
uses: actions/setup-python@v5
133156
with:
134157
python-version: 3.8
135158
- name: Run CI with NodeJS
@@ -143,9 +166,9 @@ jobs:
143166
runs-on: ${{ matrix.os }}
144167
timeout-minutes: 45
145168
steps:
146-
- uses: actions/checkout@v3
169+
- uses: actions/checkout@v4
147170
- name: Set up Python 3.11
148-
uses: actions/setup-python@v2
171+
uses: actions/setup-python@v5
149172
with:
150173
python-version: 3.11
151174
- uses: dtolnay/rust-toolchain@nightly
@@ -159,9 +182,9 @@ jobs:
159182
os: [ubuntu-latest, macos-12, macos-14] # macos-12: x86, macos-14: arm64
160183
runs-on: ${{ matrix.os }}
161184
steps:
162-
- uses: actions/checkout@v3
185+
- uses: actions/checkout@v4
163186
- name: Set up Python 3.11
164-
uses: actions/setup-python@v2
187+
uses: actions/setup-python@v5
165188
with:
166189
python-version: 3.11
167190
- name: Run C++ CI with Bazel
@@ -175,9 +198,9 @@ jobs:
175198
matrix:
176199
python-version: [3.7, 3.12]
177200
steps:
178-
- uses: actions/checkout@v3
201+
- uses: actions/checkout@v4
179202
- name: Set up Python ${{ matrix.python-version }}
180-
uses: actions/setup-python@v2
203+
uses: actions/setup-python@v5
181204
with:
182205
python-version: ${{ matrix.python-version }}
183206
- name: Install bazel
@@ -212,16 +235,16 @@ jobs:
212235
name: Code Style Check
213236
runs-on: ubuntu-latest
214237
steps:
215-
- uses: actions/checkout@v3
238+
- uses: actions/checkout@v4
216239
- name: Set up JDK ${{ matrix.java-version }}
217-
uses: actions/setup-java@v3
240+
uses: actions/setup-java@v4
218241
with:
219242
java-version: 21
220243
distribution: 'oracle'
221244
- name: Check License Header
222245
uses: korandoru/hawkeye@v3
223246
- name: Set up Python 3.8
224-
uses: actions/setup-python@v2
247+
uses: actions/setup-python@v5
225248
with:
226249
python-version: 3.8
227250
- name: Check code style

.github/workflows/release-java-snapshot.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,11 @@ on:
2626
jobs:
2727
publish-java:
2828
runs-on: ubuntu-latest
29+
if: github.repository == 'apache/incabator-fury'
2930
steps:
3031
- uses: actions/checkout@v4
3132
- name: Set up Maven Central Repository
32-
uses: actions/setup-java@v3
33+
uses: actions/setup-java@v4
3334
with:
3435
java-version: '8'
3536
distribution: 'adopt'

.github/workflows/release.yaml

+5-4
Original file line numberDiff line numberDiff line change
@@ -20,29 +20,30 @@ name: Publish Fury
2020
on:
2121
push:
2222
tags:
23-
- 'v*'
23+
- 'disabled*'
2424

2525
jobs:
2626
release-python:
2727
name: Publish Fury Python to PyPI
2828
runs-on: ubuntu-20.04
29+
if: github.repository == 'apache/incubator-fury'
2930
environment:
3031
name: pypi
3132
url: https://pypi.org/project/pyfury
3233
strategy:
3334
matrix:
3435
python-version: [3.7, 3.8, 3.9, 3.10.12, 3.11, 3.12]
3536
steps:
36-
- uses: actions/checkout@v3
37+
- uses: actions/checkout@v4
3738
- name: Set up Python ${{ matrix.python-version }}
38-
uses: actions/setup-python@v2
39+
uses: actions/setup-python@v5
3940
with:
4041
python-version: ${{ matrix.python-version }}
4142
- name: Install bazel
4243
run: ./ci/run_ci.sh install_bazel
4344
- name: Update version in setup.py
4445
run: |
45-
echo "GITHUB_REF: $GITHUB_REF"
46+
echo "GITHUB_REF: $GITHUB_REF"
4647
tag=$(echo $GITHUB_REF | cut -d / -f 3)
4748
echo "tag: $tag"
4849
version=${tag:1}

BUILD

+17
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
118
load("@com_github_grpc_grpc//bazel:cython_library.bzl", "pyx_library")
219

320

CONTRIBUTING.md

+4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ For example, here are good PR titles:
1818
- fix(c++): blablabla
1919
- chore(python): remove useless yyy file
2020

21+
If the submitted PR affects the performance of Fury, we strongly recommend using the perf type,
22+
and need to provide benchmark data in the PR description. For how to run the benchmark,
23+
please check [Fury Java Benchmark](https://github.com/apache/incubator-fury/blob/main/java/benchmark/README.md).
24+
2125
For more details, please check [pr-lint.yml](./.github/workflows/pr-lint.yml).
2226

2327
## Testing

0 commit comments

Comments
 (0)