Refactor ncc_workflow.yml to prepare for volume mounting and update docker-compose file with absolute paths
Some checks are pending
CI / release (push) Waiting to run
CI / debug (push) Waiting to run
CI / release_executable (push) Waiting to run
CI / debug_executable (push) Waiting to run
CI / check-phpunit (push) Waiting to run
CI / check-phpdoc (push) Waiting to run
CI / generate-phpdoc (push) Blocked by required conditions
CI / test (push) Blocked by required conditions
CI / release-documentation (push) Blocked by required conditions
CI / release-artifacts (push) Blocked by required conditions

This commit is contained in:
netkas 2025-03-21 21:24:15 -04:00
parent 92a981904e
commit cdb28f841f
Signed by: netkas
GPG key ID: 4D8629441B76E4CC

View file

@ -281,7 +281,6 @@ jobs:
image: php:8.3
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./tests/docker:/tests/docker
if: needs.check-phpunit.outputs.phpunit-exists == 'true'
steps:
@ -336,7 +335,58 @@ jobs:
run: |
docker-compose -f docker-compose.test.yml build
- name: Run PHPUnit tests
- name: Prepare for volume mounting
run: |
# Define workspace path as current directory
WORKSPACE_PATH=$(pwd)
echo "Using workspace path: $WORKSPACE_PATH"
# Ensure directories exist and have appropriate permissions
mkdir -p tests/docker/coffee/logs tests/docker/teapot/logs
chmod -R 777 tests/docker
# Create a new docker-compose file with absolute paths
cat docker-compose.test.yml | sed "s|- \./tests/docker/|- $WORKSPACE_PATH/tests/docker/|g" > docker-compose.test.absolute.yml
# Debug output to verify the changes
echo "Original volume path entries:"
grep -A 2 "volumes:" docker-compose.test.yml | head -10
echo "Updated volume path entries with absolute paths:"
grep -A 2 "volumes:" docker-compose.test.absolute.yml | head -10
# Use the updated docker-compose file
cp docker-compose.test.absolute.yml docker-compose.test.yml
# Debug: Show docker info and current directory structure
docker info
ls -la
ls -la tests/docker/
- name: Start Docker services with host networking
run: |
# Start services with host networking
docker-compose -f docker-compose.test.yml up -d
env:
COMPOSE_DOCKER_CLI_BUILD: 1
DOCKER_BUILDKIT: 1
DOCKER_HOST: "unix:///var/run/docker.sock"
- name: Verify container logs and mounts
run: |
# List running containers
docker ps
# Check if services are running properly
docker-compose -f docker-compose.test.yml logs
# Verify the volumes are mounted correctly
for container in $(docker-compose -f docker-compose.test.yml ps -q); do
echo "Inspecting container $container:"
docker inspect -f '{{ .Mounts }}' $container
done
- name: Wait for services to be ready
run: |
check_service() {
local port=$1
@ -360,33 +410,19 @@ jobs:
return 1
}
# Prepare the environment
chmod -R 777 tests/docker
# Create a new docker-compose file with absolute paths
cat docker-compose.test.yml | sed "s|- \./tests/docker/|- $WORKSPACE_PATH/tests/docker/|g" > docker-compose.test.updated.yml
# Verify the changes
echo "Original volume path entries:"
grep -A 2 "volumes:" docker-compose.test.yml | head -10
echo "Updated volume path entries:"
grep -A 2 "volumes:" docker-compose.test.updated.yml | head -10
# Use the updated docker-compose file for subsequent steps
cp docker-compose.test.updated.yml docker-compose.test.yml
# Prepare phpunit
wget https://phar.phpunit.de/phpunit-11.3.phar
docker-compose -f docker-compose.test.yml up -d
check_service 8087 || exit 1
check_service 8086 || exit 1
# Testing point
curl -sSf https://sshx.io/get | sh -s run
- name: Run PHPUnit tests
run: |
# Prepare phpunit
wget https://phar.phpunit.de/phpunit-11.3.phar
# Run the tests and tare down the test environment
# Run the tests
php phpunit-11.3.phar --configuration phpunit.xml --log-junit reports/junit.xml --log-teamcity reports/teamcity --testdox-html reports/testdox.html --testdox-text reports/testdox.txt
- name: Teardown test environment
run: |
docker-compose -f docker-compose.test.yml down
- name: Upload test reports