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
19
+
20
+ on :
21
+ push :
22
+ tags :
23
+ - ' *'
24
+ workflow_dispatch :
25
+
26
+ env :
27
+ rust_msrv : " 1.77.1"
28
+
29
+ jobs :
30
+ publish :
31
+ runs-on : ubuntu-latest
32
+ strategy :
33
+ # Publish package one by one instead of flooding the registry
34
+ max-parallel : 1
35
+ matrix :
36
+ # Order here is sensitive, as it will be used to determine the order of publishing
37
+ package :
38
+ - " crates/iceberg"
39
+ - " crates/catalog/glue"
40
+ - " crates/catalog/hms"
41
+ - " crates/catalog/memory"
42
+ - " crates/catalog/rest"
43
+ # sql is not ready for release yet.
44
+ # - "crates/catalog/sql"
45
+ - " crates/integrations/datafusion"
46
+ steps :
47
+ - uses : actions/checkout@v4
48
+
49
+ - name : Setup Rust toolchain
50
+ uses : ./.github/actions/setup-builder
51
+ with :
52
+ rust-version : ${{ env.rust_msrv }}
53
+
54
+ - name : Publish ${{ matrix.package }}
55
+ working-directory : ${{ matrix.package }}
56
+ # Only publish if it's a tag and the tag is not a pre-release
57
+ if : ${{ startsWith(github.ref, 'refs/tags/') && !contains(github.ref, '-') }}
58
+ run : cargo publish --all-features
59
+ env :
60
+ CARGO_REGISTRY_TOKEN : ${{ secrets.CARGO_REGISTRY_TOKEN }}
0 commit comments