7
7
- " *"
8
8
9
9
jobs :
10
- build-image :
10
+ build-and-run-test :
11
11
runs-on : github-actions-runner-emarsys
12
12
permissions :
13
13
contents : " read"
14
+ strategy :
15
+ max-parallel : 1
16
+ fail-fast : false
17
+ matrix :
18
+ magento-versions :
19
+ ["2.3.5ce", "2.4.0ce", "2.4.2ce", "2.4.4ce", "2.4.6ce"]
14
20
steps :
21
+ - name : Extract branch name
22
+ shell : bash
23
+ run : echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
24
+ id : extract_branch
25
+
15
26
- name : Checkout code
16
27
shell : bash
17
28
run : |
18
29
sudo apt-get update
19
30
sudo apt-get install git -y
20
- git clone https://github.com/emartech/magento2-extension.git
31
+ git clone --branch ${{ steps.extract_branch.outputs.branch }} https://github.com/emartech/magento2-extension.git
32
+
21
33
- name : Login to GitLab
22
34
uses : docker/login-action@v3
23
35
with :
24
36
registry : ${{ vars.REGISTRY_URL }}
25
37
username : ${{ secrets.GITLAB_USER }}
26
38
password : ${{ secrets.GITLAB_TOKEN }}
39
+
27
40
- name : Install system tools
28
41
shell : bash
29
42
run : |
@@ -38,111 +51,29 @@ jobs:
38
51
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
39
52
sudo apt-get update
40
53
sudo apt-get install docker-compose-plugin docker-buildx-plugin -y
54
+
41
55
- name : Build mage_node image
42
56
shell : bash
43
57
run : |
44
58
cd magento2-extension/dev
45
- DOCKER_BUILDKIT=1 docker build -f testv2/tools/docker/Dockerfile-mage-node --build-arg NPM_TOKEN=$NPM_TOKEN -t "mage_node:latest " .
59
+ DOCKER_BUILDKIT=1 docker build -f testv2/tools/docker/Dockerfile-mage-node --build-arg NPM_TOKEN=$NPM_TOKEN -t "mage_node" .
46
60
env :
47
61
NPM_TOKEN : ${{ secrets.GITLAB_TOKEN }}
48
- - name : Save mage_node image
49
- shell : bash
50
- run : |
51
- docker save mage_node:latest | gzip > mage_node_latest.tar.gz
52
- - name : Upload mage_node image
53
- uses : actions/upload-artifact@v3
54
- with :
55
- name : mage_node_image
56
- path : mage_node_latest.tar.gz
57
62
58
- unit-tests :
59
- runs-on : github-actions-runner-emarsys
60
- needs : build-image
61
- permissions :
62
- contents : " read"
63
- strategy :
64
- max-parallel : 1
65
- fail-fast : false
66
- matrix :
67
- magento-versions :
68
- ["2.3.5ce", "2.4.0ce", "2.4.2ce", "2.4.4ce", "2.4.6ce"]
69
- steps :
70
- - name : Extract branch name
71
- shell : bash
72
- run : echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
73
- id : extract_branch
74
- - name : Checkout code
75
- shell : bash
76
- run : |
77
- sudo apt-get update
78
- sudo apt-get install git -y
79
- git clone --branch ${{ steps.extract_branch.outputs.branch }} https://github.com/emartech/magento2-extension.git
80
- - name : Login to GitLab
81
- uses : docker/login-action@v3
82
- with :
83
- registry : ${{ vars.REGISTRY_URL }}
84
- username : ${{ secrets.GITLAB_USER }}
85
- password : ${{ secrets.GITLAB_TOKEN }}
86
- - name : Download mage_node image
87
- uses : actions/download-artifact@v3
88
- with :
89
- name : mage_node_image
90
- path : .
91
- - name : Load mage_node image
92
- shell : bash
93
- run : |
94
- gunzip -c mage_node_latest.tar.gz | docker load
95
- - name : Run unittest
63
+ - name : Run unit tests
96
64
shell : bash
97
65
run : |
98
66
cd magento2-extension
99
- bash dev/testv2/tools/scripts/run-unit.sh
67
+ docker run -e VERSION=${{ matrix.magento-versions }} -e NPM_TOKEN=${{ secrets.GITLAB_TOKEN }} mage_node bash dev/testv2/tools/scripts/run-unit-tests .sh
100
68
env :
101
69
VERSION : ${{ matrix.magento-versions }}
102
70
NPM_TOKEN : ${{ secrets.GITLAB_TOKEN }}
103
71
104
- e2e-tests :
105
- runs-on : github-actions-runner-emarsys
106
- needs : [build-image, unit-tests]
107
- permissions :
108
- contents : " read"
109
- strategy :
110
- max-parallel : 1
111
- fail-fast : false
112
- matrix :
113
- magento-versions :
114
- ["2.3.5ce", "2.4.0ce", "2.4.2ce", "2.4.4ce", "2.4.6ce"]
115
- steps :
116
- - name : Extract branch name
117
- shell : bash
118
- run : echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
119
- id : extract_branch
120
- - name : Checkout code
121
- shell : bash
122
- run : |
123
- sudo apt-get update
124
- sudo apt-get install git -y
125
- git clone --branch ${{ steps.extract_branch.outputs.branch }} https://github.com/emartech/magento2-extension.git
126
- - name : Login to GitLab
127
- uses : docker/login-action@v3
128
- with :
129
- registry : ${{ vars.REGISTRY_URL }}
130
- username : ${{ secrets.GITLAB_USER }}
131
- password : ${{ secrets.GITLAB_TOKEN }}
132
- - name : Download mage_node image
133
- uses : actions/download-artifact@v3
134
- with :
135
- name : mage_node_image
136
- path : .
137
- - name : Load mage_node image
138
- shell : bash
139
- run : |
140
- gunzip -c mage_node_latest.tar.gz | docker load
141
- - name : Run e2etest
72
+ - name : Run e2e tests
142
73
shell : bash
143
74
run : |
144
75
cd magento2-extension
145
- docker run --rm -e NPM_TOKEN =${{ secrets.GITLAB_TOKEN }} -e VERSION =${{ matrix.magento-versions }} -v $(pwd)/ dev/testv2/tools/scripts:/scripts mage_node:latest bash /scripts/run-e2e.sh
76
+ docker run -e VERSION =${{ matrix.magento-versions }} -e NPM_TOKEN =${{ secrets.GITLAB_TOKEN }} mage_node bash dev/testv2/tools/scripts/run-e2e.sh
146
77
env :
147
78
VERSION : ${{ matrix.magento-versions }}
148
79
NPM_TOKEN : ${{ secrets.GITLAB_TOKEN }}
0 commit comments