Skip to content

Commit db7bacb

Browse files
committed
MINOR: Move integration tests to separate workflow
1 parent 21b6a05 commit db7bacb

2 files changed

Lines changed: 129 additions & 69 deletions

File tree

.github/workflows/integration.yml

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
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: Integration
19+
20+
on:
21+
push:
22+
branches:
23+
- '**'
24+
- '!dependabot/**'
25+
tags:
26+
- '**'
27+
paths:
28+
- '.github/workflows/integration.yml'
29+
- 'pom.xml'
30+
- '**/pom.xml'
31+
- 'c/**'
32+
- 'ci/scripts/**'
33+
- 'compose.yaml'
34+
- 'flight/**'
35+
- 'format/**'
36+
- 'testing/data/**'
37+
- 'vector/**'
38+
pull_request:
39+
paths:
40+
- '.github/workflows/integration.yml'
41+
- 'pom.xml'
42+
- '**/pom.xml'
43+
- 'c/**'
44+
- 'ci/scripts/**'
45+
- 'compose.yaml'
46+
- 'flight/**'
47+
- 'format/**'
48+
- 'testing/data/**'
49+
- 'vector/**'
50+
51+
concurrency:
52+
group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }}
53+
cancel-in-progress: true
54+
55+
permissions:
56+
contents: read
57+
58+
env:
59+
DOCKER_VOLUME_PREFIX: ".docker/"
60+
61+
jobs:
62+
integration:
63+
name: AMD64 integration
64+
runs-on: ubuntu-latest
65+
timeout-minutes: 60
66+
steps:
67+
- name: Checkout Arrow
68+
uses: actions/checkout@v7
69+
with:
70+
fetch-depth: 0
71+
repository: apache/arrow
72+
submodules: recursive
73+
- name: Checkout Arrow Rust
74+
uses: actions/checkout@v7
75+
with:
76+
repository: apache/arrow-rs
77+
path: rust
78+
- name: Checkout Arrow nanoarrow
79+
uses: actions/checkout@v7
80+
with:
81+
repository: apache/arrow-nanoarrow
82+
path: nanoarrow
83+
- name: Checkout Arrow .NET
84+
uses: actions/checkout@v7
85+
with:
86+
repository: apache/arrow-dotnet
87+
path: dotnet
88+
- name: Checkout Arrow Go
89+
uses: actions/checkout@v7
90+
with:
91+
repository: apache/arrow-go
92+
path: go
93+
- name: Checkout Arrow Java
94+
uses: actions/checkout@v7
95+
with:
96+
path: java
97+
- name: Checkout Arrow JavaScript
98+
uses: actions/checkout@v7
99+
with:
100+
repository: apache/arrow-js
101+
path: js
102+
- name: Free up disk space
103+
run: |
104+
ci/scripts/util_free_space.sh
105+
- name: Cache Docker Volumes
106+
uses: actions/cache@v6
107+
with:
108+
path: .docker
109+
key: integration-conda-${{ hashFiles('cpp/**') }}
110+
restore-keys: integration-conda-
111+
- name: Setup Python
112+
uses: actions/setup-python@v6
113+
with:
114+
python-version: 3.12
115+
- name: Setup Archery
116+
run: pip install -e dev/archery[docker]
117+
- name: Execute Docker Build
118+
run: |
119+
source ci/scripts/util_enable_core_dumps.sh
120+
archery docker run \
121+
-e ARCHERY_DEFAULT_BRANCH=main \
122+
-e ARCHERY_INTEGRATION_TARGET_IMPLEMENTATIONS=java \
123+
-e ARCHERY_INTEGRATION_WITH_DOTNET=1 \
124+
-e ARCHERY_INTEGRATION_WITH_GO=1 \
125+
-e ARCHERY_INTEGRATION_WITH_JAVA=1 \
126+
-e ARCHERY_INTEGRATION_WITH_JS=1 \
127+
-e ARCHERY_INTEGRATION_WITH_NANOARROW=1 \
128+
-e ARCHERY_INTEGRATION_WITH_RUST=1 \
129+
conda-integration

.github/workflows/test.yml

Lines changed: 0 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -147,72 +147,3 @@ jobs:
147147
env:
148148
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
149149
run: ci/scripts/test.sh . build jni
150-
151-
integration:
152-
name: AMD64 integration
153-
runs-on: ubuntu-latest
154-
timeout-minutes: 60
155-
steps:
156-
- name: Checkout Arrow
157-
uses: actions/checkout@v7
158-
with:
159-
fetch-depth: 0
160-
repository: apache/arrow
161-
submodules: recursive
162-
- name: Checkout Arrow Rust
163-
uses: actions/checkout@v7
164-
with:
165-
repository: apache/arrow-rs
166-
path: rust
167-
- name: Checkout Arrow nanoarrow
168-
uses: actions/checkout@v7
169-
with:
170-
repository: apache/arrow-nanoarrow
171-
path: nanoarrow
172-
- name: Checkout Arrow .NET
173-
uses: actions/checkout@v7
174-
with:
175-
repository: apache/arrow-dotnet
176-
path: dotnet
177-
- name: Checkout Arrow Go
178-
uses: actions/checkout@v7
179-
with:
180-
repository: apache/arrow-go
181-
path: go
182-
- name: Checkout Arrow Java
183-
uses: actions/checkout@v7
184-
with:
185-
path: java
186-
- name: Checkout Arrow JavaScript
187-
uses: actions/checkout@v7
188-
with:
189-
repository: apache/arrow-js
190-
path: js
191-
- name: Free up disk space
192-
run: |
193-
ci/scripts/util_free_space.sh
194-
- name: Cache Docker Volumes
195-
uses: actions/cache@v6
196-
with:
197-
path: .docker
198-
key: integration-conda-${{ hashFiles('cpp/**') }}
199-
restore-keys: integration-conda-
200-
- name: Setup Python
201-
uses: actions/setup-python@v7
202-
with:
203-
python-version: 3.12
204-
- name: Setup Archery
205-
run: pip install -e dev/archery[docker]
206-
- name: Execute Docker Build
207-
run: |
208-
source ci/scripts/util_enable_core_dumps.sh
209-
archery docker run \
210-
-e ARCHERY_DEFAULT_BRANCH=main \
211-
-e ARCHERY_INTEGRATION_TARGET_IMPLEMENTATIONS=java \
212-
-e ARCHERY_INTEGRATION_WITH_DOTNET=1 \
213-
-e ARCHERY_INTEGRATION_WITH_GO=1 \
214-
-e ARCHERY_INTEGRATION_WITH_JAVA=1 \
215-
-e ARCHERY_INTEGRATION_WITH_JS=1 \
216-
-e ARCHERY_INTEGRATION_WITH_NANOARROW=1 \
217-
-e ARCHERY_INTEGRATION_WITH_RUST=1 \
218-
conda-integration

0 commit comments

Comments
 (0)