Release Binaries pmmp 3 #3
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
on: | |
workflow_dispatch: | |
inputs: | |
tagname: | |
description: 'tagname' | |
required: true | |
default: '8.0.20' | |
commithash: | |
description: 'commit hash' | |
required: true | |
default: 'none' | |
createRelease: | |
description: 'If "yes", create the release.' | |
required: true | |
default: 'yes' | |
name: Release Binaries pmmp 5 | |
jobs: | |
build-php: | |
name: Building cross compiler for android-aarch64 | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
include: | |
- option: "-P 5" | |
name: "" | |
branch: "php/8.2" | |
upload-php-ini: "no" | |
musl-cross-make-repo: "pmmp/musl-cross-make" | |
- option: "-g -P 5" | |
name: "-gd" | |
branch: "php/8.2" | |
upload-php-ini: "no" | |
musl-cross-make-repo: "pmmp/musl-cross-make" | |
- option: "-g -P 5" | |
name: "-gd-no-modification" | |
branch: "php/8.2" | |
upload-php-ini: "" | |
musl-cross-make-repo: "pmmp/musl-cross-make" | |
- option: "-g -P 5" | |
name: "-next-major-gd" | |
branch: "php/8.2" | |
upload-php-ini: "-next-major" | |
musl-cross-make-repo: "pmmp/musl-cross-make" | |
- option: "-g -P 5" | |
name: "-experimental-gd" | |
branch: "php/8.2" | |
upload-php-ini: "-experimental-gd" | |
musl-cross-make-repo: "pmmp/musl-cross-make" | |
# Please note that if editing the matrix, the release workflow must also be edited. | |
steps: | |
- name: init directories | |
run: mkdir -p aarch64-linux-musl | |
- name: fetch aarch64-linux-musl from github release | |
working-directory: aarch64-linux-musl | |
run: wget -q -O "aarch64-linux-musl.tar.xz" "https://github.com/${{ matrix.musl-cross-make-repo }}/releases/latest/download/aarch64-linux-musl.tar.xz" | |
- name: unzip aarch64-linux-musl and append path | |
working-directory: aarch64-linux-musl | |
run: | | |
tar Jxfv aarch64-linux-musl.tar.xz > /dev/null | |
echo "$(pwd)/bin" >> $GITHUB_PATH | |
- uses: actions/checkout@v2 | |
with: | |
repository: NetherGamesMC/php-build-scripts | |
path: php-build-scripts | |
ref: stable | |
- name: Checkout php-build-scripts commit | |
if: ${{ github.event.inputs.commithash != 'none' }} | |
working-directory: php-build-scripts | |
run: git checkout ${{ github.event.inputs.commithash }} | |
- name: patch compile.sh | |
working-directory: php-build-scripts | |
run: sed -i=".backup" 's/LIBZIP_VERSION=".*"/LIBZIP_VERSION="1.9.2"/' ./compile.sh | |
- name: install module | |
run: | | |
sudo apt update &> /dev/null | |
sudo apt install -y re2c libtool libtool-bin zlib1g-dev libcurl4-openssl-dev libxml2-dev libyaml-dev libgmp-dev libzip-dev libssl-dev &> /dev/null | |
- name: making aarch64 php | |
working-directory: php-build-scripts | |
run: ./compile.sh -t android-aarch64 -x -j4 ${{ matrix.option }} | |
- name: copy php | |
run: cp ./php-build-scripts/bin/php7/bin/php "php${{ matrix.name }}" | |
- uses: actions/upload-artifact@v1 | |
with: | |
name: "php${{ matrix.name }}" | |
path: "./php${{ matrix.name }}" | |
- name: copy php.ini | |
if: ${{ matrix.upload-php-ini != 'no'}} | |
run: cp ./php-build-scripts/bin/php7/bin/php.ini ./php${{ matrix.upload-php-ini }}.ini | |
- uses: actions/upload-artifact@v1 | |
if: ${{ matrix.upload-php-ini != 'no'}} | |
with: | |
name: php${{ matrix.upload-php-ini }}.ini | |
path: "./php${{ matrix.upload-php-ini }}.ini" | |
commit-php: | |
name: release | |
needs: build-php | |
runs-on: ubuntu-latest | |
if: ${{ github.event.inputs.createRelease == 'yes'}} | |
steps: | |
- name: Download a Build Artifact(php) | |
uses: actions/download-artifact@v2 | |
with: | |
name: php | |
- name: Download a Build Artifact(php-gd) | |
uses: actions/download-artifact@v2 | |
with: | |
name: php-gd | |
- name: Download a Build Artifact(php-gd-no-modification) | |
uses: actions/download-artifact@v2 | |
with: | |
name: php-gd-no-modification | |
- name: Download a Build Artifact(php-next-major-gd) | |
uses: actions/download-artifact@v2 | |
with: | |
name: php-next-major-gd | |
- name: Download a Build Artifact(php-experimental-gd) | |
uses: actions/download-artifact@v2 | |
with: | |
name: php-experimental-gd | |
- name: Download a Build Artifact(php.ini) | |
uses: actions/download-artifact@v2 | |
with: | |
name: php.ini | |
- name: Download a Build Artifact(php-next-major.ini) | |
uses: actions/download-artifact@v2 | |
with: | |
name: php-next-major.ini | |
- name: Download a Build Artifact(php-experimental-gd.ini) | |
uses: actions/download-artifact@v2 | |
with: | |
name: php-experimental-gd.ini | |
- name: file compressions | |
run: | | |
zip -9 zip-php php | |
zip -9 zip-php-gd php-gd | |
zip -9 zip-php-gd-no-modification php-gd-no-modification | |
zip -9 zip-php-next-major-gd php-next-major-gd | |
zip -9 zip-php-experimental-gd php-experimental-gd | |
- name: create checksums.sha256 | |
run: | | |
sha256sum "php" "php-gd" "php-gd-no-modification" "php-next-major-gd" "php-experimental-gd" "zip-php.zip" "zip-php-gd.zip" "zip-php-gd-no-modification.zip" "zip-php-next-major-gd.zip" "zip-php-experimental-gd.zip" "php.ini" "php-next-major.ini" "php-experimental-gd.ini" > checksums.sha256 | |
cat checksums.sha256 | |
- uses: actions/upload-artifact@v1 | |
with: | |
name: "checksums.sha256" | |
path: "./checksums.sha256" | |
- name: Create Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: ${{ github.event.inputs.tagname }} | |
name: Release ${{ github.event.inputs.tagname }} | |
files: | | |
php | |
php-gd | |
php-gd-no-modification | |
php-next-major-gd | |
php-experimental-gd | |
zip-php.zip | |
zip-php-gd.zip | |
zip-php-gd-no-modification.zip | |
zip-php-next-major-gd.zip | |
zip-php-experimental-gd.zip | |
php.ini | |
php-next-major.ini | |
php-experimental-gd.ini | |
checksums.sha256 | |
body: "The php version for this release is ${{ github.event.inputs.tagname }}. | |
The download is available from the Assets dropdown. | |
#### Notes | |
This binary does not support jit. | |
This binary is for ARMv8 (aarch64, 64bit). | |
It does not work on arm (32bit). | |
All binaries are not compatible with pmmp3 and are for pmmp4. | |
the php or php-gd binaries are recommended. | |
The php version of php-next-major-gd is 8.1.. | |
The php version of php-experimental-gd is 8.2.. | |
" |