Skip to content

Commit 5c05eed

Browse files
committed
Refactored github workflow to work with multiple hadoop versions
1 parent bfc40aa commit 5c05eed

1 file changed

Lines changed: 22 additions & 12 deletions

File tree

.github/workflows/ci.yml

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,23 @@ on:
44
push:
55
branches: "*"
66
pull_request:
7-
branches: [ main ]
7+
branches: "*"
88

99
env:
1010
CARGO_TERM_COLOR: always
1111

1212
jobs:
1313
build-and-test:
1414
runs-on: ubuntu-latest
15+
strategy:
16+
matrix:
17+
include:
18+
- hadoop_version: "3.3.6"
19+
mockito_version: "3.12.4"
20+
- hadoop_version: "3.3.4"
21+
mockito_version: "3.12.4"
22+
- hadoop_version: "3.4.1"
23+
mockito_version: "3.12.4"
1524
steps:
1625
- uses: actions/checkout@v4
1726

@@ -22,35 +31,35 @@ jobs:
2231
java-version: '11'
2332

2433
- name: Install Rust
25-
uses: actions-rs/toolchain@v1
34+
uses: dtolnay/rust-toolchain@stable
2635
with:
2736
toolchain: stable
28-
profile: minimal
2937

3038
- name: Cache downloaded archives
3139
id: cache-archives
3240
uses: actions/cache@v4
3341
with:
3442
path: |
35-
hadoop-3.3.6.tar.gz
36-
lib/mockito-core-3.12.4.jar
37-
key: ${{ runner.os }}-archives-hadoop-3.3.6-mockito-3.12.4
43+
hadoop-${{ matrix.hadoop_version }}.tar.gz
44+
lib/mockito-core-${{ matrix.mockito_version }}.jar
45+
key: ${{ runner.os }}-archives-hadoop-${{ matrix.hadoop_version }}-mockito-${{ matrix.mockito_version }}
3846

3947
- name: Download Hadoop
4048
if: steps.cache-archives.outputs.cache-hit != 'true'
41-
run: wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
49+
run: wget https://archive.apache.org/dist/hadoop/common/hadoop-${{ matrix.hadoop_version }}/hadoop-${{ matrix.hadoop_version }}.tar.gz
4250

4351
- name: Download Mockito JAR
4452
if: steps.cache-archives.outputs.cache-hit != 'true'
4553
run: |
4654
mkdir -p lib
47-
wget -O lib/mockito-core-3.12.4.jar https://repo1.maven.org/maven2/org/mockito/mockito-core/3.12.4/mockito-core-3.12.4.jar
55+
# This is required by MiniDFS but not provided by the hadoop distribution
56+
wget -O lib/mockito-core-${{ matrix.mockito_version }}.jar https://repo1.maven.org/maven2/org/mockito/mockito-core/${{ matrix.mockito_version }}/mockito-core-${{ matrix.mockito_version }}.jar
4857
4958
- name: Set up Hadoop
5059
run: |
51-
tar -xzf hadoop-3.3.6.tar.gz
52-
echo "HADOOP_HOME=$GITHUB_WORKSPACE/hadoop-3.3.6" >> $GITHUB_ENV
53-
echo "HADOOP_CONF_DIR=$GITHUB_WORKSPACE/hadoop-3.3.6/etc/hadoop" >> $GITHUB_ENV
60+
tar -xzf hadoop-${{ matrix.hadoop_version }}.tar.gz
61+
echo "HADOOP_HOME=$GITHUB_WORKSPACE/hadoop-${{ matrix.hadoop_version }}" >> $GITHUB_ENV
62+
echo "HADOOP_CONF_DIR=$GITHUB_WORKSPACE/hadoop-${{ matrix.hadoop_version }}/etc/hadoop" >> $GITHUB_ENV
5463
5564
- name: Set environment variables for tests
5665
run: |
@@ -69,8 +78,9 @@ jobs:
6978
~/.cargo/registry/cache/
7079
~/.cargo/git/db/
7180
target/
72-
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
81+
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}-hadoop-${{ matrix.hadoop_version }}
7382
restore-keys: |
83+
${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}-
7484
${{ runner.os }}-cargo-
7585
7686
- name: Build

0 commit comments

Comments
 (0)