Skip to content

Bump actions/checkout from 3 to 4 in the github-actions group #137

Bump actions/checkout from 3 to 4 in the github-actions group

Bump actions/checkout from 3 to 4 in the github-actions group #137

Workflow file for this run

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
cache-from: mtsrus/hadoop:hadoop${{ matrix.hadoop-version }}-hdfs
- 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
cache-from: mtsrus/hadoop:hadoop${{ matrix.hadoop-version }}-yarn
- 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${{ matrix.hive-version }}
context: ./hive
build-args: |
HIVE_VERSION=${{ matrix.hive-version }}
BASE_IMAGE=mtsrus/hadoop:${{ github.run_id }}-hadoop${{ matrix.hadoop-major-version }}-yarn
push: false
cache-from: mtsrus/hadoop:hadoop${{ matrix.hadoop-version }}-hive${{ matrix.hive-version }}
- 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${{ matrix.hive-version }}
- 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