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
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:
parent
92a981904e
commit
cdb28f841f
1 changed files with 64 additions and 28 deletions
84
.github/workflows/ncc_workflow.yml
vendored
84
.github/workflows/ncc_workflow.yml
vendored
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue