diff --git a/.woodpecker/build_release.yml b/.woodpecker/build_release.yml index 4a1b013..b305ba4 100644 --- a/.woodpecker/build_release.yml +++ b/.woodpecker/build_release.yml @@ -1,9 +1,9 @@ matrix: PHP_VERSION: - - 8 - - 8.3 - - 8.2 - 8.1 + - 8.2 + - 8.3 + - 8 when: branch: diff --git a/Dockerfile b/Dockerfile index ca022ce..53d6b08 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,6 +5,9 @@ FROM php:${BASE_VERSION}-fpm-alpine # port to for the webserver ENV WEBSERVER_PORT=8080 +# path without leading / (slash) +ENV HEALTHCHECK_PATH="" + COPY start-container.sh /usr/local/bin/start-container RUN apk add --no-cache \ @@ -32,6 +35,9 @@ RUN apk add --no-cache \ && docker-php-ext-install filter pdo_mysql \ && chmod +x /usr/local/bin/start-container +HEALTHCHECK --interval=5m --timeout=3s --start-period=5m --start-interval=10s \ + CMD curl -f http://localhost:${WEBSERVER_PORT}/${HEALTHCHECK_PATH} || exit 1 + EXPOSE ${WEBSERVER_PORT} WORKDIR /var/www/html diff --git a/build/start-container.sh b/build/start-container.sh index 31ccfce..c2a3e74 100644 --- a/build/start-container.sh +++ b/build/start-container.sh @@ -3,6 +3,11 @@ # exit when any command fails set -e +if [ ! -f /var/www/html/artisan ]; then + echo "No existing Laravel project found" + exit +fi + # install extra packages and extensions on first boot if [[ $(id -u) -eq 0 && ! -f /etc/first_boot ]]; then if [[ -n "${EXTRA_APK_PACKAGES// /}" ]]; then @@ -26,9 +31,9 @@ if [[ "$BOOT_NPM_INSTALL" = true ]]; then npm install --cache /tmp/npm fi -if [ ! -f /var/www/html/artisan ]; then - echo "No existing Laravel project found" - exit +if [[ "$BOOT_MIGRATE" = true ]]; then + echo "artisan migrate" + php /var/www/html/artisan migrate fi if [[ "$BOOT_NPM_DEV" = true ]]; then diff --git a/gen-tag-list.sh b/gen-tag-list.sh index 2c79618..c49ebd6 100755 --- a/gen-tag-list.sh +++ b/gen-tag-list.sh @@ -12,14 +12,22 @@ fi version=$1 # Suffix -[[ -n $2 ]] && suffix="-$2" || suffix="" +suffix="" +if [[ -n $2 ]]; then + suffix="-$2" +fi + +touch tags.txt +if [[ "$2" = "php-8" ]]; then + echo "latest" >> tags.txt +fi # Check if the first character is "V" or "v" and remove it if [[ "${version:0:1}" == "V" || "${version:0:1}" == "v" ]]; then version="${version#?}" fi -echo "latest$suffix" > tags.txt +echo "latest$suffix" >> tags.txt echo "$version" | cut -d'.' -f1 | xargs -I {} echo "{}$suffix" >> tags.txt echo "$version" | cut -d'.' -f1,2 | xargs -I {} echo "{}$suffix" >> tags.txt echo "$version" | cut -d'.' -f1,2,3 | xargs -I {} echo "{}$suffix" >> tags.txt \ No newline at end of file