[pre-commit.ci] pre-commit autoupdate #133
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test build | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build-and-test: | |
name: Build and test images for Hadoop ${{ matrix.hadoop-version}} and Hive ${{ matrix.hive-version }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- hadoop-major-version: 2 | |
hadoop-version: 2.7.3 | |
hive-version: 2.3.9 | |
- hadoop-major-version: 3 | |
hadoop-version: 3.3.5 | |
hive-version: 3.1.3 | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
driver: docker | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Build HDFS | |
id: build-hdfs | |
uses: docker/build-push-action@v5 | |
with: | |
tags: mtsrus/hadoop:${{ github.run_id }}-hadoop${{ matrix.hadoop-major-version }}-hdfs | |
context: ./hdfs | |
build-args: | | |
HADOOP_VERSION=${{ matrix.hadoop-version }} | |
pull: true | |
push: false | |
- name: Test HDFS | |
run: | | |
docker compose down -v --remove-orphans | |
docker compose up -d --wait --wait-timeout 200 & | |
wait_pid=$! | |
docker compose logs -f hdfs & | |
wait $wait_pid | |
env: | |
COMPOSE_FILE: hdfs/docker-compose.yml | |
COMPOSE_PROJECT_NAME: ${{ github.run_id }}-hadoop${{ matrix.hadoop-major-version }}-hdfs | |
HDFS_IMAGE: mtsrus/hadoop:${{ github.run_id }}-hadoop${{ matrix.hadoop-major-version }}-hdfs | |
- name: Shutdown HDFS | |
if: always() | |
run: | | |
docker compose down -v --remove-orphans | |
env: | |
COMPOSE_FILE: hdfs/docker-compose.yml | |
COMPOSE_PROJECT_NAME: ${{ github.run_id }}-hadoop${{ matrix.hadoop-major-version }}-hdfs | |
- name: Build Yarn | |
uses: docker/build-push-action@v5 | |
with: | |
tags: mtsrus/hadoop:${{ github.run_id }}-hadoop${{ matrix.hadoop-major-version }}-yarn | |
context: ./yarn | |
build-args: | | |
BASE_IMAGE=mtsrus/hadoop:${{ github.run_id }}-hadoop${{ matrix.hadoop-major-version }}-hdfs | |
push: false | |
- name: Test Yarn | |
run: | | |
docker compose down -v --remove-orphans | |
docker compose up -d --wait --wait-timeout 400 & | |
wait_pid=$! | |
docker compose logs -f yarn & | |
wait $wait_pid | |
env: | |
COMPOSE_FILE: yarn/docker-compose.yml | |
COMPOSE_PROJECT_NAME: ${{ github.run_id }}-hadoop${{ matrix.hadoop-major-version }}-yarn | |
YARN_IMAGE: mtsrus/hadoop:${{ github.run_id }}-hadoop${{ matrix.hadoop-major-version }}-yarn | |
- name: Shutdown Yarn | |
if: always() | |
run: | | |
docker compose down -v --remove-orphans | |
env: | |
COMPOSE_FILE: yarn/docker-compose.yml | |
COMPOSE_PROJECT_NAME: ${{ github.run_id }}-hadoop${{ matrix.hadoop-major-version }}-yarn | |
- name: Build Hive | |
uses: docker/build-push-action@v5 | |
with: | |
tags: mtsrus/hadoop:${{ github.run_id }}-hadoop${{ matrix.hadoop-major-version }}-hive | |
context: ./hive | |
build-args: | | |
HIVE_VERSION=${{ matrix.hive-version }} | |
BASE_IMAGE=mtsrus/hadoop:${{ github.run_id }}-hadoop${{ matrix.hadoop-major-version }}-yarn | |
push: false | |
- name: Test Hive | |
run: | | |
docker compose down -v --remove-orphans | |
docker compose up -d --wait --wait-timeout 600 & | |
wait_pid=$! | |
docker compose logs -f hive2 & | |
wait $wait_pid | |
env: | |
COMPOSE_FILE: hive/docker-compose.yml | |
COMPOSE_PROJECT_NAME: ${{ github.run_id }}-hadoop${{ matrix.hadoop-major-version }}-hive | |
HIVE_IMAGE: mtsrus/hadoop:${{ github.run_id }}-hadoop${{ matrix.hadoop-major-version }}-hive | |
- name: Shutdown Hive | |
if: always() | |
run: | | |
docker compose down -v --remove-orphans | |
env: | |
COMPOSE_FILE: hive/docker-compose.yml | |
COMPOSE_PROJECT_NAME: ${{ github.run_id }}-hadoop${{ matrix.hadoop-major-version }}-hive | |
all_done: | |
name: Tests done | |
runs-on: ubuntu-latest | |
needs: [build-and-test] | |
steps: | |
- name: All done | |
run: echo 1 |