-
Notifications
You must be signed in to change notification settings - Fork 4
134 lines (108 loc) · 3.02 KB
/
ci.yml
File metadata and controls
134 lines (108 loc) · 3.02 KB
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
name: "CI"
on:
pull_request:
push:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
format:
name: Format
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v6
- name: Run Format
run: |
docker run --rm -v $PWD:/app composer:2.8 sh -c \
"composer install --profile --ignore-platform-reqs && composer format:check"
analyze:
name: Analyze
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v6
- name: Run Analyze
run: |
docker run --rm -v $PWD:/app composer:2.8 sh -c \
"composer install --profile --ignore-platform-reqs && composer analyze"
refactor:
name: Refactor
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v6
- name: Run Refactor
run: |
docker run --rm -v $PWD:/app composer:2.8 sh -c \
"composer install --profile --ignore-platform-reqs && composer refactor:check"
unit-tests:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v6
- name: Run Unit Tests
run: |
docker run --rm \
-v $PWD:/app \
-w /app \
phpswoole/swoole:5.1.2-php8.3-alpine \
sh -c "
apk update && \
apk add zip unzip && \
composer install --profile --ignore-platform-reqs && \
composer test:unit
"
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v6
- name: Build Docker image
run: docker compose build
- name: Save Docker image
run: docker save -o executor-image.tar executor-openruntimes-executor
- name: Upload Docker image artifact
uses: actions/upload-artifact@v6
with:
name: executor-image
path: executor-image.tar
retention-days: 1
e2e-tests:
name: E2E Tests
runs-on: ubuntu-latest
needs: build
steps:
- name: Check out the repo
uses: actions/checkout@v6
- name: Download Docker image artifact
uses: actions/download-artifact@v7
with:
name: executor-image
- name: Load Docker image
run: docker load -i executor-image.tar
- name: Start Test Stack
run: docker compose up -d --wait --wait-timeout 300
- name: Doctor
run: |
docker compose logs
docker ps
docker network ls
- name: Run E2E Tests
run: |
docker run --rm \
-v $PWD:/app \
-v /tmp:/tmp \
-v /var/run/docker.sock:/var/run/docker.sock \
--network executor_runtimes \
-w /app \
phpswoole/swoole:5.1.2-php8.3-alpine \
sh -c "
apk update && \
apk add docker-cli zip unzip && \
composer install --profile --ignore-platform-reqs && \
composer test:e2e
"