pull new_dev branch code #8791
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build-macos-x86_64 | |
on: | |
push: | |
pull_request: | |
env: | |
BUILD_PHP_VERSION: 8.2.27 | |
jobs: | |
macos-x86_64: | |
if: 1 | |
runs-on: macos-13 | |
# macos-latest (macos-14) 变更了 CPU 架构,由 x86_64 变更为 arm64 | |
# macos-14 CPU 架构 arm64 | |
# macos-13 CPU 架构 x86_64 | |
# macos-12 CPU 架构 x86_64 | |
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#choosing-github-hosted-runners | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Show Environment Info | |
run: | | |
set -x | |
uname -s | |
uname -m | |
uname -r | |
sysctl -n hw.ncpu | |
env | |
echo $HOME | |
sw_vers | |
xcodebuild -version | |
brew config | |
xcrun --show-sdk-path | |
clang --version | |
ls -lh $(xcrun --show-sdk-path) | |
# find /Applications/Xcode.app -name stdio.h | |
xcodebuild -find make | |
xcodebuild -find gcc | |
xcodebuild -find g++ | |
xcodebuild -find clang | |
xcodebuild -find clang++ | |
find /Applications/Xcode.app -path '*/usr/include/stdio.h' | |
find $(xcode-select --print-path) -name stdio.h | |
echo 'export PATH="/usr/local/opt/binutils/bin:$PATH"' >> /Users/runner/.bash_profile | |
ifconfig | |
export IPV6=$(ifconfig en0 | grep "inet6 " | grep -v "inet6 fe80:" | awk '{print $2}' | cut -d'/' -f1 | sed -n '2p') | |
export IPV4=$(ifconfig en0 | grep "inet " | grep -v 127.0.0 | awk '{print $2}' | cut -d'/' -f1 | sed -n '1p') | |
echo $IPV4 | |
echo $IPV6 | |
echo "X_IPV6=${IPV6}" >> $GITHUB_ENV | |
echo "X_IPV4=${IPV4}" >> $GITHUB_ENV | |
- name: Prepare Build Environment | |
run: | | |
bash sapi/quickstart/macos/macos-init.sh | |
export PATH=/usr/local/opt/libtool/bin:$PATH | |
ls -lha /usr/local/opt/libtool/bin/ | |
libtoolize --version | |
libtool --help-all | |
# brew bison --debug | |
echo ${{ env.BRANCH_NAME }} | |
echo ${{ github.actor }} | |
echo ${{ github.repository }} | |
echo ${{ github.repository_owner }} | |
echo ${{ github.head_ref }} | |
echo ${{ github.ref_name }} | |
CURRENT_USER=$(whoami) | |
echo ${CURRENT_USER} | |
sudo mkdir -p /usr/local/swoole-cli | |
CURRENT_USER=$(whoami) && sudo chown -R ${CURRENT_USER}:staff /usr/local/swoole-cli | |
# git submodule update --init | |
- name: Cache PHP Runtime | |
uses: actions/cache@v4 | |
id: php-runtime-cache | |
with: | |
path: ${{ github.workspace }}/bin/runtime | |
key: ${{ runner.os }}-x86_64-php-runtime | |
- name: Cache PHP Vendor | |
uses: actions/cache@v4 | |
id: php-vendor-cache | |
with: | |
path: ${{ github.workspace }}/vendor | |
key: ${{ runner.os }}-x86_64-php-vendor | |
- name: Cache Dependency Source Code Tarball | |
uses: actions/cache@v4 | |
id: pool-cache | |
with: | |
path: ${{ github.workspace }}/pool/ | |
key: source-code-tarball-pool | |
- name: Cache all-library | |
uses: actions/cache@v4 | |
id: all-library-cache | |
with: | |
path: /usr/local/swoole-cli | |
key: ${{ github.head_ref || github.ref_name }}-${{ runner.os }}-x86_64-all-library | |
- name: Prepare Runtime and Libraries and Extensions | |
run: | | |
set -x | |
mkdir -p pool/lib | |
mkdir -p pool/ext | |
mkdir -p bin/runtime | |
if [ ! -f bin/runtime/php ] ; then | |
bash sapi/quickstart/setup-php-runtime.sh | |
fi | |
bash sapi/download-box/download-box-get-archive-from-server.sh | |
ls -A pool/lib/ | |
ls -A /usr/local/swoole-cli/ | |
- name: prepare | |
run: | | |
export PATH=${{ github.workspace }}/bin/runtime:$PATH | |
alias php="php -d curl.cainfo=${{ github.workspace }}/bin/runtime/cacert.pem -d openssl.cafile=${{ github.workspace }}/bin/runtime/cacert.pem" | |
composer install --no-interaction --no-autoloader --no-scripts --profile --no-dev | |
composer dump-autoload --optimize --profile --no-dev | |
php prepare.php --without-docker=1 +ffmpeg --with-build-type=release | |
- name: Build | |
run: | | |
export PATH=${{ github.workspace }}/bin/runtime:$PATH | |
bash make-install-deps.sh | |
bash ./make.sh all-library | |
bash ./make.sh config | |
bash ./make.sh build | |
bash ./make.sh archive | |
- name: Show Build Result | |
run: | | |
./bin/ffmpeg/bin/ffmpeg -h | |
./bin/ffmpeg/bin/ffmpeg -version | |
FFMPEG_VERSION=$(./bin/ffmpeg/bin/ffmpeg -version | grep 'ffmpeg version' | awk '{print $3}' ) | |
echo "FFMPEG_VERSION=${FFMPEG_VERSION}" >> $GITHUB_ENV | |
- name: production artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ffmpeg-${{ env.FFMPEG_VERSION }}-macos-x64 | |
retention-days: 90 | |
path: ./bin/ffmpeg/ | |
- name: gh release | |
uses: softprops/action-gh-release@v2 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: ffmpeg-${{ env.FFMPEG_VERSION }}-macos-x64.tar.xz |