From 5a87336d98e0195efef659447891d0d81b2c1b4b Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 20:11:25 +0200 Subject: [PATCH] seperate linux windows build --- .github/workflows/build.yml | 37 ++++++++++++++++++++++++++++++++----- Dockerfile.windows | 4 ++-- 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c5359e7..187da3d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -149,7 +149,7 @@ jobs: echo "Windows binary:" ls -la windows-bin/ - - name: Build using Docker Buildx + - name: Linux build using Docker Buildx run: | docker buildx create --use docker buildx build \ @@ -173,13 +173,40 @@ jobs: docker tag ${{ env.IMAGE_NAME }}:linux-${{ env.TAG }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:linux-${{ env.TAG }} echo "Pushing Linux Docker image to registry: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:linux-${{ env.TAG }}" docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:linux-${{ env.TAG }} + + windows-docker-build: + name: Build Windows Docker Image + needs: [windows-cross] + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 - - name: Build Windows Docker image + - name: Download Windows artifact + uses: actions/download-artifact@v3 + with: + name: windows-binary + path: windows-bin + + - name: Login to Docker Registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Windows build using Docker Buildx + run: | + docker buildx create --use + docker buildx build \ + --platform windows/amd64 \ + -f Dockerfile.windows \ + --build-arg BINARY_NAME=${{ needs.detect-project.outputs.project-name }} \ + --load \ + -t ${{ env.IMAGE_NAME }}:windows-${{ env.TAG }} . + + - name: Tag and Push Windows Docker image if: ${{ success() }} run: | - echo "Building Windows Docker-Image with env-Tag: ${{env.TAG }}" - docker build -f Dockerfile.windows -t ${{ env.IMAGE_NAME }}:windows-${{ env.TAG }} . - echo docker login ${{ env.REGISTRY }} -u ${{ secrets.DOCKER_USERNAME }} --password-stdin echo "Tagging Windows Docker image" docker tag ${{ env.IMAGE_NAME }}:windows-${{ env.TAG }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:windows-${{ env.TAG }} echo "Pushing Windows Docker image to registry: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:windows-${{ env.TAG }}" diff --git a/Dockerfile.windows b/Dockerfile.windows index 6d2b20a..124c721 100644 --- a/Dockerfile.windows +++ b/Dockerfile.windows @@ -5,7 +5,7 @@ FROM mcr.microsoft.com/windows/servercore:ltsc2022 WORKDIR C:/app # Copy the Windows binary -ARG BINARY_PATH -COPY ${BINARY_PATH} watcher_agent.exe +ARG BINARY_NAME +COPY ${BINARY_NAME}.exe . ENTRYPOINT ["C:/app/watcher_agent.exe"] \ No newline at end of file