From 6dc0792961467daa669073e6a36c20270986ef28 Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Sun, 9 Mar 2025 21:26:40 +0100 Subject: [PATCH] Build arguments --- .github/workflows/dev.yml | 6 +++--- .github/workflows/release.yml | 10 +++++----- CHANGELOG.md | 27 +++++++++++++++++++++++++++ Dockerfile | 18 +++++++++++++----- 4 files changed, 48 insertions(+), 13 deletions(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index cec41fbc0..2166e1202 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -37,7 +37,7 @@ jobs: uses: actions/checkout@v4.2.2 - name: Prepare - Setup dotnet - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v4.3.0 with: dotnet-version: 8.0.x @@ -55,7 +55,7 @@ jobs: uses: docker/setup-buildx-action@v3.10.0 - name: Prepare - Setup dotnet - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v4.3.0 with: dotnet-version: 8.0.x @@ -156,7 +156,7 @@ jobs: uses: docker/setup-buildx-action@v3.10.0 - name: Prepare - Setup dotnet - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v4.3.0 with: dotnet-version: 8.0.x diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e96ffd896..8bdcbf808 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,7 +32,7 @@ jobs: uses: actions/checkout@v4.2.2 - name: Prepare - Setup dotnet - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v4.3.0 with: dotnet-version: 8.0.x @@ -50,7 +50,7 @@ jobs: uses: docker/setup-buildx-action@v3.10.0 - name: Prepare - Setup dotnet - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v4.3.0 with: dotnet-version: 8.0.x @@ -151,7 +151,7 @@ jobs: uses: docker/setup-buildx-action@v3.10.0 - name: Prepare - Setup dotnet - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v4.3.0 with: dotnet-version: 8.0.x @@ -247,18 +247,18 @@ jobs: env: DOCKER_BUILD_RECORD_UPLOAD: false with: + push: true build-args: "SQUIDEX__BUILD__VERSION=${{ env.GITHUB_REF_SLUG }},SQUIDEX__RUNTIME__VERSION=${{ env.GITHUB_REF_SLUG }}" cache-from: type=gha cache-to: type=gha,mode=max platforms: linux/amd64,linux/arm64 - push: true tags: squidex/squidex:${{ env.GITHUB_REF_SLUG }},squidex/squidex:${{ steps.version.outputs._0 }}${{env.STABLE_VERSION == 'true' && ',squidex/squidex:latest'}} - name: Release - Make directories run: sudo mkdir /build /release - name: Release - Create container - run: docker create --name squidex-container squidex-local + run: docker create --name squidex-container squidex/squidex:${{ env.GITHUB_REF_SLUG }} - name: Release - Get binaries run: sudo docker cp squidex-container:/app/. /build diff --git a/CHANGELOG.md b/CHANGELOG.md index f86600d67..994111046 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,33 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [7.18.0] - 2025-03-09 + +This version adds support for SQL databases. A lot of tests have been implemented to ensure it is working properly, but this is still in an early version. + +### Added + +* **Storage**: Support for MySQL. +* **Storage**: Support for Postgres. +* **Storage**: Support for SQL Server. + +### Changed + +* **Build**: Improve build performance with parallel steps.v +* **ImageMagick**: To reduce the container size, ImageMagick has been removed from the container. This is a native library to analyze and resize images. Fortunately it is not needed anymore, because the .NET library ImageSharp can handle all image formats properly. You can also use the dedicated image resize server. When you build your own container or binaries you can enable ImageMagick with the following commands: + * With docker: `docker build . --build-arg SQUIDEX__BUILD__ARGS="-p:DefineConstants=INCLUDE_MAGICK"` + * With dotnet: `dotnet build -p:DefineConstants=INCLUDE_MAGICK` +* **Kafka**: To reduce the container size, Kafka support has been removed from the container. When you build your own container or binaries you can enable Kafka with the following commands: + * With docker: `docker build . --build-arg SQUIDEX__BUILD__ARGS="-p:DefineConstants=INCLUDE_KAFKA"` + * With dotnet: `dotnet build -p:DefineConstants=INCLUDE_KAFKA` + +### Fixed + +* **Events**: Ensure that events can be replayed when the end of the Mongo commit log has been reached. +* **Identity**: Redirect the user to the specified URL after a successful logout. +* **Text**: Fix full-text integration for Azure Search. +* **Text**: Fix full-text integration for Elastic Search. + ## [7.17.0] - 2025-01-27 ### Fixed diff --git a/Dockerfile b/Dockerfile index f2c8349b9..c19894dce 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,9 @@ RUN apt-get update \ && apt-get install -y ffmpeg ARG SQUIDEX__BUILD__VERSION=7.0.0 -ARG SQUIDEX__BUILD__ARGS= +ARG SQUIDEX__BUILD__ARGS + +RUN echo "ARGS IS $SQUIDEX__BUILD__ARGS" WORKDIR /src @@ -19,15 +21,21 @@ COPY backend/*.sln ./ # Copy the main source project files COPY backend/src/*/*.csproj ./ -RUN for file in $(ls *.csproj); do mkdir -p src/${file%.*}/ && mv $file src/${file%.*}/; done +RUN for file in $(ls *.csproj); \ + do mkdir -p src/${file%.*}/ && mv $file src/${file%.*}/; \ + done # Copy the test project files COPY backend/tests/*/*.csproj ./ -RUN for file in $(ls *.csproj); do mkdir -p tests/${file%.*}/ && mv $file tests/${file%.*}/; done +RUN for file in $(ls *.csproj); \ + do mkdir -p tests/${file%.*}/ && mv $file tests/${file%.*}/; \ + done # Copy the extension project files COPY backend/extensions/*/*.csproj ./ -RUN for file in $(ls *.csproj); do mkdir -p extensions/${file%.*}/ && mv $file extensions/${file%.*}/; done +RUN for file in $(ls *.csproj); \ + do mkdir -p extensions/${file%.*}/ && mv $file extensions/${file%.*}/; \ + done RUN dotnet restore @@ -37,7 +45,7 @@ COPY backend . RUN dotnet test --filter "Category!=Dependencies & Category!=TestContainer" --configuration Release # Publish -RUN dotnet publish src/Squidex/Squidex.csproj --output /build/ --configuration Release -p:version=$SQUIDEX__BUILD__VERSION +RUN dotnet publish src/Squidex/Squidex.csproj --output /build/ --configuration Release -p:version=$SQUIDEX__BUILD__VERSION ${SQUIDEX__BUILD__ARGS} # Install tools RUN dotnet tool install --tool-path /tools dotnet-dump \