Skip to content

Commit ecd5ccc

Browse files
authored
ci: add CI/CD workflows, dependabot, labeler + release-please for core/ layout (#2216)
1 parent 0184f8c commit ecd5ccc

35 files changed

Lines changed: 1514 additions & 1208 deletions
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
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: Prepare Rust Builder
19+
description: 'Prepare Rust Build Environment'
20+
inputs:
21+
rust-version:
22+
description: 'version of rust to install (e.g. stable)'
23+
required: true
24+
default: 'stable'
25+
runs:
26+
using: "composite"
27+
steps:
28+
- name: Install Build Dependencies
29+
shell: bash
30+
run: |
31+
apt-get update
32+
- name: Setup Rust toolchain
33+
shell: bash
34+
# rustfmt is needed for the substrait build script
35+
run: |
36+
echo "Installing ${{ inputs.rust-version }}"
37+
rustup toolchain install ${{ inputs.rust-version }}
38+
rustup default ${{ inputs.rust-version }}
39+
rustup component add rustfmt
40+
- name: Configure rust runtime env
41+
uses: ./.github/actions/rust/setup-rust-runtime
42+
- name: Fixup git permissions
43+
# https://github.com/actions/checkout/issues/766
44+
shell: bash
45+
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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: Prepare Rust Builder for MacOS
19+
description: 'Prepare Rust Build Environment for MacOS'
20+
inputs:
21+
rust-version:
22+
description: 'version of rust to install (e.g. stable)'
23+
required: true
24+
default: 'stable'
25+
runs:
26+
using: "composite"
27+
steps:
28+
- name: Setup Rust toolchain
29+
shell: bash
30+
run: |
31+
rustup update stable
32+
rustup toolchain install stable
33+
rustup default stable
34+
rustup component add rustfmt
35+
- name: Configure rust runtime env
36+
uses: ./.github/actions/rust/setup-rust-runtime
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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: Prepare Rust Builder for MacOS
19+
description: 'Prepare Rust Build Environment for MacOS'
20+
inputs:
21+
rust-version:
22+
description: 'version of rust to install (e.g. stable)'
23+
required: true
24+
default: 'stable'
25+
runs:
26+
using: "composite"
27+
steps:
28+
- name: Setup Rust toolchain
29+
shell: bash
30+
run: |
31+
rustup update stable
32+
rustup toolchain install stable
33+
rustup default stable
34+
rustup component add rustfmt
35+
- name: Configure rust runtime env
36+
uses: ./.github/actions/rust/setup-rust-runtime
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
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: Setup Rust Runtime
19+
description: 'Setup Rust Runtime Environment'
20+
runs:
21+
using: "composite"
22+
steps:
23+
- name: Configure runtime env
24+
shell: bash
25+
run: |
26+
echo "RUST_BACKTRACE=1" >> $GITHUB_ENV
27+
echo "RUSTFLAGS=-C debuginfo=line-tables-only -C incremental=false" >> $GITHUB_ENV
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
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: Prepare Rust Builder for Windows
19+
description: 'Prepare Rust Build Environment for Windows'
20+
21+
runs:
22+
using: "composite"
23+
steps:
24+
- name: Setup Rust toolchain
25+
shell: bash
26+
run: |
27+
# Avoid self update to avoid CI failures: https://github.com/apache/datafusion/issues/9653
28+
rustup toolchain install stable --no-self-update
29+
rustup default stable
30+
rustup component add rustfmt
31+
- name: Configure rust runtime env
32+
uses: ./.github/actions/rust/setup-rust-runtime

.github/dependabot.yaml

Lines changed: 0 additions & 16 deletions
This file was deleted.

.github/dependabot.yml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "pip"
4+
directory: "/core/wren-core-py"
5+
schedule:
6+
interval: "weekly"
7+
groups:
8+
all:
9+
patterns: ["*"]
10+
commit-message:
11+
prefix: "deps(core-py)"
12+
labels:
13+
- "dependencies"
14+
- "python"
15+
- "core"
16+
17+
- package-ecosystem: "pip"
18+
directory: "/core/wren"
19+
schedule:
20+
interval: "weekly"
21+
groups:
22+
all:
23+
patterns: ["*"]
24+
commit-message:
25+
prefix: "deps(wren)"
26+
labels:
27+
- "dependencies"
28+
- "python"
29+
- "core"
30+
31+
- package-ecosystem: "cargo"
32+
directory: "/core/wren-core"
33+
schedule:
34+
interval: "weekly"
35+
groups:
36+
all:
37+
patterns: ["*"]
38+
commit-message:
39+
prefix: "deps(core)"
40+
labels:
41+
- "dependencies"
42+
- "rust"
43+
- "core"
44+
45+
- package-ecosystem: "cargo"
46+
directory: "/core/wren-core-base"
47+
schedule:
48+
interval: "weekly"
49+
groups:
50+
all:
51+
patterns: ["*"]
52+
commit-message:
53+
prefix: "deps(core)"
54+
labels:
55+
- "dependencies"
56+
- "rust"
57+
- "core"
58+
59+
- package-ecosystem: "cargo"
60+
directory: "/core/wren-core-wasm"
61+
schedule:
62+
interval: "weekly"
63+
groups:
64+
all:
65+
patterns: ["*"]
66+
commit-message:
67+
prefix: "deps(wasm)"
68+
labels:
69+
- "dependencies"
70+
- "rust"
71+
- "core"
72+
73+
- package-ecosystem: "github-actions"
74+
directory: "/"
75+
schedule:
76+
interval: "weekly"
77+
commit-message:
78+
prefix: "deps(ci)"
79+
labels:
80+
- "dependencies"
81+
- "ci"

.github/labeler.yml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# PR auto-labels driven by changed files.
2+
# Used by .github/workflows/labeler.yaml (actions/labeler).
3+
4+
core:
5+
- changed-files:
6+
- any-glob-to-any-file:
7+
- "core/**"
8+
9+
rust:
10+
- changed-files:
11+
- any-glob-to-any-file:
12+
- "core/wren-core/**"
13+
- "core/wren-core-base/**"
14+
- "core/wren-core-wasm/**"
15+
16+
python:
17+
- changed-files:
18+
- any-glob-to-any-file:
19+
- "core/wren-core-py/**"
20+
- "core/wren/**"
21+
22+
wasm:
23+
- changed-files:
24+
- any-glob-to-any-file:
25+
- "core/wren-core-wasm/**"
26+
27+
skills:
28+
- changed-files:
29+
- any-glob-to-any-file:
30+
- "skills/**"
31+
32+
sdk:
33+
- changed-files:
34+
- any-glob-to-any-file:
35+
- "sdks/**"
36+
37+
"sdk:langchain":
38+
- changed-files:
39+
- any-glob-to-any-file:
40+
- "sdks/integrations/langchain/**"
41+
42+
"sdk:crewai":
43+
- changed-files:
44+
- any-glob-to-any-file:
45+
- "sdks/integrations/crewai/**"
46+
47+
"sdk:pydantic":
48+
- changed-files:
49+
- any-glob-to-any-file:
50+
- "sdks/integrations/pydantic/**"
51+
52+
"sdk:goose":
53+
- changed-files:
54+
- any-glob-to-any-file:
55+
- "sdks/integrations/goose/**"
56+
57+
"sdk:llamaindex":
58+
- changed-files:
59+
- any-glob-to-any-file:
60+
- "sdks/integrations/llamaindex/**"
61+
62+
"sdk:mastra":
63+
- changed-files:
64+
- any-glob-to-any-file:
65+
- "sdks/integrations/mastra/**"
66+
67+
documentation:
68+
- changed-files:
69+
- any-glob-to-any-file:
70+
- "docs/**"
71+
- "**/*.md"
72+
73+
examples:
74+
- changed-files:
75+
- any-glob-to-any-file:
76+
- "examples/**"
77+
78+
ci:
79+
- changed-files:
80+
- any-glob-to-any-file:
81+
- ".github/**"
82+
83+
dependencies:
84+
- changed-files:
85+
- any-glob-to-any-file:
86+
- "**/Cargo.toml"
87+
- "**/Cargo.lock"
88+
- "**/pyproject.toml"
89+
- "**/poetry.lock"
90+
- "**/uv.lock"
91+
- "**/package.json"
92+
- "**/yarn.lock"
93+
- "**/pnpm-lock.yaml"

0 commit comments

Comments
 (0)