-
Notifications
You must be signed in to change notification settings - Fork 8
63 lines (54 loc) · 1.64 KB
/
e2e-ubuntu.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
---
on: # yamllint disable-line rule:truthy
push:
branches:
- 'master'
pull_request:
branches:
- 'master'
name: 🧪 End-to-end testing (Ubuntu)
jobs:
build:
#
# The job will always be skipped due to the condition
# Temporarily disable this job due to port 53 conflict with dnsmasq
if: false
#
timeout-minutes: 8
runs-on: ubuntu-latest
# Job steps will be run against this container, instead of host.
# This tries to resolve problem with 53 port already bound on host runner machine.
# More info:
# https://docs.github.com/en/actions/using-jobs/running-jobs-in-a-container
container:
image: ubuntu:latest
options: --privileged
steps:
- name: 📦 Check out the codebase
uses: actions/[email protected]
- name: 🐳 Set up Docker
run: |
apt update
apt install -y curl make apt-utils net-tools procps iproute2 iputils-ping
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
- name: 🌎 Generate .env file
run: make env
- name: 🏗️ Start docker-compose services
run: |
make up
- name: 🧪 Test DNS Resolver with dig
run: |
if ! dig @127.0.0.1 -p 53 any-domain.docker +short; then
echo "DNS resolution failed!"
exit 1
fi
- name: 🧪 Test DNS resolver with ping
run: |
if ! ping -c 3 any-domain.docker; then
echo "Ping test failed!"
exit 1
fi
- name: ⚙️ Stop docker-compose services
if: always()
run: make down