mirror of
https://github.com/hoverkraft-tech/compose-action.git
synced 2026-01-09 14:13:06 +08:00
test: --abort-on-container-exit option
Signed-off-by: Emilien Escalle <emilien.escalle@escemi.com>
This commit is contained in:
parent
2bd57c29bd
commit
78f44f26f9
16
.github/dependabot.yml
vendored
16
.github/dependabot.yml
vendored
@ -6,35 +6,35 @@ updates:
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: friday
|
||||
time: '04:00'
|
||||
time: "04:00"
|
||||
groups:
|
||||
github-actions-dependencies:
|
||||
patterns:
|
||||
- '*'
|
||||
- "*"
|
||||
|
||||
- package-ecosystem: npm
|
||||
directory: '/'
|
||||
directory: "/"
|
||||
open-pull-requests-limit: 20
|
||||
versioning-strategy: widen
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: friday
|
||||
time: '04:00'
|
||||
time: "04:00"
|
||||
groups:
|
||||
actions-dependencies:
|
||||
patterns:
|
||||
- '@actions/*'
|
||||
- "@actions/*"
|
||||
npm-dev-dependencies:
|
||||
dependency-type: development
|
||||
|
||||
- package-ecosystem: docker
|
||||
directory: '/docker'
|
||||
directory: "/test"
|
||||
open-pull-requests-limit: 20
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: friday
|
||||
time: '04:00'
|
||||
time: "04:00"
|
||||
groups:
|
||||
docker-dependencies:
|
||||
patterns:
|
||||
- '*'
|
||||
- "*"
|
||||
|
||||
58
.github/workflows/__check-action.yml
vendored
58
.github/workflows/__check-action.yml
vendored
@ -16,18 +16,18 @@ jobs:
|
||||
- name: Act
|
||||
uses: ./
|
||||
with:
|
||||
compose-file: "./docker/docker-compose.yml"
|
||||
compose-file: "./test/docker-compose.yml"
|
||||
services: |
|
||||
service-b
|
||||
service-c
|
||||
|
||||
- name: "Assert: only expected services are running"
|
||||
run: |
|
||||
docker compose -f ./docker/docker-compose.yml ps
|
||||
docker compose -f ./test/docker-compose.yml ps
|
||||
|
||||
docker compose -f ./docker/docker-compose.yml ps | grep docker-service-b-1 || (echo "Service service-b is not running" && exit 1)
|
||||
docker compose -f ./docker/docker-compose.yml ps | grep docker-service-c-1 || (echo "Service service-c is not running" && exit 1)
|
||||
(docker compose -f ./docker/docker-compose.yml ps | grep docker-service-a-1 && echo "Unexpected service service-a is running" && exit 1) || true
|
||||
docker compose -f ./test/docker-compose.yml ps | grep test-service-b-1 || (echo "Service service-b is not running" && exit 1)
|
||||
docker compose -f ./test/docker-compose.yml ps | grep test-service-c-1 || (echo "Service service-c is not running" && exit 1)
|
||||
(docker compose -f ./test/docker-compose.yml ps | grep test-service-a-1 && echo "Unexpected service service-a is running" && exit 1) || true
|
||||
|
||||
test-action-with-down-flags:
|
||||
runs-on: ubuntu-latest
|
||||
@ -38,7 +38,7 @@ jobs:
|
||||
- name: Act
|
||||
uses: ./
|
||||
with:
|
||||
compose-file: "./docker/docker-compose.yml"
|
||||
compose-file: "./test/docker-compose.yml"
|
||||
down-flags: "--volumes"
|
||||
|
||||
test-action-with-compose-flags:
|
||||
@ -50,13 +50,13 @@ jobs:
|
||||
- name: Act
|
||||
uses: ./
|
||||
with:
|
||||
compose-file: "./docker/docker-compose.yml"
|
||||
compose-file: "./test/docker-compose.yml"
|
||||
compose-flags: "--profile profile-1"
|
||||
down-flags: "--volumes"
|
||||
|
||||
- name: "Assert: profile is used"
|
||||
run: |
|
||||
docker compose -f ./docker/docker-compose.yml -p profile-1 ps || (echo "Profile not used" && exit 1)
|
||||
docker compose -f ./test/docker-compose.yml -p profile-1 ps || (echo "Profile not used" && exit 1)
|
||||
|
||||
test-action-with-env:
|
||||
runs-on: ubuntu-latest
|
||||
@ -67,7 +67,7 @@ jobs:
|
||||
- name: Act
|
||||
uses: ./
|
||||
with:
|
||||
compose-file: "./docker/docker-compose-with-env.yml"
|
||||
compose-file: "./test/docker-compose-with-env.yml"
|
||||
env:
|
||||
IMAGE_NAME: busybox
|
||||
|
||||
@ -75,9 +75,9 @@ jobs:
|
||||
env:
|
||||
IMAGE_NAME: busybox
|
||||
run: |
|
||||
docker compose -f ./docker/docker-compose-with-env.yml ps
|
||||
docker compose -f ./test/docker-compose-with-env.yml ps
|
||||
|
||||
docker compose -f ./docker/docker-compose-with-env.yml ps | grep docker-service-a-1 || (echo "Service service-a is not running" && exit 1)
|
||||
docker compose -f ./test/docker-compose-with-env.yml ps | grep test-service-a-1 || (echo "Service service-a is not running" && exit 1)
|
||||
|
||||
test-action-with-multiple-compose-files:
|
||||
runs-on: ubuntu-latest
|
||||
@ -89,20 +89,20 @@ jobs:
|
||||
uses: ./
|
||||
with:
|
||||
compose-file: |
|
||||
./docker/docker-compose.yml
|
||||
./docker/docker-compose.ci.yml
|
||||
./test/docker-compose.yml
|
||||
./test/docker-compose.ci.yml
|
||||
services: |
|
||||
service-b
|
||||
service-d
|
||||
|
||||
- name: "Assert: only expected services are running"
|
||||
run: |
|
||||
docker compose -f ./docker/docker-compose.yml -f ./docker/docker-compose.ci.yml ps
|
||||
docker compose -f ./test/docker-compose.yml -f ./test/docker-compose.ci.yml ps
|
||||
|
||||
docker compose -f ./docker/docker-compose.yml -f ./docker/docker-compose.ci.yml ps | grep docker-service-b-1 || (echo "Service service-b is not running" && exit 1)
|
||||
docker compose -f ./docker/docker-compose.yml -f ./docker/docker-compose.ci.yml ps | grep docker-service-d-1 || (echo "Service service-d is not running" && exit 1)
|
||||
(docker compose -f ./docker/docker-compose.yml -f ./docker/docker-compose.ci.yml ps | grep docker-service-a-1 && echo "Unexpected service service-a is running" && exit 1) || true
|
||||
(docker compose -f ./docker/docker-compose.yml -f ./docker/docker-compose.ci.yml ps | grep docker-service-c-1 && echo "Unexpected service service-c is running" && exit 1) || true
|
||||
docker compose -f ./test/docker-compose.yml -f ./test/docker-compose.ci.yml ps | grep test-service-b-1 || (echo "Service service-b is not running" && exit 1)
|
||||
docker compose -f ./test/docker-compose.yml -f ./test/docker-compose.ci.yml ps | grep test-service-d-1 || (echo "Service service-d is not running" && exit 1)
|
||||
(docker compose -f ./test/docker-compose.yml -f ./test/docker-compose.ci.yml ps | grep test-service-a-1 && echo "Unexpected service service-a is running" && exit 1) || true
|
||||
(docker compose -f ./test/docker-compose.yml -f ./test/docker-compose.ci.yml ps | grep test-service-c-1 && echo "Unexpected service service-c is running" && exit 1) || true
|
||||
|
||||
test-action-with-cwd:
|
||||
runs-on: ubuntu-latest
|
||||
@ -114,15 +114,27 @@ jobs:
|
||||
uses: ./
|
||||
with:
|
||||
compose-file: "docker-compose.yml"
|
||||
cwd: "./docker"
|
||||
cwd: "./test"
|
||||
services: |
|
||||
service-b
|
||||
service-c
|
||||
|
||||
- name: "Assert: only expected services are running"
|
||||
run: |
|
||||
docker compose -f ./docker/docker-compose.yml ps
|
||||
docker compose -f ./test/docker-compose.yml ps
|
||||
|
||||
docker compose -f ./docker/docker-compose.yml ps | grep docker-service-b-1 || (echo "Service service-b is not running" && exit 1)
|
||||
docker compose -f ./docker/docker-compose.yml ps | grep docker-service-c-1 || (echo "Service service-c is not running" && exit 1)
|
||||
(docker compose -f ./docker/docker-compose.yml ps | grep docker-service-a-1 && echo "Unexpected service service-a is running" && exit 1) || true
|
||||
docker compose -f ./test/docker-compose.yml ps | grep test-service-b-1 || (echo "Service service-b is not running" && exit 1)
|
||||
docker compose -f ./test/docker-compose.yml ps | grep test-service-c-1 || (echo "Service service-c is not running" && exit 1)
|
||||
(docker compose -f ./test/docker-compose.yml ps | grep test-service-a-1 && echo "Unexpected service service-a is running" && exit 1) || true
|
||||
|
||||
test-abort-on-container-exit:
|
||||
runs-on: ubuntu-latest
|
||||
name: Test with --abort-on-container-exit
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Act
|
||||
uses: ./
|
||||
with:
|
||||
compose-file: "test/docker-compose-web-mysql.yml"
|
||||
up-flags: "--build --abort-on-container-exit --exit-code-from=web"
|
||||
|
||||
11
test/Dockerfile
Normal file
11
test/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
||||
#checkov:skip=CKV_DOCKER_2: required
|
||||
FROM alpine:3
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY entrypoint.sh .
|
||||
RUN chmod +x entrypoint.sh
|
||||
|
||||
CMD ["/bin/sh", "entrypoint.sh"]
|
||||
|
||||
USER 1000:1000
|
||||
23
test/docker-compose-web-mysql.yml
Normal file
23
test/docker-compose-web-mysql.yml
Normal file
@ -0,0 +1,23 @@
|
||||
services:
|
||||
web:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
volumes:
|
||||
- .:/app
|
||||
- /app/vendor
|
||||
environment:
|
||||
- DB_HOST=mysql
|
||||
- DB_USER=root
|
||||
- DB_PASSWORD=12345
|
||||
- DATABASE=testing
|
||||
depends_on:
|
||||
- mysql
|
||||
|
||||
mysql:
|
||||
image: mariadb:latest
|
||||
environment:
|
||||
- MYSQL_HOST=127.0.0.1
|
||||
- MYSQL_USER=root
|
||||
- MARIADB_ROOT_PASSWORD=12345
|
||||
- MYSQL_DB=testing
|
||||
13
test/entrypoint.sh
Executable file
13
test/entrypoint.sh
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
sleep 2 && cat <<EOF
|
||||
_________________________________________________
|
||||
< It works! >
|
||||
< --abort-on-container-exit --exit-code-from=web >
|
||||
-------------------------------------------------
|
||||
\ ^__^
|
||||
\ (oo)\_______
|
||||
(__)\ )\\/\\
|
||||
||----w |
|
||||
|| ||
|
||||
EOF
|
||||
Loading…
x
Reference in New Issue
Block a user