@@ -5,12 +5,11 @@ on: [ push, pull_request ]
5
5
jobs :
6
6
linux-aarch64 :
7
7
if : 1
8
- runs-on : ubuntu-latest
8
+ runs-on : ubuntu-24.04-arm
9
9
steps :
10
10
- uses : actions/checkout@v4
11
11
- name : Show Environment Info
12
12
run : |
13
- lscpu
14
13
echo $PATH
15
14
env
16
15
docker info
22
21
uname -s
23
22
uname -m
24
23
uname -r
24
+
25
+ cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
26
+ cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
27
+ cat /proc/cpuinfo | grep "cpu cores" | uniq
28
+ cat /proc/cpuinfo| grep "processor"| wc -l
29
+ lscpu
30
+
25
31
export IPV6=$(ip -6 address show | grep inet6 | awk '{print $2}' | cut -d'/' -f1 | sed -n '2p')
26
32
export IPV4=$(ip -4 address show | grep inet | grep -v 127.0.0 | awk '{print $2}' | cut -d'/' -f1 | sed -n '1p')
27
33
echo $IPV4
@@ -40,14 +46,14 @@ jobs:
40
46
41
47
- name : Cache PHP Runtime
42
48
uses : actions/cache@v4
43
- id : php-runtime-cache
49
+ id : php-runtime-cache-aarch64
44
50
with :
45
51
path : ${{ github.workspace }}/bin/runtime
46
52
key : ${{ runner.os }}-aarch64-php-runtime
47
53
48
54
- name : Cache PHP Vendor
49
55
uses : actions/cache@v4
50
- id : php-vendor-cache
56
+ id : php-vendor-cache-aarch64
51
57
with :
52
58
path : ${{ github.workspace }}/vendor
53
59
key : ${{ runner.os }}-aarch64-php-vendor
@@ -61,35 +67,18 @@ jobs:
61
67
62
68
- name : Cache all-library
63
69
uses : actions/cache@v4
64
- id : all-library-cache
70
+ id : all-library-cache-aarch64
65
71
with :
66
72
path : /usr/local/swoole-cli
67
73
key : ${{ github.head_ref || github.ref_name }}-${{ runner.os }}-aarch64-all-library
68
74
69
75
- name : Cache swoole-cli-builder-image
70
76
uses : actions/cache@v4
71
- id : swoole-cli-builder-image-aarch64- cache
77
+ id : swoole-cli-builder-image-cache-aarch64
72
78
with :
73
79
path : ${{ github.workspace }}/var/build-github-action-container/swoole-cli-builder-image.tar
74
80
key : ${{ runner.os }}-aarch64-swoole-cli-builder-image
75
81
76
- - name : Prepare Libraries and Extensions
77
- run : |
78
- set -x
79
- mkdir -p pool/lib
80
- mkdir -p pool/ext
81
- mkdir -p bin/runtime
82
-
83
- bash sapi/download-box/download-box-get-archive-from-server.sh
84
-
85
- ls -A pool/lib/
86
- ls -A /usr/local/swoole-cli/
87
-
88
- - name : Prepare QEMU
89
- run : |
90
- set -x
91
- sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
92
-
93
82
- name : Prepare swoole-cli-builder-image
94
83
run : |
95
84
if [ -f ${{ github.workspace }}/var/build-github-action-container/swoole-cli-builder-image.tar ] ; then
@@ -98,19 +87,18 @@ jobs:
98
87
bash .github/workflows/build-alpine-builder-container.sh --platform "linux/arm64"
99
88
fi
100
89
101
- - name : prepare pre-built library
102
- uses : addnab/docker-run-action@v3
103
- with :
104
- image : docker.io/jingjingxyk/build-swoole-cli:all-dependencies-alpine-3.18-php7-v1.0.0-aarch64-20240106T123157Z
105
- options : -v ${{ github.workspace }}:/work -w /work -v /usr/local/swoole-cli/:/usr/local/tmp/
106
- run : |
107
- for i in `ls /usr/local/swoole-cli/`
108
- do
109
- if [ ! -d /usr/local/tmp/${i} ] ; then
110
- echo $i
111
- cp -rf /usr/local/swoole-cli/${i}/ /usr/local/tmp/${i}
112
- fi
113
- done
90
+ - name : Prepare Runtime and Libraries and Extensions
91
+ run : |
92
+ set -x
93
+ mkdir -p pool/lib
94
+ mkdir -p pool/ext
95
+ mkdir -p bin/runtime
96
+ if [ ! -f bin/runtime/php ] ; then
97
+ bash setup-php-runtime.sh
98
+ fi
99
+ bash sapi/download-box/download-box-get-archive-from-server.sh
100
+ ls -A pool/lib/
101
+ ls -A /usr/local/swoole-cli/
114
102
115
103
- name : Build
116
104
uses : addnab/docker-run-action@v3
@@ -120,10 +108,6 @@ jobs:
120
108
run : |
121
109
set -eux
122
110
uname -m
123
- if [ ! -f bin/runtime/php ] ; then
124
- bash setup-php-runtime.sh
125
- fi
126
-
127
111
export PATH=/work/bin/runtime:$PATH # 容器已经内置 php 和 composer
128
112
alias php="php -d curl.cainfo=/work/bin/runtime/cacert.pem -d openssl.cafile=/work/bin/runtime/cacert.pem"
129
113
@@ -139,41 +123,26 @@ jobs:
139
123
140
124
bash make-install-deps.sh
141
125
142
- bash make.sh all-library
126
+ bash ./ make.sh all-library
143
127
144
- bash make.sh config
145
- bash make.sh build
146
- bash make.sh archive
128
+ bash ./ make.sh config
129
+ bash ./ make.sh build
130
+ bash ./ make.sh archive
147
131
148
132
- name : Show Build Result
149
- uses : addnab/docker-run-action@v3
150
- with :
151
- image : swoole-cli-builder:latest
152
- options : -v ${{ github.workspace }}:/work -w /work
153
- run : |
154
- ./bin/swoole-cli -v
155
- ./bin/swoole-cli -m
156
- ./bin/swoole-cli --ri gd
157
- ./bin/swoole-cli --ri swoole
158
- ./bin/swoole-cli --ri gd
159
- ./bin/swoole-cli --ri pgsql
160
-
161
- file ./bin/swoole-cli
162
- readelf -h ./bin/swoole-cli
163
- APP_VERSION=$(./bin/swoole-cli -v | awk '{print $2}')
164
- echo ${APP_VERSION}
165
- echo ${APP_VERSION} > APP_VERSION
166
-
167
- ./bin/swoole-cli -r "echo PHP_VERSION;"
168
-
169
- # ./bin/swoole-cli ./vendor/bin/phpunit ./sapi/src/UnitTest/MainTest.php --list-tests
170
- # ./bin/swoole-cli ./vendor/bin/phpunit ./sapi/src/UnitTest/MainTest.php
171
133
172
- - name : get app version
173
134
run : |
174
- APP_VERSION=$(cat ./APP_VERSION)
175
- echo $APP_VERSION
135
+ ./bin/swoole-cli -v
136
+ ./bin/swoole-cli -m
137
+ ./bin/swoole-cli --ri gd
138
+ ./bin/swoole-cli --ri swoole
139
+ file ./bin/swoole-cli
140
+ readelf -h ./bin/swoole-cli
141
+ APP_VERSION=$(./bin/swoole-cli -v | awk '{print $2}')
176
142
echo "APP_VERSION=${APP_VERSION}" >> $GITHUB_ENV
143
+ ./bin/swoole-cli -r "echo PHP_VERSION;"
144
+ ./bin/swoole-cli ./vendor/bin/phpunit ./sapi/src/UnitTest/MainTest.php --list-tests
145
+ ./bin/swoole-cli ./vendor/bin/phpunit ./sapi/src/UnitTest/MainTest.php
177
146
178
147
- name : production artifacts debug
179
148
uses : actions/upload-artifact@v4
0 commit comments