Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
feba1c6
Update build-cli.yaml
withinboredom Jul 26, 2025
9f26eac
fix deps
withinboredom Jul 26, 2025
1acdf35
update cli deps
withinboredom Jul 26, 2025
764f373
fix deps
withinboredom Jul 26, 2025
bd0dbea
remove profiler
withinboredom Jul 26, 2025
1584155
escape name and id of entities
withinboredom Jul 26, 2025
623d406
Revert "escape name and id of entities"
withinboredom Jul 26, 2025
63ee492
handle hooks
withinboredom Jul 27, 2025
eaaa1a0
fix value
withinboredom Jul 27, 2025
356ca4c
pass on whether or not it is a hook
withinboredom Jul 27, 2025
be73d47
fix small issues
withinboredom Jul 27, 2025
c7d4508
update entity history to accept property hooks
withinboredom Jul 27, 2025
6eb1748
ensure name is set properly
withinboredom Jul 27, 2025
d9b4255
got set/get switched up
withinboredom Jul 27, 2025
6b53c03
add snapshots
withinboredom Jul 27, 2025
d6528ed
make ids easier to work with
withinboredom Jul 27, 2025
18e4742
convert entity and orchestration ids to records
withinboredom Jul 28, 2025
e0f5151
convert state ids to records
withinboredom Jul 28, 2025
0ce9fa0
handle nullables
withinboredom Jul 28, 2025
b2d8b1c
fix order of ?
withinboredom Jul 28, 2025
0bcf7a4
fix event descriptions
withinboredom Jul 28, 2025
b2acc56
handle serialization
withinboredom Jul 28, 2025
b02b7b5
handle nulls
withinboredom Jul 28, 2025
4ace08d
output logging
withinboredom Jul 28, 2025
1fa9f8d
fix stateid
withinboredom Jul 28, 2025
24ad367
handle embedded fields better
withinboredom Jul 28, 2025
a9751b3
execute the signal better
withinboredom Jul 28, 2025
789cc3a
add support for custom claims and roles
withinboredom Jul 29, 2025
bc729d3
add spy exception
withinboredom Jul 29, 2025
7b7caaa
trim spaces
withinboredom Jul 29, 2025
6b19f59
allow sharing ownership via api
withinboredom Jul 29, 2025
5ffaeb6
better handling of spies
withinboredom Jul 29, 2025
acadbd8
fix setting operations and args
withinboredom Jul 29, 2025
9f3b9fd
fix sharing ownership
withinboredom Jul 29, 2025
cba9f5d
grant shares to users
withinboredom Jul 29, 2025
6c492ce
handle orchestrations and fix bug
withinboredom Jul 29, 2025
b6d0f5b
add clients
withinboredom Jul 29, 2025
932d784
fix security issue
withinboredom Jul 29, 2025
5e8cb01
add an auth context
withinboredom Jul 29, 2025
053105c
refactor ids
withinboredom Jul 29, 2025
b6c8c5c
fix minor auth bugs
withinboredom Jul 30, 2025
87ae835
handle array claims
withinboredom Jul 30, 2025
71cb38b
remove unused var
withinboredom Jul 30, 2025
a68f167
handle logging of request
withinboredom Jul 30, 2025
7d6977a
ignore the watcher deps
withinboredom Jul 30, 2025
000cd18
fix docker build
withinboredom Jul 30, 2025
76ce211
remove watcher
withinboredom Jul 30, 2025
37e6b8f
delete workflows that do not matter
withinboredom Jul 30, 2025
837975a
do not error on missing a heartbeat
withinboredom Jul 30, 2025
a8b3f69
use php 8.4 for unit tests
withinboredom Jul 30, 2025
8e47c43
remove arm as a target for now
withinboredom Jul 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/Test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
env:
runner: self-hosted
with:
php-version: '8.3'
php-version: '8.4'
extensions: pcntl, xdebug
tools: composer
- name: Get composer cache directory
Expand Down
88 changes: 1 addition & 87 deletions .github/workflows/build-cli.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,51 +13,12 @@ on:
branches:
- v2
jobs:
build-linux:
strategy:
fail-fast: false
matrix:
platform: [ 'amd64', 'arm64' ]
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.HUB_USERNAME }}
password: ${{ secrets.HUB_PASSWORD }}
- name: Configure QEMU
uses: docker/setup-qemu-action@v3
- name: Configure docker
uses: docker/setup-buildx-action@v3
with:
platforms: ${{ matrix.platform }}
- name: Expose GitHub Runtime
uses: crazy-max/ghaction-github-runtime@v3
- name: Build sources
run: |
echo "${{ secrets.GITHUB_TOKEN }}" > TOKEN
docker buildx build --secret id=github-token,src=./TOKEN --cache-to type=gha,mode=max,scope=${{ matrix.platform }} --cache-from type=gha,scope=${{ matrix.platform }} --pull --load --platform linux/${{ matrix.platform }} --target cli-base-alpine -t builder .
- name: Copy build
run: |
docker create --name builder builder
docker cp builder:/go/src/app/cli/dist/dphp bin/dphp
- name: Archive artifacts
uses: actions/upload-artifact@v4
with:
name: dphp-${{ runner.os }}-${{ matrix.platform }}
path: bin/dphp
build-docker:
runs-on: self-hosted
outputs:
image: ${{ steps.meta.outputs.tags }}
steps:
- uses: actions/checkout@v4
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.HUB_USERNAME }}
password: ${{ secrets.HUB_PASSWORD }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
Expand Down Expand Up @@ -104,7 +65,7 @@ jobs:
builder: ${{ steps.buildx.outputs.name }}
cache-from: type=gha,scope=image
cache-to: type=gha,mode=max,scope=image
platforms: linux/amd64,linux/arm64
platforms: linux/amd64
- name: Build Test Image
uses: docker/build-push-action@v6
with:
Expand All @@ -118,53 +79,6 @@ jobs:
builder: ${{ steps.buildx.outputs.name }}
cache-from: type=gha,scope=image
platforms: linux/amd64
build-osx:
strategy:
fail-fast: false
matrix:
platform: [ 'arm64', 'x86_64' ]
runs-on: ${{ matrix.platform == 'arm64' && 'macos-14' || 'macos-13' }}
env:
HOMEBREW_NO_AUTO_UPDATE: 1
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
cache-dependency-path: cli/go.sum
go-version-file: cli/go.mod
- name: Configure Version
run: |
if [ "${GITHUB_REF_TYPE}" == "tag" ]; then
export VERSION=${GITHUB_REF_NAME:1}
else
export VERSION=${GITHUB_SHA}
fi

echo "VERSION=${VERSION}" >> "${GITHUB_ENV}"
- name: Configure cache
uses: actions/cache@v4
with:
path: dist
key: ${{ matrix.platform }}-${{ hashFiles('cli/*.mod') }}
- name: Run doctor
run: |
export GITHUB_TOKEN "${{ secrets.GITHUB_TOKEN }}"
BUILD=no cli/build-php.sh
- name: Build php
run: |
export GITHUB_TOKEN "${{ secrets.GITHUB_TOKEN }}"
cli/build-php.sh
- name: Build cli
run: |
export GITHUB_TOKEN "${{ secrets.GITHUB_TOKEN }}"
cd cli && ./build.sh
- run: ls -lah cli/dist/
- run: ls -lah dist/ || true
- name: Archive artifacts
uses: actions/upload-artifact@v4
with:
name: dphp-${{ runner.os }}-${{ matrix.platform }}
path: cli/dist/dphp
performance-test:
name: Performance Test
needs:
Expand Down
12 changes: 0 additions & 12 deletions .idea/codeception.xml

This file was deleted.

5 changes: 4 additions & 1 deletion .idea/durable-php.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 11 additions & 4 deletions .idea/php.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

102 changes: 0 additions & 102 deletions .idea/phpspec.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

37 changes: 19 additions & 18 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
FROM golang:1.24.0-alpine AS golang-base
FROM php:8.4.3-zts AS php-base
FROM golang:1.24.5-alpine AS golang-base
FROM php:8.4.10-zts AS php-base
FROM golang-base AS cli-base-alpine

SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
Expand Down Expand Up @@ -29,21 +29,21 @@ RUN apk update; \
m4 \
make \
pkgconfig \
php83 \
php83-common \
php83-ctype \
php83-curl \
php83-dom \
php83-mbstring \
php83-openssl \
php83-pcntl \
php83-phar \
php83-posix \
php83-session \
php83-sodium \
php83-tokenizer \
php83-xml \
php83-xmlwriter \
php84 \
php84-common \
php84-ctype \
php84-curl \
php84-dom \
php84-mbstring \
php84-openssl \
php84-pcntl \
php84-phar \
php84-posix \
php84-session \
php84-sodium \
php84-tokenizer \
php84-xml \
php84-xmlwriter \
upx \
wget \
xz ; \
Expand All @@ -54,6 +54,7 @@ ENV PHP_EXTENSIONS="apcu,bcmath,bz2,calendar,ctype,curl,dba,dom,exif,fileinfo,fi
ENV PHP_EXTENSION_LIBS="bzip2,freetype,libavif,libjpeg,libwebp,libzip"

WORKDIR /go/src/app
COPY .git /go/src/app/.git
COPY cli/build-php.sh .
RUN --mount=type=secret,id=github-token GITHUB_TOKEN=$(cat /run/secrets/github-token) BUILD=no ./build-php.sh
RUN --mount=type=secret,id=github-token GITHUB_TOKEN=$(cat /run/secrets/github-token) ./build-php.sh
Expand Down Expand Up @@ -107,7 +108,7 @@ ENV GOBIN=/usr/local/bin
RUN go get durable_php
#RUN go test ./...

RUN go install -ldflags "-w -s -X 'main.version=$VERSION'"
RUN CGO_CFLAGS=$(php-config --includes) CGO_LDFLAGS="$(php-config --ldflags) $(php-config --libs)" go install --tags nowatcher -ldflags "-w -s -X 'main.version=$VERSION'"

FROM common AS durable-php
COPY --from=builder /usr/local/bin/durable_php /usr/local/bin/dphp
Expand Down
Loading
Loading