Skip to content

Commit eab2953

Browse files
pandalee99chaokunyangadriacabezaesafakgoogle-labs-jules[bot]
authored
chore: bump version Releases 0.12.1 (#2502)
<!-- **Thanks for contributing to Fory.** **If this is your first time opening a PR on fory, you can refer to [CONTRIBUTING.md](https://github.com/apache/fory/blob/main/CONTRIBUTING.md).** Contribution Checklist - The **Apache Fory** community has requirements on the naming of pr titles. You can also find instructions in [CONTRIBUTING.md](https://github.com/apache/fory/blob/main/CONTRIBUTING.md). - Fory 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. --> ## What does this PR do? <!-- Describe the purpose of this PR. --> ## Related issues <!-- Is there any related issue? Please attach here. - #xxxx0 - #xxxx1 - #xxxx2 --> ## Does this PR introduce any user-facing change? <!-- If any user-facing interface changes, please [open an issue](https://github.com/apache/fory/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. --> --------- Co-authored-by: Shawn Yang <shawn.ck.yang@gmail.com> Co-authored-by: adri <adria.cabezasantanna@datadoghq.com> Co-authored-by: Shawn Yang <chaokunyang@apache.org> Co-authored-by: Emre Şafak <3928300+esafak@users.noreply.github.com> Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> Co-authored-by: Steven Schlansker <stevenschlansker@gmail.com> Co-authored-by: urlyy <liuyuyang0201@gmail.com> Co-authored-by: Asnowww <23301095@bjtu.edu.cn> Co-authored-by: Steven Schlansker <stevenschlansker@apache.org> Co-authored-by: opensnail <github@byteblogs.com> Co-authored-by: opensnail <598092184@qq.com>
1 parent 7e6db1e commit eab2953

47 files changed

Lines changed: 857 additions & 293 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
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+
18+
name: Build Containerized PR Wheels
19+
on:
20+
pull_request:
21+
paths: [ci/**, python/**, .github/workflows/**]
22+
push:
23+
branches: [main]
24+
paths: [ci/**, python/**, .github/workflows/**]
25+
26+
jobs:
27+
build:
28+
runs-on: ${{ matrix.os }}
29+
strategy:
30+
matrix:
31+
os: [ubuntu-latest, ubuntu-24.04-arm]
32+
steps:
33+
- uses: actions/checkout@v5
34+
- name: Build and test wheels
35+
run: ./ci/build_linux_wheels.py --arch ${{ runner.arch }}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
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+
18+
name: Build Containerized Release Wheels
19+
on:
20+
push:
21+
tags: ['v*'] # NO PATH FILTER - critical for releases
22+
23+
jobs:
24+
build:
25+
runs-on: ${{ matrix.os }}
26+
strategy:
27+
matrix:
28+
os: [ubuntu-latest, ubuntu-24.04-arm]
29+
steps:
30+
- uses: actions/checkout@v5
31+
- name: Bump version
32+
run: ./ci/deploy.sh bump_py_version
33+
- name: Install bazel
34+
run: ./ci/run_ci.sh install_bazel
35+
- name: Build and test wheels
36+
run: ./ci/build_linux_wheels.py --arch ${{ runner.arch }} --release
37+
- name: Upload artifacts
38+
uses: actions/upload-artifact@v4
39+
with:
40+
name: pyfory-wheels-${{ matrix.os }}-${{ runner.arch }}-${{ github.ref_name }}
41+
path: dist/*.whl
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
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+
18+
name: Build Native PR Wheels
19+
on:
20+
pull_request:
21+
paths: [ci/**, python/**, .github/workflows/**]
22+
push:
23+
branches: [main]
24+
paths: [ci/**, python/**, .github/workflows/**]
25+
26+
jobs:
27+
build:
28+
runs-on: ${{ matrix.os }}
29+
strategy:
30+
matrix:
31+
os: [macos-latest, windows-latest]
32+
python-version: ['3.8', '3.13']
33+
steps:
34+
- uses: actions/checkout@v5
35+
- uses: actions/setup-python@v5
36+
with:
37+
python-version: ${{ matrix.python-version }}
38+
- name: Install bazel
39+
if: runner.os != 'Windows'
40+
run: ./ci/run_ci.sh install_bazel
41+
- name: Install bazel (Windows)
42+
if: runner.os == 'Windows'
43+
run: ./ci/run_ci.sh install_bazel_windows
44+
shell: bash
45+
- name: Build wheel
46+
run: ./ci/deploy.sh build_pyfory
47+
shell: bash
48+
- name: Install and verify wheel
49+
shell: bash
50+
run: |
51+
python -m pip install --upgrade pip
52+
pip install dist/*.whl
53+
python -c "import pyfory; print(pyfory.__version__)"
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
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+
18+
name: Build Native Release Wheels
19+
on:
20+
push:
21+
tags: ['v*'] # NO PATH FILTER - critical for releases
22+
23+
jobs:
24+
build:
25+
runs-on: ${{ matrix.os }}
26+
strategy:
27+
matrix:
28+
os: [macos-latest, windows-latest]
29+
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
30+
steps:
31+
- uses: actions/checkout@v5
32+
- name: Bump version
33+
run: ./ci/deploy.sh bump_py_version
34+
- uses: actions/setup-python@v5
35+
with:
36+
python-version: ${{ matrix.python-version }}
37+
- name: Install bazel
38+
if: runner.os != 'Windows'
39+
run: ./ci/run_ci.sh install_bazel
40+
- name: Install bazel (Windows)
41+
if: runner.os == 'Windows'
42+
run: ./ci/run_ci.sh install_bazel_windows
43+
shell: bash
44+
- name: Build wheel
45+
run: ./ci/deploy.sh build_pyfory
46+
- name: Install and verify wheel
47+
shell: bash
48+
run: |
49+
python -m pip install --upgrade pip
50+
pip install dist/*.whl
51+
python -c "import pyfory; print(pyfory.__version__)"
52+
- name: Upload artifacts
53+
uses: actions/upload-artifact@v4
54+
with:
55+
name: pyfory-wheels-${{ matrix.os }}-${{ matrix.python-version }}-${{ github.ref_name }}
56+
path: dist/*.whl

.github/workflows/ci.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
matrix:
4949
java-version: ["8", "11", "17", "21", "24"]
5050
steps:
51-
- uses: actions/checkout@v4
51+
- uses: actions/checkout@v5
5252
- name: Set up JDK ${{ matrix.java-version }}
5353
uses: actions/setup-java@v4
5454
with:
@@ -81,7 +81,7 @@ jobs:
8181
# String in openj9 1.8 share byte array by offset, fory doesn't allow it.
8282
java-version: ["21"]
8383
steps:
84-
- uses: actions/checkout@v4
84+
- uses: actions/checkout@v5
8585
- name: Set up JDK ${{ matrix.java-version }}
8686
uses: actions/setup-java@v4
8787
with:
@@ -107,7 +107,7 @@ jobs:
107107
matrix:
108108
java-version: ["21"]
109109
steps:
110-
- uses: actions/checkout@v4
110+
- uses: actions/checkout@v5
111111
- name: Set up JDK ${{ matrix.java-version }}
112112
uses: actions/setup-java@v4
113113
with:
@@ -128,7 +128,7 @@ jobs:
128128
matrix:
129129
java-version: ["17", "21", "23"]
130130
steps:
131-
- uses: actions/checkout@v4
131+
- uses: actions/checkout@v5
132132
- uses: graalvm/setup-graalvm@v1
133133
with:
134134
java-version: ${{ matrix.java-version }}
@@ -152,7 +152,7 @@ jobs:
152152
matrix:
153153
java-version: ["8", "11", "17", "21"]
154154
steps:
155-
- uses: actions/checkout@v4
155+
- uses: actions/checkout@v5
156156
- name: Set up JDK ${{ matrix.java-version }}
157157
uses: actions/setup-java@v4
158158
with:
@@ -171,7 +171,7 @@ jobs:
171171
name: Scala CI
172172
runs-on: ubuntu-latest
173173
steps:
174-
- uses: actions/checkout@v4
174+
- uses: actions/checkout@v5
175175
- name: Set up JDK8
176176
uses: actions/setup-java@v4
177177
with:
@@ -189,7 +189,7 @@ jobs:
189189
name: Integration Tests
190190
runs-on: ubuntu-latest
191191
steps:
192-
- uses: actions/checkout@v4
192+
- uses: actions/checkout@v5
193193
- name: Set up JDK8
194194
uses: actions/setup-java@v4
195195
with:
@@ -210,7 +210,7 @@ jobs:
210210
os: [ubuntu-latest, macos-13, windows-2022]
211211
runs-on: ${{ matrix.os }}
212212
steps:
213-
- uses: actions/checkout@v4
213+
- uses: actions/checkout@v5
214214
- name: Use Node.js ${{ matrix.node-version }}
215215
uses: actions/setup-node@v4
216216
with:
@@ -237,7 +237,7 @@ jobs:
237237
runs-on: ${{ matrix.os }}
238238
timeout-minutes: 45
239239
steps:
240-
- uses: actions/checkout@v4
240+
- uses: actions/checkout@v5
241241
- name: Set up Python 3.11
242242
uses: actions/setup-python@v5
243243
with:
@@ -252,7 +252,7 @@ jobs:
252252
os: [ubuntu-latest, macos-13, macos-14, windows-2022] # macos-13: x86, macos-14: arm64
253253
runs-on: ${{ matrix.os }}
254254
steps:
255-
- uses: actions/checkout@v4
255+
- uses: actions/checkout@v5
256256
- name: Set up Python 3.11
257257
uses: actions/setup-python@v5
258258
with:
@@ -267,7 +267,7 @@ jobs:
267267
python-version: [3.8, 3.12, 3.13.3]
268268
os: [ubuntu-latest, ubuntu-24.04-arm, macos-13, macos-14, windows-2022]
269269
steps:
270-
- uses: actions/checkout@v4
270+
- uses: actions/checkout@v5
271271
- name: Set up Python ${{ matrix.python-version }}
272272
uses: actions/setup-python@v5
273273
with:
@@ -286,7 +286,7 @@ jobs:
286286
matrix:
287287
go-version: ["1.13", "1.18"]
288288
steps:
289-
- uses: actions/checkout@v4
289+
- uses: actions/checkout@v5
290290
- name: Setup Go ${{ matrix.go-version }}
291291
uses: actions/setup-go@v4
292292
with:
@@ -308,7 +308,7 @@ jobs:
308308
name: Code Style Check
309309
runs-on: ubuntu-latest
310310
steps:
311-
- uses: actions/checkout@v4
311+
- uses: actions/checkout@v5
312312
- name: Set up JDK ${{ matrix.java-version }}
313313
uses: actions/setup-java@v4
314314
with:

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
runs-on: ubuntu-latest
2929
if: github.repository == 'apache/fory'
3030
steps:
31-
- uses: actions/checkout@v4
31+
- uses: actions/checkout@v5
3232
- name: Set up Maven Central Repository
3333
uses: actions/setup-java@v4
3434
with:
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
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+
18+
name: Publish Python
19+
20+
on:
21+
workflow_run:
22+
workflows: ["Build Containerized Release Wheels", "Build Native Release Wheels"]
23+
types: [completed]
24+
25+
permissions:
26+
contents: read
27+
id-token: write
28+
29+
jobs:
30+
publish-wheels:
31+
name: Publish Wheels
32+
if: ${{ github.event.workflow_run.conclusion == 'success' }}
33+
runs-on: ubuntu-latest
34+
steps:
35+
- name: Download all wheel artifacts
36+
uses: actions/download-artifact@v5
37+
with:
38+
path: downloaded_wheels
39+
40+
- name: Move wheels to a single directory
41+
shell: bash
42+
run: |
43+
mkdir dist
44+
find downloaded_wheels -type f -name "*.whl" -exec mv {} dist/ \;
45+
ls -R dist
46+
47+
- name: Publish to TestPyPI
48+
uses: pypa/gh-action-pypi-publish@release/v1
49+
if: startsWith(github.ref, 'refs/tags/') && contains(github.ref, '-')
50+
with:
51+
repository-url: https://test.pypi.org/legacy/
52+
skip-existing: true
53+
verbose: true
54+
verify-metadata: false
55+
packages-dir: dist
56+
57+
- name: Publish to PyPI
58+
uses: pypa/gh-action-pypi-publish@release/v1
59+
if: startsWith(github.ref, 'refs/tags/') && !contains(github.ref, '-')
60+
with:
61+
skip-existing: true
62+
verify-metadata: false
63+
packages-dir: dist

0 commit comments

Comments
 (0)