31
31
32
32
jobs :
33
33
34
- # Check workspace wide compile and test with default features for
35
- # mac
36
- macos :
37
- name : Test on Mac
38
- runs-on : macos-latest
39
- steps :
40
- - uses : actions/checkout@v4
41
- with :
42
- submodules : true
43
- - name : Install protoc with brew
44
- run : brew install protobuf
45
- - name : Setup Rust toolchain
46
- run : |
47
- rustup toolchain install stable --no-self-update
48
- rustup default stable
49
- - name : Run tests
50
- shell : bash
51
- run : |
52
- # do not produce debug symbols to keep memory usage down
53
- export RUSTFLAGS="-C debuginfo=0"
54
- cargo test
55
-
56
-
57
- # Check workspace wide compile and test with default features for
58
- # windows
59
- windows :
60
- name : Test on Windows
61
- runs-on : windows-latest
62
- steps :
63
- - uses : actions/checkout@v4
64
- with :
65
- submodules : true
66
- - name : Install protobuf compiler in /d/protoc
67
- shell : bash
68
- run : |
69
- mkdir /d/protoc
70
- cd /d/protoc
71
- curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v21.4/protoc-21.4-win64.zip
72
- unzip protoc-21.4-win64.zip
73
- export PATH=$PATH:/d/protoc/bin
74
- protoc --version
75
-
76
- - name : Setup Rust toolchain
77
- run : |
78
- rustup toolchain install stable --no-self-update
79
- rustup default stable
80
- - name : Run tests
81
- shell : bash
82
- run : |
83
- # do not produce debug symbols to keep memory usage down
84
- export RUSTFLAGS="-C debuginfo=0"
85
- export PATH=$PATH:/d/protoc/bin
86
- cargo test
87
-
88
-
89
34
# Run cargo fmt for all crates
90
35
lint :
91
36
name : Lint (cargo fmt)
98
43
uses : ./.github/actions/setup-builder
99
44
- name : Setup rustfmt
100
45
run : rustup component add rustfmt
101
- - name : Format arrow
102
- run : cargo fmt --all -- --check
103
- - name : Format parquet
104
- # Many modules in parquet are skipped, so check parquet separately
105
- # https://github.com/apache/arrow-rs/issues/6179
106
- working-directory : parquet
107
- run : |
108
- # if this fails, run this from the parquet directory:
109
- # cargo fmt -p parquet -- --config skip_children=true `find . -name "*.rs" \! -name format.rs`
110
- cargo fmt -p parquet -- --check --config skip_children=true `find . -name "*.rs" \! -name format.rs`
111
46
- name : Format object_store
112
- working-directory : object_store
113
47
run : cargo fmt --all -- --check
114
48
115
49
msrv :
@@ -119,32 +53,16 @@ jobs:
119
53
image : amd64/rust
120
54
steps :
121
55
- uses : actions/checkout@v4
122
- - name : Setup Rust toolchain
123
- uses : ./.github/actions/setup-builder
124
56
- name : Install cargo-msrv
125
57
run : cargo install cargo-msrv
126
58
- name : Downgrade object_store dependencies
127
- working-directory : object_store
128
59
# Necessary because tokio 1.30.0 updates MSRV to 1.63
129
60
# and url 2.5.1, updates to 1.67
130
61
run : |
131
62
cargo update -p tokio --precise 1.29.1
132
63
cargo update -p url --precise 2.5.0
133
64
cargo update -p once_cell --precise 1.20.3
134
- - name : Downgrade arrow-pyarrow-integration-testing dependencies
135
- working-directory : arrow-pyarrow-integration-testing
136
- # Necessary because half 2.5 requires rust 1.81 or newer
137
- run : |
138
- cargo update -p half --precise 2.4.0
139
- - name : Downgrade workspace dependencies
140
- # Necessary because half 2.5 requires rust 1.81 or newer
141
- run : |
142
- cargo update -p half --precise 2.4.0
143
- - name : Check all packages
65
+ - name : Check
144
66
run : |
145
- # run `cargo msrv verify --manifest-path "path/to/Cargo.toml"` to see problematic dependencies
146
- find . -mindepth 2 -name Cargo.toml | while read -r dir
147
- do
148
- echo "Checking package '$dir'"
149
- cargo msrv verify --manifest-path "$dir" --output-format=json || exit 1
150
- done
67
+ # run `cargo msrv verify` to see problems
68
+ cargo msrv verify --output-format=json || exit 1
0 commit comments