Skip to content

Symbol updater

Symbol updater #1003

Workflow file for this run

name: Symbol updater
permissions: read-all
on:
workflow_dispatch:
schedule:
- cron: "20 */5 * * *"
jobs:
run:
runs-on: ubuntu-24.04
name: PHP ${{ matrix.php-version }}
strategy:
matrix:
include:
- php-version: '5.3'
extensions: 'none, bcmath,bz2,calendar,com_dotnet,ctype,curl,date,dba,dom,enchant,ereg,exif,fileinfo,filter,ftp,gd,gettext,gmp,hash,iconv,imap,interbase,intl,json,ldap,libxml,mbstring,mcrypt,mssql,mysql,mysqli,mysqlnd,oci8,odbc,openssl,pcntl,pcre,pdo,pdo_dblib,pdo_firebird,pdo_mysql,pdo_oci,pdo_odbc,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,pspell,readline,recode,reflection,session,shmop,simplexml,snmp,soap,sockets,spl,sqlite,sqlite3,standard,sybase_ct,sysvmsg,sysvsem,sysvshm,tidy,tokenizer,wddx,xml,xmlreader,xmlrpc,xmlwriter,xsl,zip,zlib'
- php-version: '5.4'
extensions: 'none, bcmath,bz2,calendar,com_dotnet,ctype,curl,date,dba,dom,enchant,ereg,exif,fileinfo,filter,ftp,gd,gettext,gmp,hash,iconv,imap,interbase,intl,json,ldap,libxml,mbstring,mcrypt,mssql,mysql,mysqli,mysqlnd,oci8,odbc,openssl,pcntl,pcre,pdo,pdo_dblib,pdo_firebird,pdo_mysql,pdo_oci,pdo_odbc,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,pspell,readline,recode,reflection,session,shmop,simplexml,snmp,soap,sockets,spl,sqlite3,standard,sybase_ct,sysvmsg,sysvsem,sysvshm,tidy,tokenizer,wddx,xml,xmlreader,xmlrpc,xmlwriter,xsl,zip,zlib' # -sqlite
- php-version: '5.5'
extensions: 'none, bcmath,bz2,calendar,com_dotnet,ctype,curl,date,dba,dom,enchant,ereg,exif,fileinfo,filter,ftp,gd,gettext,gmp,hash,iconv,imap,interbase,intl,json,ldap,libxml,mbstring,mcrypt,mssql,mysql,mysqli,mysqlnd,oci8,odbc,opcache,openssl,pcntl,pcre,pdo,pdo_dblib,pdo_firebird,pdo_mysql,pdo_oci,pdo_odbc,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,pspell,readline,recode,reflection,session,shmop,simplexml,snmp,soap,sockets,spl,sqlite3,standard,sybase_ct,sysvmsg,sysvsem,sysvshm,tidy,tokenizer,wddx,xml,xmlreader,xmlrpc,xmlwriter,xsl,zip,zlib' # +opcache
- php-version: '5.6'
extensions: 'none, bcmath,bz2,calendar,com_dotnet,ctype,curl,date,dba,dom,enchant,ereg,exif,fileinfo,filter,ftp,gd,gettext,gmp,hash,iconv,imap,interbase,intl,json,ldap,libxml,mbstring,mcrypt,mssql,mysql,mysqli,mysqlnd,oci8,odbc,opcache,openssl,pcntl,pcre,pdo,pdo_dblib,pdo_firebird,pdo_mysql,pdo_oci,pdo_odbc,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,pspell,readline,recode,reflection,session,shmop,simplexml,snmp,soap,sockets,spl,sqlite3,standard,sybase_ct,sysvmsg,sysvsem,sysvshm,tidy,tokenizer,wddx,xml,xmlreader,xmlrpc,xmlwriter,xsl,zip,zlib' # =
- php-version: '7.0'
extensions: 'none, bcmath,bz2,calendar,com_dotnet,ctype,curl,date,dba,dom,enchant,exif,fileinfo,filter,ftp,gd,gettext,gmp,hash,iconv,imap,interbase,intl,json,ldap,libxml,mbstring,mcrypt,mysqli,mysqlnd,oci8,odbc,opcache,openssl,pcntl,pcre,pdo,pdo_dblib,pdo_firebird,pdo_mysql,pdo_oci,pdo_odbc,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,pspell,readline,recode,reflection,session,shmop,simplexml,snmp,soap,sockets,spl,sqlite3,standard,sysvmsg,sysvsem,sysvshm,tidy,tokenizer,wddx,xml,xmlreader,xmlrpc,xmlwriter,xsl,zip,zlib' # -ereg,mssql,mysql,sysbase_ct
- php-version: '7.1'
extensions: 'none, bcmath,bz2,calendar,com_dotnet,ctype,curl,date,dba,dom,enchant,exif,fileinfo,filter,ftp,gd,gettext,gmp,hash,iconv,imap,interbase,intl,json,ldap,libxml,mbstring,mcrypt,mysqli,mysqlnd,oci8,odbc,opcache,openssl,pcntl,pcre,pdo,pdo_dblib,pdo_firebird,pdo_mysql,pdo_oci,pdo_odbc,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,pspell,readline,recode,reflection,session,shmop,simplexml,snmp,soap,sockets,spl,sqlite3,standard,sysvmsg,sysvsem,sysvshm,tidy,tokenizer,wddx,xml,xmlreader,xmlrpc,xmlwriter,xsl,zip,zlib' # =
- php-version: '7.2'
extensions: 'none, bcmath,bz2,calendar,com_dotnet,ctype,curl,date,dba,dom,enchant,exif,fileinfo,filter,ftp,gd,gettext,gmp,hash,iconv,imap,interbase,intl,json,ldap,libxml,mbstring,mysqli,mysqlnd,oci8,odbc,opcache,openssl,pcntl,pcre,pdo,pdo_dblib,pdo_firebird,pdo_mysql,pdo_oci,pdo_odbc,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,pspell,readline,recode,reflection,session,shmop,simplexml,snmp,soap,sockets,sodium,spl,sqlite3,standard,sysvmsg,sysvsem,sysvshm,tidy,tokenizer,wddx,xml,xmlreader,xmlrpc,xmlwriter,xsl,zip,zlib' # -mcrypt +sodium
- php-version: '7.3'
extensions: 'none, bcmath,bz2,calendar,com_dotnet,ctype,curl,date,dba,dom,enchant,exif,fileinfo,filter,ftp,gd,gettext,gmp,hash,iconv,imap,interbase,intl,json,ldap,libxml,mbstring,mysqli,mysqlnd,oci8,odbc,opcache,openssl,pcntl,pcre,pdo,pdo_dblib,pdo_firebird,pdo_mysql,pdo_oci,pdo_odbc,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,pspell,readline,recode,reflection,session,shmop,simplexml,snmp,soap,sockets,sodium,spl,sqlite3,standard,sysvmsg,sysvsem,sysvshm,tidy,tokenizer,wddx,xml,xmlreader,xmlrpc,xmlwriter,xsl,zip,zlib' # =
- php-version: '7.4'
extensions: 'none, bcmath,bz2,calendar,com_dotnet,ctype,curl,date,dba,dom,enchant,exif,ffi,fileinfo,filter,ftp,gd,gettext,gmp,hash,iconv,imap,intl,json,ldap,libxml,mbstring,mysqli,mysqlnd,oci8,odbc,opcache,openssl,pcntl,pcre,pdo,pdo_dblib,pdo_firebird,pdo_mysql,pdo_oci,pdo_odbc,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,pspell,readline,reflection,session,shmop,simplexml,snmp,soap,sockets,sodium,spl,sqlite3,standard,sysvmsg,sysvsem,sysvshm,tidy,tokenizer,xml,xmlreader,xmlrpc,xmlwriter,xsl,zip,zlib' # +ffi -interbase,recode,wddx
- php-version: '8.0'
extensions: 'none, bcmath,bz2,calendar,com_dotnet,ctype,curl,date,dba,dom,enchant,exif,ffi,fileinfo,filter,ftp,gd,gettext,gmp,hash,iconv,imap,intl,json,ldap,libxml,mbstring,mysqli,mysqlnd,oci8,odbc,opcache,openssl,pcntl,pcre,pdo,pdo_dblib,pdo_firebird,pdo_mysql,pdo_oci,pdo_odbc,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,pspell,readline,reflection,session,shmop,simplexml,snmp,soap,sockets,sodium,spl,sqlite3,standard,sysvmsg,sysvsem,sysvshm,tidy,tokenizer,xml,xmlreader,xmlrpc,xmlwriter,xsl,zip,zlib' # -xmlrpc
- php-version: '8.1'
extensions: 'none, bcmath,bz2,calendar,com_dotnet,ctype,curl,date,dba,dom,enchant,exif,ffi,fileinfo,filter,ftp,gd,gettext,gmp,hash,iconv,imap,intl,json,ldap,libxml,mbstring,mysqli,mysqlnd,oci8,odbc,opcache,openssl,pcntl,pcre,pdo,pdo_dblib,pdo_firebird,pdo_mysql,pdo_oci,pdo_odbc,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,pspell,readline,reflection,session,shmop,simplexml,snmp,soap,sockets,sodium,spl,sqlite3,standard,sysvmsg,sysvsem,sysvshm,tidy,tokenizer,xml,xmlreader,xmlrpc,xmlwriter,xsl,zip,zlib' # =
- php-version: '8.2'
extensions: 'none, bcmath,bz2,calendar,com_dotnet,ctype,curl,date,dba,dom,enchant,exif,ffi,fileinfo,filter,ftp,gd,gettext,gmp,hash,iconv,imap,intl,json,ldap,libxml,mbstring,mysqli,mysqlnd,oci8,odbc,opcache,openssl,pcntl,pcre,pdo,pdo_dblib,pdo_firebird,pdo_mysql,pdo_oci,pdo_odbc,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,pspell,random,readline,reflection,session,shmop,simplexml,snmp,soap,sockets,sodium,spl,sqlite3,standard,sysvmsg,sysvsem,sysvshm,tidy,tokenizer,xml,xmlreader,xmlrpc,xmlwriter,xsl,zip,zlib' # +random
- php-version: '8.3'
extensions: 'none, bcmath,bz2,calendar,com_dotnet,ctype,curl,date,dba,dom,enchant,exif,ffi,fileinfo,filter,ftp,gd,gettext,gmp,hash,iconv,imap,intl,json,ldap,libxml,mbstring,mysqli,mysqlnd,oci8,odbc,opcache,openssl,pcntl,pcre,pdo,pdo_dblib,pdo_firebird,pdo_mysql,pdo_oci,pdo_odbc,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,pspell,random,readline,reflection,session,shmop,simplexml,snmp,soap,sockets,sodium,spl,sqlite3,standard,sysvmsg,sysvsem,sysvshm,tidy,tokenizer,xml,xmlreader,xmlrpc,xmlwriter,xsl,zip,zlib' # =
- php-version: '8.4'
extensions: 'none, bcmath,bz2,calendar,com_dotnet,ctype,curl,date,dba,dom,enchant,exif,ffi,fileinfo,filter,ftp,gd,gettext,gmp,hash,iconv,intl,json,ldap,libxml,mbstring,mysqli,mysqlnd,odbc,opcache,openssl,pcntl,pcre,pdo,pdo_dblib,pdo_firebird,pdo_mysql,pdo_odbc,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,random,readline,reflection,session,shmop,simplexml,snmp,soap,sockets,sodium,spl,sqlite3,standard,sysvmsg,sysvsem,sysvshm,tidy,tokenizer,xml,xmlreader,xmlrpc,xmlwriter,xsl,zip,zlib' # imap,pspell,oci8,pdo_oci
- php-version: '8.5'
extensions: 'none, bcmath,bz2,calendar,com_dotnet,ctype,curl,date,dba,dom,enchant,exif,ffi,fileinfo,filter,ftp,gd,gettext,gmp,hash,iconv,intl,json,ldap,libxml,mbstring,mysqli,mysqlnd,odbc,opcache,openssl,pcntl,pcre,pdo,pdo_dblib,pdo_firebird,pdo_mysql,pdo_odbc,pdo_pgsql,pdo_sqlite,pgsql,phar,posix,random,readline,reflection,session,shmop,simplexml,snmp,soap,sockets,sodium,spl,sqlite3,standard,sysvmsg,sysvsem,sysvshm,tidy,tokenizer,xml,xmlreader,xmlrpc,xmlwriter,xsl,zip,zlib' # =
steps:
- uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@verbose
if: matrix.php-version != '8.5' && matrix.php-version != '8.4' # Instead of using setup-php, compile PHP from source instead.
with:
php-version: ${{ matrix.php-version }}
extensions: ${{ matrix.extensions }}
env:
update: true
- name: Compile and Setup PHP (${{ matrix.php-version }})
uses: PHPWatch/compile-php@main
if: matrix.php-version == '8.5' || matrix.php-version == '8.4'
with:
branch: ${{ matrix.php-version == '8.5' && 'master' || 'PHP-8.4' }}
- name: Display versions and env
run: |
php -v
php -m
echo "Extensions requested: ${{ matrix.extensions }}"
- name: Dump data
run: |
php bin/dump.php
- name: Upload data
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.php-version }}
path: scratch
collect:
needs: run
runs-on: ubuntu-latest
name: Collect and Commit Data
permissions:
contents: write
steps:
- uses: actions/checkout@v4
name: Checkout main repo
- uses: actions/checkout@v4
name: Checkout data repo
with:
repository: PHPWatch/PHP-Symbols
path: data
token: ${{ secrets.DATA_REPO_PAT }}
- name: Collect data
uses: actions/download-artifact@v4
with:
path: scratch
- name: Prime files
run: |
cp -Rf data/.git data-repo-meta
cp data/README.md data-README.md
rm data -Rf
mkdir data
mv data-repo-meta data/.git
mv data-README.md data/README.md
cp scratch/* data/ -Rf
- name: List dirs
run: find data | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/"
- name: Generate commit message
id: commit_msg
run: |
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
echo "commit_msg<<$EOF" >> $GITHUB_OUTPUT
echo "$(date +"%Y %b %d") - $GITHUB_RUN_ID" >> $GITHUB_OUTPUT
printf "\n" >> $GITHUB_OUTPUT
echo "Action run: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> $GITHUB_OUTPUT
echo "$EOF" >> $GITHUB_OUTPUT
- name: Commit data
id: auto-commit-action
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: ${{ steps.commit_msg.outputs.commit_msg }}
branch: main
repository: data
add_options: '-A'
- name: Update summary (if no symbols changed)
if: steps.auto-commit-action.outputs.changes_detected == 'false'
run:
echo "No changes to the symbols detected" > $GITHUB_STEP_SUMMARY
- name: Update summary (if symbols changed)
if: steps.auto-commit-action.outputs.changes_detected == 'true'
run:
echo "[${{ steps.auto-commit-action.outputs.commit_hash }}](https://github.com/PHPWatch/PHP-Symbols/commit/${{ steps.auto-commit-action.outputs.commit_hash }})" > $GITHUB_STEP_SUMMARY