Skip to content

ATLAS-4981: Add file permissions to resolve atlas build issues in docker #5

ATLAS-4981: Add file permissions to resolve atlas build issues in docker

ATLAS-4981: Add file permissions to resolve atlas build issues in docker #5

Workflow file for this run

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: CI
on:
push:
pull_request:
branches: [ "master" ]
env:
MAVEN_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.http.retryHandler.class=standard -Dmaven.wagon.http.retryHandler.count=3
jobs:
docker-build:
runs-on: ubuntu-22.04
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- name: Cache for maven dependencies
uses: actions/cache@v4
with:
path: |
~/.m2/repository/*/*/*
!~/.m2/repository/org/apache/atlas
key: maven-repo-${{ hashFiles('**/pom.xml') }}
restore-keys: |
maven-repo-
- name: Ensure .m2 directory exists
run: mkdir -p ~/.m2/repository
- name: Debug file permissions
run: |
ls -ld ~/.m2
whoami
- name: Set up JDK 8
uses: actions/setup-java@v4
with:
java-version: '8'
distribution: 'temurin'
- name: Cache downloaded archives
uses: actions/cache@v4
with:
path: dev-support/atlas-docker/downloads
key: ${{ runner.os }}-atlas-downloads-${{ hashFiles('dev-support/atlas-docker/.env') }}
restore-keys: |
${{ runner.os }}-atlas-downloads-
- name: Run download-archives.sh
run: |
cd dev-support/atlas-docker
chmod +x download-archives.sh && ./download-archives.sh
- name: Clean up Docker space
run: docker system prune --all --force --volumes
- name: Build Atlas - JDK 8
run: |
cd dev-support/atlas-docker
export DOCKER_BUILDKIT=1
export COMPOSE_DOCKER_CLI_BUILD=1
SKIPTESTS=false docker compose -f docker-compose.atlas-base.yml -f docker-compose.atlas-build.yml up
- name: Bring up containers
run: |
cd dev-support/atlas-docker
export DOCKER_BUILDKIT=1
export COMPOSE_DOCKER_CLI_BUILD=1
docker compose \
-f docker-compose.atlas-base.yml \
-f docker-compose.atlas.yml \
-f docker-compose.atlas-hadoop.yml \
-f docker-compose.atlas-hbase.yml \
-f docker-compose.atlas-kafka.yml \
-f docker-compose.atlas-hive.yml up -d
- name: Check status of containers and remove them
run: |
sleep 60
containers=(atlas atlas-hadoop atlas-hbase atlas-kafka atlas-hive);
flag=true;
for container in "${containers[@]}"; do
if [[ $(docker inspect -f '{{.State.Running}}' $container 2>/dev/null) == "true" ]]; then
echo "Container $container is running!";
else
flag=false;
echo "Container $container is NOT running!";
fi
done
if [[ $flag == true ]]; then
echo "All required containers are up and running";
docker stop $(docker ps -q) && docker rm $(docker ps -aq);
else
docker stop $(docker ps -q) && docker rm $(docker ps -aq);
exit 1;
fi