Alexandre Daubois
d704e60bb0
chore: bump to Go 1.26 ( #2178 )
...
Bump and free perf boost with Green tea GC 🍵
2026-02-11 14:55:57 +01:00
Tim Nelles
be2d6b96eb
Merge commit from fork
...
Compute base-image fingerprint from bake metadata and store it under a vendor label. Add a local test script to reproduce the fingerprint and compare runs.
Co-authored-by: Tim Nelles <tim.nelles@denkwerk.com >
2026-02-04 13:09:44 +01:00
Kévin Dunglas
a8f75d0eef
ci: verbose logs for StaticPHP ( #2074 )
2025-12-15 20:13:15 +01:00
Antonin CLAUZIER
01beb66573
ci: PHP 8.5 ( #2006 )
...
Co-authored-by: Marc <m@pyc.ac >
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
2025-11-21 13:54:07 +01:00
Kévin Dunglas
ea042637e6
ci: add back ARMv6 build
2025-11-20 11:47:36 +01:00
Marc
853cb67e95
shallow clone to save space in CI ( #1987 )
...
* shallow clone
* also remove source dir after building in CI
* formatting
* pass them through?
* only CI
* add as variable
2025-11-18 08:48:06 +01:00
Alexandre Daubois
c14d771fdf
feat(docker): add support for Debian Trixie ( #1777 )
...
* ci: add support for Debian Trixie
* nit
* add Trixie to bug_report.yaml
---------
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
2025-08-27 08:32:05 +02:00
Kévin Dunglas
5f153e06d6
chore: upgrade to Go 1.25 ( #1811 )
...
* chore: upgrade to Go 1.25
* free all interned strings (test)
* Revert "free all interned strings (test)"
This reverts commit 34823baadb .
* Another test.
* Another test
* ASAN_OPTIONS: detect_leaks=0
* Update sanitizers.yaml
* Update sanitizers.yaml
* Update sanitizers.yaml
---------
Co-authored-by: Alliballibaba <alliballibaba@gmail.com >
2025-08-18 10:46:03 +02:00
Alexandre Daubois
2712876e95
ci(docker): authenticate GitHub API calls ( #1680 )
2025-06-24 16:51:21 +02:00
Kévin Dunglas
ecca9dc01d
ci: use latest stable Go version for the mostly static binary ( #1558 )
...
* ci: use latest stable Go version for the mostly static binary
* fix
2025-05-13 16:10:02 +02:00
Jerry Ma
3bc426482a
feat: add glibc-based static binary ( #1438 )
...
* Add gnu static binary build support
* Remove --libc option
* configure ./build-static.sh to allow extension loading with glibc
* use tabs everywhere
* do not use prebuilt sources for glibc build
* ffi does not work with musl builds
* remove unnecessary tabs
* disable opcache jit on musl
* disable opcache jit on musl again
* err, build command, not download command
* cs fixes
* spellcheck
* even more cs fixes
* fix ar removing .a libs
* disable ffi extension for now
* add gnu static action
* add gnu-static target
* skip CHECKOV 2 and 3
* rename static-builder to static-builder-musl, gnu-static to static-builder-gnu
run arm64 gnu job on ubuntu-arm
* rename build-linux to build-linux-musl
* rename job description to specify musl
* higher optimisation flags
* Update docker-bake.hcl
---------
Co-authored-by: DubbleClick <m@pyc.ac >
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
2025-03-22 11:41:47 +01:00
Kévin Dunglas
f61bc180c4
chore: upgrade to Go 1.24
2025-02-18 07:33:36 +01:00
Kévin Dunglas
8a199bb4d7
chore: remove useless EDANT_WATCHER_VERSION Docker ARG
2024-11-27 12:03:01 +01:00
Kévin Dunglas
a1797c49b0
chore: bump deps ( #1187 )
2024-11-23 13:53:08 +01:00
Kévin Dunglas
449a0e7191
ci: build PHP 8.4 Docker images ( #1183 )
...
* ci: add PHP 8.4 to the CD pipeline
* fix: revert to 8.3 for Static PHP CLI
* fix
2024-11-22 18:17:12 +01:00
Alexander Stecher
8d9b6e755b
feat: restart workers when on source changes ( #1013 )
...
* Adds filesystem watcher with tests.
* Refactoring.
* Formatting.
* Formatting.
* Switches to absolute path in tests.
* Fixes race condition from merge conflict.
* Fixes race condition.
* Fixes tests.
* Fixes markdown lint errors.
* Switches back to absolute paths.
* Reverts back to relative file paths.
* Fixes golangci-lint issues.
* Uses github.com/dunglas/go-fswatch instead.
* Stops watcher before stopping workers.
* Updates docs.
* Avoids segfault in tests.
* Fixes watcher segmentation violations on shutdown.
* Adjusts watcher latencies and tests.
* Adds fswatch to dockerfiles
* Fixes fswatch in alpine.
* Fixes segfault (this time for real).
* Allows queueing new reload if file changes while workers are reloading.
* Makes tests more consistent.
* Prevents the watcher from getting stuck if there is an error in the worker file itself.
* Reverts changing the image.
* Puts fswatch version into docker-bake.hcl.
* Asserts instead of panicking.
* Adds notice
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update dev.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update alpine.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update alpine.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update dev-alpine.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update dev-alpine.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update dev.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update docs/config.md
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Runs fswatch version.
* Removes .json.
* Replaces ms with s.
* Resets the channel after closing it.
* Update watcher_options.go
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update watcher_test.go
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Asserts no error instead.
* Fixes a race condition where events are fired after frankenphp has stopped.
* Updates docs.
* Update watcher_options_test.go
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Allows queuing events while watchers are reloading.
* go fmt
* Refactors stopping and draining logic.
* Allows extended watcher configuration with dirs, recursion, symlinks, case-sensitivity, latency, monitor types and regex.
* Updates docs.
* Adds TODOS.
* go fmt.
* Fixes linting errors.
* Also allows wildcards in the longform and adjusts docs.
* Adds debug log.
* Fixes the watcher short form.
* Refactors sessions and options into a struct.
* Fixes an overflow in the 'workersReadyWG' on unexpected terminations.
* Properly logs errors coming from session.Start().
* go fmt.
* Adds --nocache.
* Fixes lint issue.
* Refactors and resolves race condition on worker reload.
* Implements debouncing with a timer as suggested by @withinboredom.
* Starts watcher even if no workers are defined.
* Updates docs with file limit warning.
* Adds watch config unit tests.
* Adjusts debounce timings.
* go fmt.
* Adds fswatch to static builder (test).
* Adds a short grace period between stopping and destroying the watcher sessions.
* Adds caddy test.
* Adjusts sleep time.
* Swap to edant/watcher.
* Fixes watch options and tests.
* go fmt.
* Adds TODO.
* Installs edant/watcher in the bookworm image.
* Fixes linting.
* Refactors the watcher into its own module.
* Adjusts naming.
* ADocker image adjustments and refactoring.
* Testing installation methods.
* Installs via gcc instead.
* Fixes pointer formats.
* Fixes lint issues.
* Fixes arm alpine and updates docs.
* Clang format.
* Fixes dirs.
* Adds watcher version arg.
* Uses static lib version.
* Adds watcher to tests and sanitizers.
* Uses sudo for copying the shared lib.
* Removes unnused func.
* Refactoring.
* Update .github/workflows/sanitizers.yaml
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Adds fpic.
* Fixes linting.
* Skips tests in msan.
* Resets op_cache in every worker thread after termination
* Review fixes part 1.
* Test: installing libstc++ instead of gcc.
* Test: using msan ignorelist.
* Test: using msan ignorelist.
* Test: using msan ignorelist.
* Allows '/**/' for global recursion and '**/' for relative recursion.
* Reverts using the ignorelist.
* Calls opcache directly.
* Adds --watch to php-server command
* Properly free CStrings.
* Sorts alphabetically and uses curl instead of git.
* Labeling and formatting.
* Update .github/workflows/sanitizers.yaml
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update .github/workflows/sanitizers.yaml
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update .github/workflows/tests.yaml
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update .github/workflows/tests.yaml
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update caddy/caddy.go
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update docs/config.md
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update frankenphp_with_watcher_test.go
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update watcher/watcher.h
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update frankenphp.c
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update watcher/watcher.go
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update docs/config.md
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update frankenphp_with_watcher_test.go
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update testdata/files/.gitignore
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update watcher/watcher-c.h
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update watcher/watcher.c
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Fixes test and Dockerfile.
* Fixes Dockerfiles.
* Resets go versions.
* Replaces unsafe.pointer with uintptr_t
* Prevents worker channels from being destroyed on reload.
* Minimizes the public api by only passing a []string.
* Adds support for directory patterns and multiple '**' globs.
* Adjusts label.
* go fmt.
* go mod tidy.
* Fixes merge conflict.
* Refactoring and formatting.
* Cleans up unused vars and functions.
* Allows dirs with a dot.
* Makes test nicer.
* Add dir tests.
* Moves the watch directive inside the worker directive.
* Adds debug log on special events.
* Removes line about symlinks.
* Hints at multiple possible --watch flags.
* Adds ./**/*.php as default watch configuration.
* Changes error to a warning.
* Changes the default to './**/*.{php,yaml,yml,twig,env}' and supports the {bracket} pattern.
* Fixes linting.
* Fixes merge conflict and adjust values.
* Adjusts values.
---------
Co-authored-by: a.stecher <a.stecher@sportradar.com >
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
2024-10-07 13:17:24 +02:00
Kévin Dunglas
0751f453b9
fix: create a custom Go build when using musl to prevent a crash ( #913 )
2024-07-11 10:26:28 +02:00
Kévin Dunglas
ae4ebd11f6
fix: downgrade to Go 1.22.4 for Alpine builds
2024-07-03 17:02:37 +02:00
Kévin Dunglas
835ad8acb2
ci: cleanup static build workflows
2024-05-17 16:14:22 +02:00
Kévin Dunglas
f773c1f529
ci: clean Docker tags
2024-05-15 14:23:36 +02:00
Kévin Dunglas
a2f0eb9140
ci: remove SHA tag for non-dev Docker images ( #781 )
...
* ci: remove SHA tag for non-dev Docker images
* docs: Docker variants
2024-05-13 14:52:13 +02:00
Kévin Dunglas
feaa950d89
feat: compile with Go 1.22 ( #568 )
2024-02-12 10:00:46 +01:00
Kévin Dunglas
67fdefc416
ci: build Linux aarch64 binaries ( #432 )
2023-12-24 11:35:59 +01:00
Kévin Dunglas
efa49848e4
ci: remove armv6 Debian images ( #431 )
2023-12-22 16:45:51 +01:00
Kévin Dunglas
2eabec8c92
ci: fix static binary release
2023-12-20 19:44:48 +01:00
Kévin Dunglas
cb02ce4783
ci: add Docker tags containing the minor and major PHP version ( #373 )
2023-12-13 09:06:48 +01:00
Kévin Dunglas
58597bfeab
ci: better tags for static-builder Docker image
2023-12-07 00:30:21 +01:00
Natsuki Ikeguchi
b32e738d75
feat: Upgrade to PHP 8.3
...
Signed-off-by: Natsuki Ikeguchi <me@s6n.jp >
2023-11-29 10:40:24 +01:00
Kévin Dunglas
0266175df8
ci: PHP 8.3 RC6 Docker images
2023-11-10 15:05:16 +01:00
Antoine Lamirault
8c57f4cc85
feat: upgrade to PHP 8.3RC4
2023-10-16 21:20:22 +02:00
Kévin Dunglas
123d167729
ci: release infrastructure ( #213 )
...
* ci: release infrastructure
* ci: release CircleCI binary
* fix circle
* fix Circle pipeline
* improve tags and docs
* improvements
2023-09-20 14:15:41 +02:00
Kévin Dunglas
546dfbcbaf
feat: upgrade to PHP 8.3RC2
2023-09-18 08:16:43 +02:00
Kévin Dunglas
d30dbdf96e
feat: add support for 8.3rc1 ( #209 )
2023-09-14 23:16:50 +02:00
Kévin Dunglas
22d4214529
feat: improve Docker images ( #208 )
2023-09-14 19:07:01 +02:00
Kévin Dunglas
1f3007337d
feat: create a static build of FrankenPHP ( #198 )
...
* ci: create a static build of FrankenPHP
* try to use alpine
* path mapping
* cache and fixes
* fix
* fix include path
* fix include path
* fix include path
* switch to Docker
* fix github token
* cleanup
* various improvements
* macOS instructions
* fix GHA
* docs
* feat: mac static builds
* minor fix
* fix wd
* Apple silicon build
* Revert "Apple silicon build"
This reverts commit 7a2997e092 .
* add opcache
* update builder
* upgrade to PHP 8.2
* switch to upstream static-php-cli, add intl
2023-09-12 22:08:19 +02:00
Kévin Dunglas
d024c3aaf2
chore: upgrade to Go 1.21 ( #195 )
2023-08-23 11:33:45 +02:00
DracoBlue
2c30d03e17
feat: Docker images for PHP 8.3.0-beta3 ( #194 )
2023-08-22 21:51:25 +02:00
Kévin Dunglas
d69405abcb
ci: PHP 8.3 beta 2 Docker images
2023-08-05 18:55:06 +02:00
Kévin Dunglas
c510683755
chore: use PHP 8.3 beta 1
2023-08-04 21:47:30 +02:00
Kévin Dunglas
7620c8658a
feat: add FrankenPHP version to the version command
2023-07-17 18:46:48 +02:00
Kévin Dunglas
70110dcc77
ci: Docker images for various PHP versions
...
Also adds semver support.
2023-07-17 10:18:33 +02:00
Marko Korhonen
e66ac34ac7
ci: use Docker Bake to build images
2023-07-17 10:18:33 +02:00
Kévin Dunglas
ec09b8ab8a
chore(docker): upgrade to Debian Bookworm
2023-06-29 01:21:05 +02:00
Marko Korhonen
4293397541
feat: add Alpine based Docker image ( #43 )
...
* Gitignore .idea folder (PhpStorm etc)
* Alpine version of Dockerfile
* Bake definition to build Docker images
* Docs for Docker image building
* Link to docker.md
* Use latest change on using official php-src repo and PHP-8.2 branch
* Remove ARGS and get other changes from Dockerfile (original)
* Update GHA workflows with Dockerfile.alpine
2022-10-21 15:23:23 +02:00