From 518d19da683e927dd1f9e7b25ff35b96a6acf73b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Fri, 3 Nov 2023 23:26:12 +0100 Subject: [PATCH 01/27] Update Dockerfile --- tuya_mqtt.net/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index aa54aeb..66d30f5 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -36,7 +36,7 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ && echo "target $TARGETPLATFORM build $BUILDPLATFORM RID $RID" \ && date > "/src/Resources/BuildDate.txt" \ && echo $GIT_COMMIT >> "/src/Resources/BuildDate.txt" \ - && dotnet build "tuya_mqtt.net.csproj" -r $RID --self-contained -c Release -o /app/build + && dotnet build "tuya_mqtt.net.csproj" -r $RID -c Release -o /app/build FROM build AS publish ARG BUILDPLATFORM @@ -51,7 +51,7 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ RID=linux-arm ; \ fi \ && echo "target $TARGETPLATFORM build $BUILDPLATFORM RID $RID" \ - && dotnet publish "tuya_mqtt.net.csproj" -r $RID --self-contained false -c Release -o /app/publish /p:UseAppHost=false + && dotnet publish "tuya_mqtt.net.csproj" -r $RID -c Release -o /app/publish /p:UseAppHost=false FROM base AS final WORKDIR /app From 3b056bb77cd49bb57c6fed153bbf49e9019212ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 09:46:18 +0100 Subject: [PATCH 02/27] try some different settings to see if this works better --- .github/workflows/docker-publish.yml | 38 ++++++++++++++-------------- tuya_mqtt.net/Dockerfile | 19 +++++++------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 6248150..2098f21 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -36,6 +36,23 @@ jobs: - name: Git describe id: ghd uses: proudust/gh-describe@v1 + + # Extract metadata (tags, labels) for Docker + # https://github.com/docker/metadata-action + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=schedule + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + #type=semver,pattern={{major}}.{{minor}} + #type=semver,pattern={{major}} + #type=sha + type=raw,value=latest,enable={{is_default_branch}} # Add support for more platforms with QEMU (optional) # https://github.com/docker/setup-qemu-action @@ -56,23 +73,6 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_TOKEN }} - # Extract metadata (tags, labels) for Docker - # https://github.com/docker/metadata-action - - name: Extract Docker metadata - id: meta - uses: docker/metadata-action@v5 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - tags: | - type=schedule - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}} - #type=semver,pattern={{major}}.{{minor}} - #type=semver,pattern={{major}} - #type=sha - type=raw,value=latest,enable={{is_default_branch}} - # Build and push Docker image with Buildx (don't push on PR) # https://github.com/docker/build-push-action - name: Build and push Docker image @@ -83,8 +83,8 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - cache-from: type=gha - cache-to: type=gha,mode=max + # cache-from: type=gha + # cache-to: type=gha,mode=max platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 build-args: | GIT_COMMIT=${{ steps.ghd.outputs.describe }} diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index 66d30f5..04590e5 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -18,6 +18,7 @@ FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build WORKDIR /src COPY ["tuya_mqtt.net.csproj", "."] ENV DOTNET_CLI_HOME=/tmp +RUN dotnet --info RUN dotnet restore "tuya_mqtt.net.csproj" COPY . . WORKDIR "/src/." @@ -25,30 +26,30 @@ ARG BUILDPLATFORM ARG TARGETPLATFORM ARG GIT_COMMIT RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ - RID=linux-x64 ; \ + RID=linux-x64 ; \ elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ - RID=linux-arm64 ; \ + RID=linux-arm64 ; \ elif [ "$TARGETPLATFORM" = "linux/arm/v7" ]; then \ - RID=linux-arm ; \ + RID=linux-arm ; \ elif [ "$TARGETPLATFORM" = "linux/arm/v6" ]; then \ - RID=linux-arm ; \ + RID=linux-arm ; \ fi \ && echo "target $TARGETPLATFORM build $BUILDPLATFORM RID $RID" \ && date > "/src/Resources/BuildDate.txt" \ && echo $GIT_COMMIT >> "/src/Resources/BuildDate.txt" \ && dotnet build "tuya_mqtt.net.csproj" -r $RID -c Release -o /app/build -FROM build AS publish +FROM --platform=$BUILDPLATFORM build AS publish ARG BUILDPLATFORM ARG TARGETPLATFORM RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ - RID=linux-x64 ; \ + RID=linux-x64 ; \ elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ - RID=linux-arm64 ; \ + RID=linux-arm64 ; \ elif [ "$TARGETPLATFORM" = "linux/arm/v7" ]; then \ - RID=linux-arm ; \ + RID=linux-arm ; \ elif [ "$TARGETPLATFORM" = "linux/arm/v6" ]; then \ - RID=linux-arm ; \ + RID=linux-arm ; \ fi \ && echo "target $TARGETPLATFORM build $BUILDPLATFORM RID $RID" \ && dotnet publish "tuya_mqtt.net.csproj" -r $RID -c Release -o /app/publish /p:UseAppHost=false From b0b147061726db1148b4f920f237873895eff9a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 09:48:37 +0100 Subject: [PATCH 03/27] adding --self-contained back to Dockerfile build --- tuya_mqtt.net/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index 04590e5..559f5d0 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -37,7 +37,7 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ && echo "target $TARGETPLATFORM build $BUILDPLATFORM RID $RID" \ && date > "/src/Resources/BuildDate.txt" \ && echo $GIT_COMMIT >> "/src/Resources/BuildDate.txt" \ - && dotnet build "tuya_mqtt.net.csproj" -r $RID -c Release -o /app/build + && dotnet build "tuya_mqtt.net.csproj" --self-contained false -r $RID -c Release -o /app/build FROM --platform=$BUILDPLATFORM build AS publish ARG BUILDPLATFORM @@ -52,7 +52,7 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ RID=linux-arm ; \ fi \ && echo "target $TARGETPLATFORM build $BUILDPLATFORM RID $RID" \ - && dotnet publish "tuya_mqtt.net.csproj" -r $RID -c Release -o /app/publish /p:UseAppHost=false + && dotnet publish "tuya_mqtt.net.csproj" --self-contained false -r $RID -c Release -o /app/publish /p:UseAppHost=false FROM base AS final WORKDIR /app From f674864f5dfaa9fadc0580229fe17aed9a2f785f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 10:22:59 +0100 Subject: [PATCH 04/27] try building arm64 only --- .github/workflows/docker-publish.yml | 2 +- tuya_mqtt.net/tuya_mqtt.net.csproj | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 2098f21..aab5d83 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -85,7 +85,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} # cache-from: type=gha # cache-to: type=gha,mode=max - platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 + platforms: linux/arm64 #linux/amd64,linux/arm/v7,linux/arm/v6 build-args: | GIT_COMMIT=${{ steps.ghd.outputs.describe }} diff --git a/tuya_mqtt.net/tuya_mqtt.net.csproj b/tuya_mqtt.net/tuya_mqtt.net.csproj index 5bbfbda..63f7a09 100644 --- a/tuya_mqtt.net/tuya_mqtt.net.csproj +++ b/tuya_mqtt.net/tuya_mqtt.net.csproj @@ -9,6 +9,7 @@ .. ../docker-compose.dcproj true + linux-x64;linux-arm64;linux-arm; From f51a2779f0fc21d25d06ed82e19d3d729a9e09d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 10:29:05 +0100 Subject: [PATCH 05/27] changing workflow from BUILDPLATFORm to TARGETPLATFORM --- tuya_mqtt.net/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index 559f5d0..8fb94e8 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/aspnet:7.0 AS base +FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/aspnet:7.0 AS base ENV DOTNET_CLI_HOME=/tmp WORKDIR /app EXPOSE 80 @@ -14,7 +14,7 @@ RUN if [ "$DEBUGHELPER" = "yes" ] ; then \ apt install -y arping inetutils-ping libnet-ifconfig-wrapper-perl mc \ ; fi -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build +FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build WORKDIR /src COPY ["tuya_mqtt.net.csproj", "."] ENV DOTNET_CLI_HOME=/tmp @@ -39,7 +39,7 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ && echo $GIT_COMMIT >> "/src/Resources/BuildDate.txt" \ && dotnet build "tuya_mqtt.net.csproj" --self-contained false -r $RID -c Release -o /app/build -FROM --platform=$BUILDPLATFORM build AS publish +FROM --platform=$TARGETPLATFORM build AS publish ARG BUILDPLATFORM ARG TARGETPLATFORM RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ From f357fe8dbec55a29f51668f5da8541bef83110c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 10:31:00 +0100 Subject: [PATCH 06/27] remove platform setting in csproj --- tuya_mqtt.net/tuya_mqtt.net.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tuya_mqtt.net/tuya_mqtt.net.csproj b/tuya_mqtt.net/tuya_mqtt.net.csproj index 63f7a09..21c6f17 100644 --- a/tuya_mqtt.net/tuya_mqtt.net.csproj +++ b/tuya_mqtt.net/tuya_mqtt.net.csproj @@ -9,7 +9,7 @@ .. ../docker-compose.dcproj true - linux-x64;linux-arm64;linux-arm; + linux-x64;linux-arm64;linux-arm; From be85596b438cfe505e68822aaec13f9e04ba024c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 11:19:52 +0100 Subject: [PATCH 07/27] revert previous BUILDPLATFORM change and add more outputs --- tuya_mqtt.net/Dockerfile | 41 ++++++++++++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index 8fb94e8..901c8eb 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -1,8 +1,9 @@ -FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/aspnet:7.0 AS base +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/nightly/aspnet:8.0 AS base ENV DOTNET_CLI_HOME=/tmp WORKDIR /app EXPOSE 80 -ARG DEBUGHELPER + + ENV TZ=EUROPE/Berlin RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone HEALTHCHECK CMD curl --fail http://localhost:80/health || exit @@ -14,17 +15,32 @@ RUN if [ "$DEBUGHELPER" = "yes" ] ; then \ apt install -y arping inetutils-ping libnet-ifconfig-wrapper-perl mc \ ; fi -FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build + +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/nightly/sdk:8.0 AS build WORKDIR /src + COPY ["tuya_mqtt.net.csproj", "."] ENV DOTNET_CLI_HOME=/tmp RUN dotnet --info -RUN dotnet restore "tuya_mqtt.net.csproj" +RUN dotnet restore -a $TARGETARCH "tuya_mqtt.net.csproj" COPY . . WORKDIR "/src/." -ARG BUILDPLATFORM + +ARG DEBUGHELPER ARG TARGETPLATFORM +ARG TARGETOS +ARG TARGETARCH +ARG TARGETVARIANT +ARG BUILDPLATFORM +ARG BUILDOS +ARG BUILDARCH +ARG BUILDVARIANT ARG GIT_COMMIT + +RUN echo "Building on $BUILDPLATFORM, targeting $TARGETPLATFORM" +RUN echo "Building on ${BUILDOS} and ${BUILDARCH} with optional variant ${BUILDVARIANT}" +RUN echo "Targeting ${TARGETOS} and ${TARGETARCH} with optional variant ${TARGETVARIANT}" + RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ RID=linux-x64 ; \ elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ @@ -34,14 +50,19 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ elif [ "$TARGETPLATFORM" = "linux/arm/v6" ]; then \ RID=linux-arm ; \ fi \ - && echo "target $TARGETPLATFORM build $BUILDPLATFORM RID $RID" \ && date > "/src/Resources/BuildDate.txt" \ && echo $GIT_COMMIT >> "/src/Resources/BuildDate.txt" \ - && dotnet build "tuya_mqtt.net.csproj" --self-contained false -r $RID -c Release -o /app/build + && dotnet build "tuya_mqtt.net.csproj" -a $TARGETARCH --self-contained false -r $RID -c Release -o /app/build -FROM --platform=$TARGETPLATFORM build AS publish -ARG BUILDPLATFORM +FROM --platform=$BUILDPLATFORM build AS publish ARG TARGETPLATFORM +ARG TARGETOS +ARG TARGETARCH +ARG TARGETVARIANT +ARG BUILDPLATFORM +ARG BUILDOS +ARG BUILDARCH +ARG BUILDVARIANT RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ RID=linux-x64 ; \ elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ @@ -52,7 +73,7 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ RID=linux-arm ; \ fi \ && echo "target $TARGETPLATFORM build $BUILDPLATFORM RID $RID" \ - && dotnet publish "tuya_mqtt.net.csproj" --self-contained false -r $RID -c Release -o /app/publish /p:UseAppHost=false + && dotnet publish "tuya_mqtt.net.csproj" --self-contained false -r $RID -c Release -a $TARGETARCH --no-restore -o /app/publish /p:UseAppHost=false FROM base AS final WORKDIR /app From b65096d3ee9de22345cc6a3a7a509fb4f62a09a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 11:26:06 +0100 Subject: [PATCH 08/27] try .net 8 preview --- tuya_mqtt.net/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index 901c8eb..c5cb484 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/nightly/aspnet:8.0 AS base +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/nightly/aspnet:8.0 AS base ENV DOTNET_CLI_HOME=/tmp WORKDIR /app EXPOSE 80 @@ -16,7 +16,7 @@ RUN if [ "$DEBUGHELPER" = "yes" ] ; then \ ; fi -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/nightly/sdk:8.0 AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/nightly/sdk:8.0-preview AS build WORKDIR /src COPY ["tuya_mqtt.net.csproj", "."] From de352bac0b220b6a7763f0d0ea4bbee7ffd640b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 14:11:09 +0100 Subject: [PATCH 09/27] try .net 8 preview --- tuya_mqtt.net/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index c5cb484..e6b9774 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -16,7 +16,7 @@ RUN if [ "$DEBUGHELPER" = "yes" ] ; then \ ; fi -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/nightly/sdk:8.0-preview AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/nightly/sdk:8.0 AS build WORKDIR /src COPY ["tuya_mqtt.net.csproj", "."] From 2a91d90b5588a295b92ff1974f2fee6ea1d905cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 14:46:32 +0100 Subject: [PATCH 10/27] try .net 8 preview --- tuya_mqtt.net/Dockerfile | 49 +++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index e6b9774..3185a34 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -1,9 +1,19 @@ FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/nightly/aspnet:8.0 AS base +ARG DEBUGHELPER +ARG TARGETPLATFORM +ARG TARGETOS +ARG TARGETARCH +ARG TARGETVARIANT +ARG BUILDPLATFORM +ARG BUILDOS +ARG BUILDARCH +ARG BUILDVARIANT +ARG GIT_COMMIT + ENV DOTNET_CLI_HOME=/tmp WORKDIR /app EXPOSE 80 - ENV TZ=EUROPE/Berlin RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone HEALTHCHECK CMD curl --fail http://localhost:80/health || exit @@ -17,15 +27,6 @@ RUN if [ "$DEBUGHELPER" = "yes" ] ; then \ FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/nightly/sdk:8.0 AS build -WORKDIR /src - -COPY ["tuya_mqtt.net.csproj", "."] -ENV DOTNET_CLI_HOME=/tmp -RUN dotnet --info -RUN dotnet restore -a $TARGETARCH "tuya_mqtt.net.csproj" -COPY . . -WORKDIR "/src/." - ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS @@ -36,12 +37,21 @@ ARG BUILDOS ARG BUILDARCH ARG BUILDVARIANT ARG GIT_COMMIT +ENV DOTNET_CLI_HOME=/tmp -RUN echo "Building on $BUILDPLATFORM, targeting $TARGETPLATFORM" -RUN echo "Building on ${BUILDOS} and ${BUILDARCH} with optional variant ${BUILDVARIANT}" -RUN echo "Targeting ${TARGETOS} and ${TARGETARCH} with optional variant ${TARGETVARIANT}" +WORKDIR /src -RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ +COPY ["tuya_mqtt.net.csproj", "."] + +RUN dotnet --info + +COPY . . +WORKDIR "/src/." + +RUN echo "Building on $BUILDPLATFORM, targeting $TARGETPLATFORM" \ + && echo "Building on ${BUILDOS} and ${BUILDARCH} with optional variant ${BUILDVARIANT}" \ + && echo "Targeting ${TARGETOS} and ${TARGETARCH} with optional variant ${TARGETVARIANT}" \ + && if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ RID=linux-x64 ; \ elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ RID=linux-arm64 ; \ @@ -50,11 +60,13 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ elif [ "$TARGETPLATFORM" = "linux/arm/v6" ]; then \ RID=linux-arm ; \ fi \ + && dotnet restore -r $RID "tuya_mqtt.net.csproj" \ && date > "/src/Resources/BuildDate.txt" \ && echo $GIT_COMMIT >> "/src/Resources/BuildDate.txt" \ - && dotnet build "tuya_mqtt.net.csproj" -a $TARGETARCH --self-contained false -r $RID -c Release -o /app/build + && dotnet build "tuya_mqtt.net.csproj" --no-restore --self-contained false -r $RID -c Release -o /app/build FROM --platform=$BUILDPLATFORM build AS publish +ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS ARG TARGETARCH @@ -63,6 +75,8 @@ ARG BUILDPLATFORM ARG BUILDOS ARG BUILDARCH ARG BUILDVARIANT +ARG GIT_COMMIT + RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ RID=linux-x64 ; \ elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ @@ -72,10 +86,9 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ elif [ "$TARGETPLATFORM" = "linux/arm/v6" ]; then \ RID=linux-arm ; \ fi \ - && echo "target $TARGETPLATFORM build $BUILDPLATFORM RID $RID" \ - && dotnet publish "tuya_mqtt.net.csproj" --self-contained false -r $RID -c Release -a $TARGETARCH --no-restore -o /app/publish /p:UseAppHost=false + && dotnet publish "tuya_mqtt.net.csproj" --self-contained false -r $RID -c Release --no-restore -o /app/publish /p:UseAppHost=false -FROM base AS final +FROM --platform=$TARGETARCH base AS final WORKDIR /app COPY --from=publish /app/publish . From 5d836814d8e9130d338548c82f261b978aca9cb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 15:12:39 +0100 Subject: [PATCH 11/27] going back to .net7 as the build seems to work --- tuya_mqtt.net/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index 3185a34..2314012 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/nightly/aspnet:8.0 AS base +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/aspnet:7.0 AS base ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS @@ -26,7 +26,7 @@ RUN if [ "$DEBUGHELPER" = "yes" ] ; then \ ; fi -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/nightly/sdk:8.0 AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS From aa8950ce559efa6fa41d9a7683ad831e3cc96e04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 15:23:44 +0100 Subject: [PATCH 12/27] single platform seems to work, now build multiple platforms --- .github/workflows/docker-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index aab5d83..0e646c6 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -85,7 +85,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} # cache-from: type=gha # cache-to: type=gha,mode=max - platforms: linux/arm64 #linux/amd64,linux/arm/v7,linux/arm/v6 + platforms: linux/arm64,linux/amd64,linux/arm/v7,linux/arm/v6 build-args: | GIT_COMMIT=${{ steps.ghd.outputs.describe }} From d47ec97259dc6f87f2134f425d14b9bcdea75da5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 15:49:19 +0100 Subject: [PATCH 13/27] try self-contained=trur --- tuya_mqtt.net/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index 2314012..18de036 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -63,7 +63,7 @@ RUN echo "Building on $BUILDPLATFORM, targeting $TARGETPLATFORM" \ && dotnet restore -r $RID "tuya_mqtt.net.csproj" \ && date > "/src/Resources/BuildDate.txt" \ && echo $GIT_COMMIT >> "/src/Resources/BuildDate.txt" \ - && dotnet build "tuya_mqtt.net.csproj" --no-restore --self-contained false -r $RID -c Release -o /app/build + && dotnet build "tuya_mqtt.net.csproj" --no-restore --self-contained true -r $RID -c Release -o /app/build FROM --platform=$BUILDPLATFORM build AS publish ARG DEBUGHELPER @@ -86,7 +86,7 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ elif [ "$TARGETPLATFORM" = "linux/arm/v6" ]; then \ RID=linux-arm ; \ fi \ - && dotnet publish "tuya_mqtt.net.csproj" --self-contained false -r $RID -c Release --no-restore -o /app/publish /p:UseAppHost=false + && dotnet publish "tuya_mqtt.net.csproj" --self-contained true -r $RID -c Release --no-restore -o /app/publish /p:UseAppHost=false FROM --platform=$TARGETARCH base AS final WORKDIR /app From 8b2446ed39402ff31df5df00671e8d276dcddaf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 16:03:50 +0100 Subject: [PATCH 14/27] try Targetplatform --- tuya_mqtt.net/Dockerfile | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index 18de036..a128829 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/aspnet:7.0 AS base +FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/aspnet:7.0 AS base ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS @@ -26,7 +26,7 @@ RUN if [ "$DEBUGHELPER" = "yes" ] ; then \ ; fi -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build +FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS @@ -48,10 +48,7 @@ RUN dotnet --info COPY . . WORKDIR "/src/." -RUN echo "Building on $BUILDPLATFORM, targeting $TARGETPLATFORM" \ - && echo "Building on ${BUILDOS} and ${BUILDARCH} with optional variant ${BUILDVARIANT}" \ - && echo "Targeting ${TARGETOS} and ${TARGETARCH} with optional variant ${TARGETVARIANT}" \ - && if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ +RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ RID=linux-x64 ; \ elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ RID=linux-arm64 ; \ @@ -60,12 +57,16 @@ RUN echo "Building on $BUILDPLATFORM, targeting $TARGETPLATFORM" \ elif [ "$TARGETPLATFORM" = "linux/arm/v6" ]; then \ RID=linux-arm ; \ fi \ + && echo "Building on $BUILDPLATFORM, targeting $TARGETPLATFORM" \ + && echo "Building on ${BUILDOS} and ${BUILDARCH} with optional variant ${BUILDVARIANT}" \ + && echo "Targeting ${TARGETOS} and ${TARGETARCH} with optional variant ${TARGETVARIANT}" \ + && echo "RID is ${RID}" \ && dotnet restore -r $RID "tuya_mqtt.net.csproj" \ && date > "/src/Resources/BuildDate.txt" \ && echo $GIT_COMMIT >> "/src/Resources/BuildDate.txt" \ - && dotnet build "tuya_mqtt.net.csproj" --no-restore --self-contained true -r $RID -c Release -o /app/build + && dotnet build "tuya_mqtt.net.csproj" --no-restore -r $RID -c Release -o /app/build -FROM --platform=$BUILDPLATFORM build AS publish +FROM --platform=$TARGETPLATFORM build AS publish ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS @@ -86,9 +87,13 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ elif [ "$TARGETPLATFORM" = "linux/arm/v6" ]; then \ RID=linux-arm ; \ fi \ - && dotnet publish "tuya_mqtt.net.csproj" --self-contained true -r $RID -c Release --no-restore -o /app/publish /p:UseAppHost=false + && echo "Publishing on $BUILDPLATFORM, targeting $TARGETPLATFORM" \ + && echo "Publishing on ${BUILDOS} and ${BUILDARCH} with optional variant ${BUILDVARIANT}" \ + && echo "Targeting ${TARGETOS} and ${TARGETARCH} with optional variant ${TARGETVARIANT}" \ + && echo "RID is ${RID}" \ + && dotnet publish "tuya_mqtt.net.csproj" -r $RID -c Release --no-restore -o /app/publish /p:UseAppHost=false -FROM --platform=$TARGETARCH base AS final +FROM --platform=$TARGETPLATFORM base AS final WORKDIR /app COPY --from=publish /app/publish . From 2f4b9b4527142f61ac387fb3fda8c165d7e2e0fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 16:16:42 +0100 Subject: [PATCH 15/27] cannot build armv6 --- .github/workflows/docker-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 0e646c6..8af28af 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -85,7 +85,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} # cache-from: type=gha # cache-to: type=gha,mode=max - platforms: linux/arm64,linux/amd64,linux/arm/v7,linux/arm/v6 + platforms: linux/arm64,linux/amd64,linux/arm/v7 build-args: | GIT_COMMIT=${{ steps.ghd.outputs.describe }} From 7d7a5aabb775c0acac514d77c3b99717514c9a41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 16:24:31 +0100 Subject: [PATCH 16/27] try no-RID --- tuya_mqtt.net/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index a128829..611498d 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -61,10 +61,10 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ && echo "Building on ${BUILDOS} and ${BUILDARCH} with optional variant ${BUILDVARIANT}" \ && echo "Targeting ${TARGETOS} and ${TARGETARCH} with optional variant ${TARGETVARIANT}" \ && echo "RID is ${RID}" \ - && dotnet restore -r $RID "tuya_mqtt.net.csproj" \ + && dotnet restore "tuya_mqtt.net.csproj" \ && date > "/src/Resources/BuildDate.txt" \ && echo $GIT_COMMIT >> "/src/Resources/BuildDate.txt" \ - && dotnet build "tuya_mqtt.net.csproj" --no-restore -r $RID -c Release -o /app/build + && dotnet build "tuya_mqtt.net.csproj" --no-restore -c Release -o /app/build FROM --platform=$TARGETPLATFORM build AS publish ARG DEBUGHELPER @@ -91,7 +91,7 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ && echo "Publishing on ${BUILDOS} and ${BUILDARCH} with optional variant ${BUILDVARIANT}" \ && echo "Targeting ${TARGETOS} and ${TARGETARCH} with optional variant ${TARGETVARIANT}" \ && echo "RID is ${RID}" \ - && dotnet publish "tuya_mqtt.net.csproj" -r $RID -c Release --no-restore -o /app/publish /p:UseAppHost=false + && dotnet publish "tuya_mqtt.net.csproj" -c Release --no-restore -o /app/publish /p:UseAppHost=false FROM --platform=$TARGETPLATFORM base AS final WORKDIR /app From 12b281264b57817582588693a250f8c6e558a774 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 16:33:47 +0100 Subject: [PATCH 17/27] remove build arm/v7 --- .github/workflows/docker-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 8af28af..74ce9f4 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -85,7 +85,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} # cache-from: type=gha # cache-to: type=gha,mode=max - platforms: linux/arm64,linux/amd64,linux/arm/v7 + platforms: linux/arm64,linux/amd64 #,linux/arm/v7 build-args: | GIT_COMMIT=${{ steps.ghd.outputs.describe }} From ff4ea322c61d708a88be46713919c4af463ed4fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 16:54:03 +0100 Subject: [PATCH 18/27] use Buildplatform for dotnet restore --- tuya_mqtt.net/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index 611498d..a17e13a 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -26,7 +26,7 @@ RUN if [ "$DEBUGHELPER" = "yes" ] ; then \ ; fi -FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS @@ -61,10 +61,10 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ && echo "Building on ${BUILDOS} and ${BUILDARCH} with optional variant ${BUILDVARIANT}" \ && echo "Targeting ${TARGETOS} and ${TARGETARCH} with optional variant ${TARGETVARIANT}" \ && echo "RID is ${RID}" \ - && dotnet restore "tuya_mqtt.net.csproj" \ + && dotnet restore -r $RID "tuya_mqtt.net.csproj" \ && date > "/src/Resources/BuildDate.txt" \ && echo $GIT_COMMIT >> "/src/Resources/BuildDate.txt" \ - && dotnet build "tuya_mqtt.net.csproj" --no-restore -c Release -o /app/build + && dotnet build "tuya_mqtt.net.csproj" -r $RID --no-restore -c Release -o /app/build FROM --platform=$TARGETPLATFORM build AS publish ARG DEBUGHELPER @@ -91,7 +91,7 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ && echo "Publishing on ${BUILDOS} and ${BUILDARCH} with optional variant ${BUILDVARIANT}" \ && echo "Targeting ${TARGETOS} and ${TARGETARCH} with optional variant ${TARGETVARIANT}" \ && echo "RID is ${RID}" \ - && dotnet publish "tuya_mqtt.net.csproj" -c Release --no-restore -o /app/publish /p:UseAppHost=false + && dotnet publish "tuya_mqtt.net.csproj" -r $RID -c Release --no-restore -o /app/publish /p:UseAppHost=false FROM --platform=$TARGETPLATFORM base AS final WORKDIR /app From 3550f523cab259dbbb4d8cf97a3e8a7b721f8488 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 16:59:08 +0100 Subject: [PATCH 19/27] no self containing --- tuya_mqtt.net/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index a17e13a..f61f165 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -91,7 +91,7 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ && echo "Publishing on ${BUILDOS} and ${BUILDARCH} with optional variant ${BUILDVARIANT}" \ && echo "Targeting ${TARGETOS} and ${TARGETARCH} with optional variant ${TARGETVARIANT}" \ && echo "RID is ${RID}" \ - && dotnet publish "tuya_mqtt.net.csproj" -r $RID -c Release --no-restore -o /app/publish /p:UseAppHost=false + && dotnet publish "tuya_mqtt.net.csproj" -r $RID --self-contained false -c Release --no-restore -o /app/publish /p:UseAppHost=false FROM --platform=$TARGETPLATFORM base AS final WORKDIR /app From aa5cfebfd91a98a1859c0491611bd70ab37c10a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 20:00:19 +0100 Subject: [PATCH 20/27] no self containing --- tuya_mqtt.net/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index f61f165..0e6822a 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -66,7 +66,7 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ && echo $GIT_COMMIT >> "/src/Resources/BuildDate.txt" \ && dotnet build "tuya_mqtt.net.csproj" -r $RID --no-restore -c Release -o /app/build -FROM --platform=$TARGETPLATFORM build AS publish +FROM --platform=$BUILDPLATFORM build AS publish ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS @@ -97,4 +97,4 @@ FROM --platform=$TARGETPLATFORM base AS final WORKDIR /app COPY --from=publish /app/publish . -ENTRYPOINT ["dotnet", "tuya_mqtt.net.dll"] +# ENTRYPOINT ["dotnet", "tuya_mqtt.net.dll"] From 7e811952b631cc3efcafffa277c941562cf1c46f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 20:07:23 +0100 Subject: [PATCH 21/27] no self containing --- tuya_mqtt.net/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index 0e6822a..2f4ed39 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/aspnet:7.0 AS base +FROM --platform=$TARGETPLATFORM mcr.microsoft.com/nightly/aspnet:7.0 AS base ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS @@ -26,7 +26,7 @@ RUN if [ "$DEBUGHELPER" = "yes" ] ; then \ ; fi -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/nightly/sdk:7.0 AS build ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS @@ -66,7 +66,7 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ && echo $GIT_COMMIT >> "/src/Resources/BuildDate.txt" \ && dotnet build "tuya_mqtt.net.csproj" -r $RID --no-restore -c Release -o /app/build -FROM --platform=$BUILDPLATFORM build AS publish +FROM --platform=$TARGETPLATFORM build AS publish ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS From 931432792bb095744148227a4c6d2519bd103cda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 20:10:48 +0100 Subject: [PATCH 22/27] no self containing --- tuya_mqtt.net/Dockerfile | 4 ++-- tuya_mqtt.net/tuya_mqtt.net.csproj | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index 2f4ed39..01809b1 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$TARGETPLATFORM mcr.microsoft.com/nightly/aspnet:7.0 AS base +FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/nightly/aspnet:8.0 AS base ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS @@ -26,7 +26,7 @@ RUN if [ "$DEBUGHELPER" = "yes" ] ; then \ ; fi -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/nightly/sdk:7.0 AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/nightly/sdk:8.0 AS build ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS diff --git a/tuya_mqtt.net/tuya_mqtt.net.csproj b/tuya_mqtt.net/tuya_mqtt.net.csproj index 21c6f17..5903b9d 100644 --- a/tuya_mqtt.net/tuya_mqtt.net.csproj +++ b/tuya_mqtt.net/tuya_mqtt.net.csproj @@ -1,7 +1,7 @@  - net7.0 + net8.0 enable enable Linux From 4d3d9a3fe27a59450aa96ed19a50cc5ff6f394a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 20:15:18 +0100 Subject: [PATCH 23/27] no self containing --- tuya_mqtt.net/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index 01809b1..632da23 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/nightly/aspnet:8.0 AS base +FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/aspnet:8.0 AS base ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS @@ -26,7 +26,7 @@ RUN if [ "$DEBUGHELPER" = "yes" ] ; then \ ; fi -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/nightly/sdk:8.0 AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0 AS build ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS From 9c385dafe4d54d133bdcfd6994923964b6b1de2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 20:21:22 +0100 Subject: [PATCH 24/27] adding arm/v7 and upgrade to .net8 --- .github/workflows/docker-publish.yml | 2 +- tuya_mqtt.net/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 74ce9f4..8af28af 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -85,7 +85,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} # cache-from: type=gha # cache-to: type=gha,mode=max - platforms: linux/arm64,linux/amd64 #,linux/arm/v7 + platforms: linux/arm64,linux/amd64,linux/arm/v7 build-args: | GIT_COMMIT=${{ steps.ghd.outputs.describe }} diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index 632da23..92211c5 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -97,4 +97,4 @@ FROM --platform=$TARGETPLATFORM base AS final WORKDIR /app COPY --from=publish /app/publish . -# ENTRYPOINT ["dotnet", "tuya_mqtt.net.dll"] +ENTRYPOINT ["dotnet", "tuya_mqtt.net.dll"] From eef2988413794876ba390861a78f2598cb44ed6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 20:40:08 +0100 Subject: [PATCH 25/27] set default port to 80 --- tuya_mqtt.net/appsettings.json | 1 + 1 file changed, 1 insertion(+) diff --git a/tuya_mqtt.net/appsettings.json b/tuya_mqtt.net/appsettings.json index c5f5d9e..3abae85 100644 --- a/tuya_mqtt.net/appsettings.json +++ b/tuya_mqtt.net/appsettings.json @@ -1,4 +1,5 @@ { + "Urls": "http://localhost:80" "DetailedErrors": true, "Logging": { "LogLevel": { From 8f35d3c1e40e51f47b540df9fb827b263a46a766 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 20:43:27 +0100 Subject: [PATCH 26/27] fixing illegal json apsettings.json --- tuya_mqtt.net/appsettings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tuya_mqtt.net/appsettings.json b/tuya_mqtt.net/appsettings.json index 3abae85..27756af 100644 --- a/tuya_mqtt.net/appsettings.json +++ b/tuya_mqtt.net/appsettings.json @@ -1,5 +1,5 @@ { - "Urls": "http://localhost:80" + "Urls": "http://localhost:80", "DetailedErrors": true, "Logging": { "LogLevel": { From 970c273b0f55453c539cd0f214778f4c70e6541c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20H=C3=A4nsel?= Date: Sat, 4 Nov 2023 20:51:55 +0100 Subject: [PATCH 27/27] URL change to port 8080 is not as expected - move back to .net7 --- tuya_mqtt.net/Dockerfile | 4 ++-- tuya_mqtt.net/appsettings.json | 1 - tuya_mqtt.net/tuya_mqtt.net.csproj | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/tuya_mqtt.net/Dockerfile b/tuya_mqtt.net/Dockerfile index 92211c5..f61f165 100644 --- a/tuya_mqtt.net/Dockerfile +++ b/tuya_mqtt.net/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/aspnet:7.0 AS base ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS @@ -26,7 +26,7 @@ RUN if [ "$DEBUGHELPER" = "yes" ] ; then \ ; fi -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0 AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build ARG DEBUGHELPER ARG TARGETPLATFORM ARG TARGETOS diff --git a/tuya_mqtt.net/appsettings.json b/tuya_mqtt.net/appsettings.json index 27756af..c5f5d9e 100644 --- a/tuya_mqtt.net/appsettings.json +++ b/tuya_mqtt.net/appsettings.json @@ -1,5 +1,4 @@ { - "Urls": "http://localhost:80", "DetailedErrors": true, "Logging": { "LogLevel": { diff --git a/tuya_mqtt.net/tuya_mqtt.net.csproj b/tuya_mqtt.net/tuya_mqtt.net.csproj index 5903b9d..21c6f17 100644 --- a/tuya_mqtt.net/tuya_mqtt.net.csproj +++ b/tuya_mqtt.net/tuya_mqtt.net.csproj @@ -1,7 +1,7 @@  - net8.0 + net7.0 enable enable Linux