Compare commits

..

12 Commits

Author SHA1 Message Date
Constantin Graf
5d051fb062 Build FrankenPHP on patched PHP 8.3.36 base 2026-10-21 19:26:34 +02:00
Constantin Graf
c8a300e1b6 Update FrankenPHP to 1.13 2026-10-21 15:57:31 +02:00
Constantin Graf
eed654b9c8 Disable session upload progress in production PHP config 2026-10-21 11:34:51 +02:00
Gregor Vostrak
68833a5125 Enhance contribution guidelines 2026-10-21 00:50:27 +02:00
Constantin Graf
735f3b8d39 Update services extension to v0.0.6 2026-10-20 23:29:49 +02:00
Gregor Vostrak
9caf911795 improve README with issue reporting guidelines and formatting 2026-10-20 23:12:15 +02:00
Gregor Vostrak
c55afd234e Add guideline against AI-generated text usage 2026-10-20 23:08:23 +02:00
Gregor Vostrak
20cc5f9e5b Update CONTRIBUTING.md with new AI rules for issues, PRs and discussions 2026-10-20 23:06:49 +02:00
Constantin Graf
2df7a2845e Update services extension to v0.0.5 2026-10-20 21:45:18 +02:00
Constantin Graf
510cb10cb9 Deploy API docs with the FastFront GitHub action 2026-10-19 16:54:33 +02:00
Gregor Vostrak
b46f015754 Always show the create goal button and open the upgrade modal when the goal limit is reached 2026-10-14 16:59:51 +02:00
Gregor Vostrak
fc8985f513 Invalidate goals after time entry and member changes 2026-10-14 16:59:51 +02:00
6 changed files with 123 additions and 15 deletions

View File

@@ -3,6 +3,7 @@ on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
@@ -57,10 +58,9 @@ jobs:
name: api-docs.json
path: build/api-docs.json
- name: "Download Fastfront CLI"
run: curl https://fastfront-cli.s3.fr-par.scw.cloud/fastfront-cli.phar -o fastfront-cli.phar
- name: "Deploy with Fastfront"
run: php fastfront-cli.phar deploy 9beab6cf-f459-446b-85f1-38ec007cf457 ./build
env:
FASTFRONT_API_KEY: ${{ secrets.FASTFRONT_API_DOCS_API_KEY }}
- name: "Deploy with FastFront"
uses: fastfront-io/deploy-action@v0.0.1
with:
folder: './build'
environment: ${{ vars.FASTFRONT_API_DOCS_STAGE }}
api_key: ${{ secrets.FASTFRONT_API_DOCS_STAGE_KEY }}

View File

@@ -6,7 +6,19 @@ Contributions are greatly apprecited, please make sure to read the rules and vis
### Issues for Bugs, Discussions for Feature requests
In order to keep the issues of the repository clean we decided to only use them for bugs. Feature Requests and enhancement are handled in discussions. This also helps us to see which feature requests are popular as they can be upvoted.
In order to keep the issues of the repository clean we decided to only use them for bugs. Feature Requests and enhancements are handled in discussions. This also helps us to see which feature requests are popular as they can be upvoted.
### Do not use AI-generated text in issues, discussions and PR descriptions
We are human, so please write in natural language in your issues, discussions, and PR descriptions.
Don't be a meatproxy. We will ban people who repeatedly violate this rule from further communication on our repositories.
### Before you contribute, ask yourself what value you add
We much prefer reading your thoughts on features or issues you encountered than reading through hundreds of lines of code changes produced by your agent.
Consider that the maintainers of this project have the same access to LLMs and more knowledge about the project itself.
Prompting a feature into existence without further consideration or discussion is mostly a burden for maintainers.
If we want to, we can burn the tokens ourselves.
### Only work on approved issues

View File

@@ -30,8 +30,16 @@ If you do not want to self-host solidtime or try it out you can sign up for [sol
## Issues & Feature Requests
If you find any **bugs in solidtime**, please feel free to [**open an issue**](https://github.com/solidtime-io/solidtime/issues/new) in this repository, with instructions on how to reproduce the bug.
If you have a **feature request**, please [**create a discussion**](https://github.com/solidtime-io/solidtime/discussions/new?category=feature-requests) in this repository.
If you
* find any **bugs in solidtime**, please feel free to [**open an issue**](https://github.com/solidtime-io/solidtime/issues/new) in this repository, with instructions on how to reproduce the bug.
* have a **feature request**, please [**create a discussion**](https://github.com/solidtime-io/solidtime/discussions/new?category=feature-requests) in this repository.
> **Do not use AI-generated text in issues, discussions and PR descriptions.**
>
> We are human, so please write in natural language in your issues, discussions, and PR descriptions.
> Don't be a meatproxy. We will ban people who repeatedly violate this rule from further communication on our repositories.
## Contributing

View File

@@ -1,12 +1,90 @@
ARG PHP_VERSION=8.3
ARG FRANKENPHP_VERSION=1.11
# syntax=docker/dockerfile:1
ARG PHP_VERSION=8.3.36
ARG GO_VERSION=1.27
# FrankenPHP v1.13.1
ARG FRANKENPHP_REF=99d4e119ca2e5a90a69d8dbee5d5c9a8016416c5
ARG WATCHER_VERSION=0.14.5
ARG COMPOSER_VERSION=2.8
ARG APP_ENV
ARG DOCKER_FILES_BASE_PATH="docker/prod/"
FROM composer:${COMPOSER_VERSION} AS vendor
FROM dunglas/frankenphp:${FRANKENPHP_VERSION}-builder-php${PHP_VERSION} AS upstream
FROM golang:${GO_VERSION}-trixie AS golang-base
# Rebuild of the official dunglas/frankenphp images on a patched PHP base.
# Mirrors the "common", "builder" and "runner" stages of https://github.com/php/frankenphp/blob/v1.13.1/Dockerfile
FROM scratch AS frankenphp-src
ARG FRANKENPHP_REF
ADD https://github.com/php/frankenphp.git#${FRANKENPHP_REF} /
FROM php:${PHP_VERSION}-zts-trixie AS frankenphp-common
WORKDIR /app
RUN apt-get update && \
apt-get -y --no-install-recommends install \
mailcap \
libcap2-bin \
&& \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN set -eux; \
mkdir -p \
/app/public \
/config/caddy \
/data/caddy \
/etc/caddy \
/etc/frankenphp; \
sed -i 's/php/frankenphp run/g' /usr/local/bin/docker-php-entrypoint
COPY --link --from=frankenphp-src /caddy/frankenphp/Caddyfile /etc/caddy/Caddyfile
COPY --link --from=frankenphp-src /package/content/index.php /app/public/index.php
RUN ln /etc/caddy/Caddyfile /etc/frankenphp/Caddyfile && \
curl -sSLf \
-o /usr/local/bin/install-php-extensions \
https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions && \
chmod +x /usr/local/bin/install-php-extensions
ENV XDG_CONFIG_HOME=/config
ENV XDG_DATA_HOME=/data
FROM frankenphp-common AS upstream
ARG WATCHER_VERSION
COPY --from=golang-base /usr/local/go /usr/local/go
ENV PATH=/usr/local/go/bin:$PATH
ENV GOTOOLCHAIN=local
RUN apt-get update && \
apt-get -y --no-install-recommends install \
cmake \
git \
libargon2-dev \
libbrotli-dev \
libcurl4-openssl-dev \
libonig-dev \
libreadline-dev \
libsodium-dev \
libsqlite3-dev \
libssl-dev \
libxml2-dev \
zlib1g-dev \
&& \
apt-get clean
WORKDIR /usr/local/src/watcher
RUN curl -fsSL "https://github.com/e-dant/watcher/archive/refs/tags/${WATCHER_VERSION}.tar.gz" | tar xz --strip-components 1 && \
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release && \
cmake --build build && \
cmake --install build && \
ldconfig
WORKDIR /go/src/app
COPY --link --from=frankenphp-src / ./
COPY --from=caddy:builder /usr/bin/xcaddy /usr/bin/xcaddy
@@ -21,7 +99,16 @@ RUN CGO_ENABLED=1 \
--with github.com/dunglas/frankenphp/caddy=./caddy/ \
--with github.com/dunglas/caddy-cbrotli
FROM dunglas/frankenphp:${FRANKENPHP_VERSION}-php${PHP_VERSION}
FROM frankenphp-common
ENV GODEBUG=cgocheck=0
COPY --from=upstream /usr/local/lib/libwatcher* /usr/local/lib/
RUN apt-get update && \
apt-get install -y --no-install-recommends libstdc++6 && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* && \
ldconfig
COPY --from=upstream /usr/local/bin/frankenphp /usr/local/bin/frankenphp

View File

@@ -7,6 +7,7 @@ realpath_cache_ttl = 720
memory_limit = 256M
max_input_time = 5
register_argc_argv = 0
session.upload_progress.enabled = 0
date.timezone = ${TZ:-UTC}
[Opcache]

View File

@@ -5,7 +5,7 @@
},
"Services": {
"repository": "solidtime-io/extension-services",
"ref": "v0.0.4"
"ref": "v0.0.6"
},
"Invoicing": {
"repository": "solidtime-io/extension-invoicing",