-
Notifications
You must be signed in to change notification settings - Fork 1
80 lines (68 loc) · 2.58 KB
/
test.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
name: Test cronned-rclone
on:
push:
pull_request:
branches: [ master ]
env:
DOCKER_IMAGE_TAG: adnanjaw/cronned-rclone:test
jobs:
docker-image-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set Up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build And Export Testing Image
uses: docker/build-push-action@v5
with:
context: .
load: true
push: false
tags: '${{ env.DOCKER_IMAGE_TAG }}'
- name: Test Ofelia (with config mount)
run: |
# Create a dummy ofelia config file for testing
echo '[job-exec "example"]' > ofelia.ini
echo 'schedule = "@every 10s"' >> ofelia.ini
echo 'command = "/bin/echo Hello Ofelia"' >> ofelia.ini
# Run the container in detached mode
docker run --name cronned-rclone \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v $PWD/ofelia.ini:/config/ofelia.ini \
-d ${{ env.DOCKER_IMAGE_TAG }} daemon --config=/config/ofelia.ini
# Wait for 10 seconds
sleep 10
# Check logs for "Hello Ofelia"
if docker logs cronned-rclone | grep -q "Hello Ofelia"; then
echo "Output found: Hello Ofelia"
else
echo "Expected output not found"
docker logs cronned-rclone # Print logs for debugging
exit 1 # Fail the job
fi
- name: Test Ofelia (with labels)
run: |
# Run the container in detached mode
docker run --name cronned-rclone-with-labels \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v ${PWD}/rclone/rclone.conf:/config/rclone/rclone.conf \
-v ${PWD}/rclone/logs:/logs \
-v ${PWD}/rclone/data:/data \
-v ${PWD}/test.txt:/tmp/test.txt \
--label ofelia.enabled=true \
--label ofelia.job-local.example.schedule="@every 2s" \
--label ofelia.job-local.example.command="/bin/echo 'Hello Ofelia'" \
-d ${{ env.DOCKER_IMAGE_TAG }} daemon --docker
# Wait for 3 seconds
sleep 10
# Check logs for "Hello Ofelia"
if docker logs cronned-rclone | grep -q "Hello Ofelia"; then
echo "Output found: Hello Ofelia"
else
echo "Expected output not found"
docker logs cronned-rclone # Print logs for debugging
exit 1 # Fail the job
fi