44 push :
55 branches : " *"
66 pull_request :
7- branches : [ main ]
7+ branches : " * "
88
99env :
1010 CARGO_TERM_COLOR : always
1111
1212jobs :
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 : |
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