@@ -4,13 +4,12 @@ on: [ push, pull_request ]
44
55jobs :
66 linux-aarch64 :
7- if : " !contains(github.event.head_commit.message, '--filter=') || contains(github.event.head_commit.message, '[linux-aarch64]')"
8- runs-on : ubuntu-latest
7+ if : ${{ !contains(github.event.head_commit.message, '--filter=') || contains(github.event.head_commit.message, '[linux-aarch64]') }}
8+ runs-on : ubuntu-24.04-arm
99 steps :
1010 - uses : actions/checkout@v4
1111 - name : Show Environment Info
1212 run : |
13- lscpu
1413 echo $PATH
1514 env
1615 docker info
2221 uname -s
2322 uname -m
2423 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+
2531 export IPV6=$(ip -6 address show | grep inet6 | awk '{print $2}' | cut -d'/' -f1 | sed -n '2p')
2632 export IPV4=$(ip -4 address show | grep inet | grep -v 127.0.0 | awk '{print $2}' | cut -d'/' -f1 | sed -n '1p')
2733 echo $IPV4
@@ -40,14 +46,14 @@ jobs:
4046
4147 - name : Cache PHP Runtime
4248 uses : actions/cache@v4
43- id : php-runtime-cache
49+ id : php-runtime-cache-aarch64
4450 with :
4551 path : ${{ github.workspace }}/bin/runtime
4652 key : ${{ runner.os }}-aarch64-php-runtime
4753
4854 - name : Cache PHP Vendor
4955 uses : actions/cache@v4
50- id : php-vendor-cache
56+ id : php-vendor-cache-aarch64
5157 with :
5258 path : ${{ github.workspace }}/vendor
5359 key : ${{ runner.os }}-aarch64-php-vendor
@@ -61,33 +67,18 @@ jobs:
6167
6268 - name : Cache all-library
6369 uses : actions/cache@v4
64- id : all-library-cache
70+ id : all-library-cache-aarch64
6571 with :
6672 path : /usr/local/swoole-cli
6773 key : ${{ github.head_ref || github.ref_name }}-${{ runner.os }}-aarch64-all-library
6874
6975 - name : Cache swoole-cli-builder-image
7076 uses : actions/cache@v4
71- id : swoole-cli-builder-image-aarch64- cache
77+ id : swoole-cli-builder-image-cache-aarch64
7278 with :
7379 path : ${{ github.workspace }}/var/build-github-action-container/swoole-cli-builder-image.tar
7480 key : ${{ runner.os }}-aarch64-swoole-cli-builder-image
7581
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- bash sapi/download-box/download-box-get-archive-from-server.sh
83- ls -A pool/lib/
84- ls -A /usr/local/swoole-cli/
85-
86- - name : Prepare QEMU
87- run : |
88- set -x
89- sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
90-
9182 - name : Prepare swoole-cli-builder-image
9283 run : |
9384 if [ -f ${{ github.workspace }}/var/build-github-action-container/swoole-cli-builder-image.tar ] ; then
@@ -96,19 +87,18 @@ jobs:
9687 bash .github/workflows/build-alpine-builder-container.sh --platform "linux/arm64"
9788 fi
9889
99- - name : prepare pre-built library
100- uses : addnab/docker-run-action@v3
101- with :
102- image : docker.io/jingjingxyk/build-swoole-cli:all-dependencies-alpine-3.18-php8-v1.0.0-aarch64-20240618T091126Z
103- options : -v ${{ github.workspace }}:/work -w /work -v /usr/local/swoole-cli/:/usr/local/tmp/
104- run : |
105- for i in `ls /usr/local/swoole-cli/`
106- do
107- if [ ! -d /usr/local/tmp/${i} ] ; then
108- echo $i
109- cp -rf /usr/local/swoole-cli/${i}/ /usr/local/tmp/${i}
110- fi
111- 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/
112102
113103 - name : Build
114104 uses : addnab/docker-run-action@v3
@@ -118,10 +108,6 @@ jobs:
118108 run : |
119109 set -eux
120110 uname -m
121- if [ ! -f bin/runtime/php ] ; then
122- bash setup-php-runtime.sh
123- fi
124-
125111 export PATH=/work/bin/runtime:$PATH # 容器已经内置 php 和 composer
126112 alias php="php -d curl.cainfo=/work/bin/runtime/cacert.pem -d openssl.cafile=/work/bin/runtime/cacert.pem"
127113
@@ -131,38 +117,25 @@ jobs:
131117
132118 php prepare.php
133119
134- bash make.sh all-library
120+ bash ./ make.sh all-library
135121
136- bash make.sh config
137- bash make.sh build
138- bash make.sh archive
122+ bash ./ make.sh config
123+ bash ./ make.sh build
124+ bash ./ make.sh archive
139125
140126 - name : Show Build Result
141- uses : addnab/docker-run-action@v3
142- with :
143- image : swoole-cli-builder:latest
144- options : -v ${{ github.workspace }}:/work -w /work
145- run : |
146- ./bin/swoole-cli -v
147- ./bin/swoole-cli -m
148- ./bin/swoole-cli --ri gd
149- ./bin/swoole-cli --ri swoole
150- file ./bin/swoole-cli
151- readelf -h ./bin/swoole-cli
152- APP_VERSION=$(./bin/swoole-cli -v | awk '{print $2}')
153- echo ${APP_VERSION}
154- echo ${APP_VERSION} > APP_VERSION
155-
156- ./bin/swoole-cli -r "echo PHP_VERSION;"
157-
158- ./bin/swoole-cli ./vendor/bin/phpunit ./sapi/src/UnitTest/MainTest.php --list-tests
159- ./bin/swoole-cli ./vendor/bin/phpunit ./sapi/src/UnitTest/MainTest.php
160-
161- - name : get app version
162127 run : |
163- APP_VERSION=$(cat ./APP_VERSION)
164- echo $APP_VERSION
128+ ./bin/swoole-cli -v
129+ ./bin/swoole-cli -m
130+ ./bin/swoole-cli --ri gd
131+ ./bin/swoole-cli --ri swoole
132+ file ./bin/swoole-cli
133+ readelf -h ./bin/swoole-cli
134+ APP_VERSION=$(./bin/swoole-cli -v | awk '{print $2}')
165135 echo "APP_VERSION=${APP_VERSION}" >> $GITHUB_ENV
136+ ./bin/swoole-cli -r "echo PHP_VERSION;"
137+ ./bin/swoole-cli ./vendor/bin/phpunit ./sapi/src/UnitTest/MainTest.php --list-tests
138+ ./bin/swoole-cli ./vendor/bin/phpunit ./sapi/src/UnitTest/MainTest.php
166139
167140 - name : production artifacts debug
168141 uses : actions/upload-artifact@v4
0 commit comments