From eb095a464b74ebfe955d69aa60301194f23f1d4d Mon Sep 17 00:00:00 2001 From: donpat1to Date: Sun, 3 Aug 2025 21:20:26 +0200 Subject: [PATCH 01/30] changed path permissions --- Dockerfile.linux | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Dockerfile.linux b/Dockerfile.linux index 6dd2861..9688402 100644 --- a/Dockerfile.linux +++ b/Dockerfile.linux @@ -15,6 +15,9 @@ copy ./WatcherAgent/ . # Build for Linux run cargo build --release --target x86_64-unknown-linux-gnu +# Setze Berechtigungen für das Binary +RUN chmod +x /app/target/x86_64-unknown-linux-gnu/release/$BINARY_NAME + # Final Linux image from debian:bullseye-slim From daeb8ca38f269f8d0b2b4e8522fb9d47b9b5a8c4 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Sun, 3 Aug 2025 21:25:33 +0200 Subject: [PATCH 02/30] fixed tag to development --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7fec8bd..97ee090 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,8 +11,8 @@ env: CARGO_TERM_COLOR: always REGISTRY: git.triggermeelmo.com IMAGE_NAME: donpat1to/watcher-agent - TAG: ${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.number) || github.ref_name }} - + TAG: development + jobs: detect-project: name: Detect Rust Project From 333ccc5be51e213a36d17df707069473479c22d6 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Sun, 3 Aug 2025 21:37:31 +0200 Subject: [PATCH 03/30] fixed tag to development --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 97ee090..599aece 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,7 +3,7 @@ name: Rust Cross-Platform Build on: workflow_dispatch: push: - branches: [ "development", "main", "feature/*", bug/* ] + branches: [ "development", "main", "feature/*", bug/*, enhancement/* ] pull_request: branches: [ "development", "main" ] From b7fbd93e842c7d917ccb016afe27ed9d470cf58f Mon Sep 17 00:00:00 2001 From: donpat1to Date: Sun, 3 Aug 2025 21:46:55 +0200 Subject: [PATCH 04/30] fixed permission path to binary --- Dockerfile.linux | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Dockerfile.linux b/Dockerfile.linux index 9688402..a5d2ef7 100644 --- a/Dockerfile.linux +++ b/Dockerfile.linux @@ -28,11 +28,12 @@ run apt-get update && \ && rm -rf /var/lib/apt/lists/* # Make binary name configurable -arg BINARY_NAME=WatcherAgent +ARG BINARY_NAME +ENV BINARY_NAME=${BINARY_NAME:-WatcherAgent} # Default falls nicht gesetzt copy --from=linux-builder /app/target/x86_64-unknown-linux-gnu/release/$BINARY_NAME /usr/local/bin/ # Verify binary works -run /usr/local/bin/$BINARY_NAME --version +run chmod +x /usr/local/bin/${BINARY_NAME} && /usr/local/bin/${BINARY_NAME} --version # Health check healthcheck --interval=30s --timeout=3s \ From 891f8635d4602e79e03bdcd380b2195efab17d92 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Sun, 3 Aug 2025 21:56:41 +0200 Subject: [PATCH 05/30] removed invalid syntax --- Dockerfile.linux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.linux b/Dockerfile.linux index a5d2ef7..433d77d 100644 --- a/Dockerfile.linux +++ b/Dockerfile.linux @@ -29,7 +29,7 @@ run apt-get update && \ # Make binary name configurable ARG BINARY_NAME -ENV BINARY_NAME=${BINARY_NAME:-WatcherAgent} # Default falls nicht gesetzt +ENV BINARY_NAME=${BINARY_NAME:-WatcherAgent} copy --from=linux-builder /app/target/x86_64-unknown-linux-gnu/release/$BINARY_NAME /usr/local/bin/ # Verify binary works From 4b669148d63959f38ece1de2645f51be35bdce3b Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 11:31:47 +0200 Subject: [PATCH 06/30] removed binary testing --- Dockerfile.linux | 3 --- 1 file changed, 3 deletions(-) diff --git a/Dockerfile.linux b/Dockerfile.linux index 433d77d..69e4290 100644 --- a/Dockerfile.linux +++ b/Dockerfile.linux @@ -32,9 +32,6 @@ ARG BINARY_NAME ENV BINARY_NAME=${BINARY_NAME:-WatcherAgent} copy --from=linux-builder /app/target/x86_64-unknown-linux-gnu/release/$BINARY_NAME /usr/local/bin/ -# Verify binary works -run chmod +x /usr/local/bin/${BINARY_NAME} && /usr/local/bin/${BINARY_NAME} --version - # Health check healthcheck --interval=30s --timeout=3s \ cmd /usr/local/bin/$BINARY_NAME healthcheck || exit 1 From ccbcae60e70adbe0847d99f61875c38a7f8bb2b7 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 12:00:03 +0200 Subject: [PATCH 07/30] changed docker login --- .github/workflows/build.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 599aece..10881c8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -159,9 +159,7 @@ jobs: -t ${{ env.IMAGE_NAME }}:linux-${{ env.TAG }} . - name: Login to Docker registry - if: ${{ success() }} run: | - echo "Logging in to Docker registry: ${{ env.REGISTRY }}" echo "${{ secrets.DOCKER_PASSWORD }}" | docker login git.triggermeelmo.com -u ${{ secrets.DOCKER_USERNAME }} --password-stdin - name: Tag and Push Linux Docker image From 0c12b6f9ff8367d4ff621db60bea1643158df3c2 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 13:18:11 +0200 Subject: [PATCH 08/30] used official docker login --- .github/workflows/build.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 10881c8..94251b7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -158,10 +158,13 @@ jobs: --build-arg BINARY_NAME=${{ needs.detect-project.outputs.project-name }} \ -t ${{ env.IMAGE_NAME }}:linux-${{ env.TAG }} . - - name: Login to Docker registry - run: | - echo "${{ secrets.DOCKER_PASSWORD }}" | docker login git.triggermeelmo.com -u ${{ secrets.DOCKER_USERNAME }} --password-stdin - + - name: Login to Docker Registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Tag and Push Linux Docker image if: ${{ success() }} run: | From 690514dea906a4ca0b967a5cb022c6e4db59b5fc Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 13:27:11 +0200 Subject: [PATCH 09/30] registry as https --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 94251b7..ccb3890 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,7 +9,7 @@ on: env: CARGO_TERM_COLOR: always - REGISTRY: git.triggermeelmo.com + REGISTRY: https://git.triggermeelmo.com IMAGE_NAME: donpat1to/watcher-agent TAG: development @@ -164,7 +164,7 @@ jobs: registry: ${{ env.REGISTRY }} username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - + - name: Tag and Push Linux Docker image if: ${{ success() }} run: | From b8f9d61291db6b35adfec5a9dd226235d517bcec Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 18:10:23 +0200 Subject: [PATCH 10/30] added docker secrets --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ccb3890..6f4bac2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -178,7 +178,7 @@ jobs: run: | echo "Building Windows Docker-Image with env-Tag: ${{env.TAG }}" docker build -f Dockerfile.windows -t ${{ env.IMAGE_NAME }}:windows-${{ env.TAG }} . - echo "${{ secrets.DOCKER_PASSWORD }}" | docker login git.triggermeelmo.com -u ${{ secrets.DOCKER_USERNAME }} --password-stdin + echo docker login git.triggermeelmo.com -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 }}" From 44b1f10f6effdb3d0a3540fcad556ec57724111b Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 18:21:31 +0200 Subject: [PATCH 11/30] added docker secrets --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6f4bac2..6953861 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,7 +9,7 @@ on: env: CARGO_TERM_COLOR: always - REGISTRY: https://git.triggermeelmo.com + REGISTRY: git.triggermeelmo.com IMAGE_NAME: donpat1to/watcher-agent TAG: development From 334c0e42f45efc5fc2e7c729c47ee88a2a154ee7 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 18:29:19 +0200 Subject: [PATCH 12/30] fixed image name --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6953861..5eaf4bb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ on: env: CARGO_TERM_COLOR: always REGISTRY: git.triggermeelmo.com - IMAGE_NAME: donpat1to/watcher-agent + IMAGE_NAME: watcher-agent TAG: development jobs: From 5041cf195b68eb53c987d2804dbf542ff813b696 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 18:38:10 +0200 Subject: [PATCH 13/30] added --load flag for local access of image --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5eaf4bb..001f976 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -156,6 +156,7 @@ jobs: --platform linux/amd64 \ -f Dockerfile.linux \ --build-arg BINARY_NAME=${{ needs.detect-project.outputs.project-name }} \ + --load \ -t ${{ env.IMAGE_NAME }}:linux-${{ env.TAG }} . - name: Login to Docker Registry @@ -178,7 +179,7 @@ jobs: 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 git.triggermeelmo.com -u ${{ secrets.DOCKER_USERNAME }} --password-stdin + 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 }}" From 6c5cc014f3f7b3fe3c0e73ff6e58d7b5fccd9101 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 18:47:08 +0200 Subject: [PATCH 14/30] added right image name --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 001f976..c5359e7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ on: env: CARGO_TERM_COLOR: always REGISTRY: git.triggermeelmo.com - IMAGE_NAME: watcher-agent + IMAGE_NAME: donpat1to/watcher-agent TAG: development jobs: From f77733be71641362e0ed28fcf619000e078c4141 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 19:03:30 +0200 Subject: [PATCH 15/30] changed entry point setup --- Dockerfile.linux | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile.linux b/Dockerfile.linux index 69e4290..9841ad2 100644 --- a/Dockerfile.linux +++ b/Dockerfile.linux @@ -16,7 +16,7 @@ copy ./WatcherAgent/ . run cargo build --release --target x86_64-unknown-linux-gnu # Setze Berechtigungen für das Binary -RUN chmod +x /app/target/x86_64-unknown-linux-gnu/release/$BINARY_NAME +run chmod +x /app/target/x86_64-unknown-linux-gnu/release/$BINARY_NAME # Final Linux image from debian:bullseye-slim @@ -28,12 +28,12 @@ run apt-get update && \ && rm -rf /var/lib/apt/lists/* # Make binary name configurable -ARG BINARY_NAME -ENV BINARY_NAME=${BINARY_NAME:-WatcherAgent} +arg BINARY_NAME +env BINARY_NAME=${BINARY_NAME:-WatcherAgent} copy --from=linux-builder /app/target/x86_64-unknown-linux-gnu/release/$BINARY_NAME /usr/local/bin/ # Health check healthcheck --interval=30s --timeout=3s \ cmd /usr/local/bin/$BINARY_NAME healthcheck || exit 1 -entrypoint ["/usr/local/bin/$BINARY_NAME"] \ No newline at end of file +ENTRYPOINT ["/bin/sh", "-c", "/usr/local/bin/${BINARY_NAME}"] \ No newline at end of file From 57ebef3af8ebbb5d9e219c70eebf61210f17d1a8 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 19:17:10 +0200 Subject: [PATCH 16/30] changed entry point setup --- Dockerfile.linux | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.linux b/Dockerfile.linux index 9841ad2..9659d0c 100644 --- a/Dockerfile.linux +++ b/Dockerfile.linux @@ -30,10 +30,10 @@ run apt-get update && \ # Make binary name configurable arg BINARY_NAME env BINARY_NAME=${BINARY_NAME:-WatcherAgent} -copy --from=linux-builder /app/target/x86_64-unknown-linux-gnu/release/$BINARY_NAME /usr/local/bin/ +copy --from=linux-builder /app/target/x86_64-unknown-linux-gnu/release/${BINARY_NAME} /usr/local/bin/ # Health check healthcheck --interval=30s --timeout=3s \ - cmd /usr/local/bin/$BINARY_NAME healthcheck || exit 1 + cmd /usr/local/bin/${BINARY_NAME} healthcheck || exit 1 ENTRYPOINT ["/bin/sh", "-c", "/usr/local/bin/${BINARY_NAME}"] \ No newline at end of file From a08e3142b053d1d86f4c09cc69e683b2443e0d7b Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 19:49:34 +0200 Subject: [PATCH 17/30] newer version of debian docker image builder --- Dockerfile.linux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.linux b/Dockerfile.linux index 9659d0c..f9d8d91 100644 --- a/Dockerfile.linux +++ b/Dockerfile.linux @@ -19,7 +19,7 @@ run cargo build --release --target x86_64-unknown-linux-gnu run chmod +x /app/target/x86_64-unknown-linux-gnu/release/$BINARY_NAME # Final Linux image -from debian:bullseye-slim +from debian:bookworm-slim run apt-get update && \ apt-get install -y apt-transport-https && \ From 5a87336d98e0195efef659447891d0d81b2c1b4b Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 20:11:25 +0200 Subject: [PATCH 18/30] 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 From 16f615f4499c34269308106a16e237f358a0ce34 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 20:14:33 +0200 Subject: [PATCH 19/30] cleaned up code --- .github/workflows/build.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 187da3d..925389f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -149,6 +149,13 @@ jobs: echo "Windows binary:" ls -la 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: Linux build using Docker Buildx run: | docker buildx create --use @@ -159,13 +166,6 @@ jobs: --load \ -t ${{ env.IMAGE_NAME }}:linux-${{ env.TAG }} . - - name: Login to Docker Registry - uses: docker/login-action@v3 - with: - registry: ${{ env.REGISTRY }} - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - name: Tag and Push Linux Docker image if: ${{ success() }} run: | From bbcdfa73f174195776fb1c274edba3980cd95d89 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 20:19:53 +0200 Subject: [PATCH 20/30] cleaned up description --- .github/workflows/build.yml | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 925389f..a1e3458 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -122,7 +122,7 @@ jobs: path: ${{ needs.detect-project.outputs.project-dir }}/target/x86_64-pc-windows-gnu/release/${{ needs.detect-project.outputs.project-name }}.exe docker-build: - name: Build Docker Images + name: Build Linux Docker Image needs: [native-build, windows-cross] runs-on: ubuntu-latest steps: @@ -135,19 +135,10 @@ jobs: name: linux-binary path: linux-bin - - name: Download Windows artifact - id: download-windows - uses: actions/download-artifact@v3 - with: - name: windows-binary - path: windows-bin - - name: Verify artifacts run: | echo "Linux binary:" ls -la linux-bin/ - echo "Windows binary:" - ls -la windows-bin/ - name: Login to Docker Registry uses: docker/login-action@v3 @@ -186,6 +177,11 @@ jobs: with: name: windows-binary path: windows-bin + + - name: Verify artifacts + run: | + echo "Windows binary:" + ls -la windows-bin/ - name: Login to Docker Registry uses: docker/login-action@v3 From ba14f91d67289491ce7ba4567fd9c3fee026832f Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 20:35:35 +0200 Subject: [PATCH 21/30] changed runs-on to ubuntu --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a1e3458..72ab3fb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -168,7 +168,7 @@ jobs: windows-docker-build: name: Build Windows Docker Image needs: [windows-cross] - runs-on: windows-latest + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 From 3e3e32484c6ac9de94cc70fc6d5660d8e61cb4e1 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 20:51:44 +0200 Subject: [PATCH 22/30] changed binary direction in Dockerfile.windows --- Dockerfile.windows | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.windows b/Dockerfile.windows index 124c721..ae6b771 100644 --- a/Dockerfile.windows +++ b/Dockerfile.windows @@ -6,6 +6,6 @@ WORKDIR C:/app # Copy the Windows binary ARG BINARY_NAME -COPY ${BINARY_NAME}.exe . +COPY windows-bin/${BINARY_NAME}.exe . -ENTRYPOINT ["C:/app/watcher_agent.exe"] \ No newline at end of file +ENTRYPOINT ["C:/app/${BINARY_NAME}.exe"] \ No newline at end of file From ccff41a4735585e36d97a259791c8f38afc1d274 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 20:57:27 +0200 Subject: [PATCH 23/30] get defaul binary name --- Dockerfile.windows | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile.windows b/Dockerfile.windows index ae6b771..23b7631 100644 --- a/Dockerfile.windows +++ b/Dockerfile.windows @@ -6,6 +6,7 @@ WORKDIR C:/app # Copy the Windows binary ARG BINARY_NAME +env BINARY_NAME=${BINARY_NAME:-WatcherAgent} COPY windows-bin/${BINARY_NAME}.exe . ENTRYPOINT ["C:/app/${BINARY_NAME}.exe"] \ No newline at end of file From 4c03e8f91975399198a2e6c11b15dc005e57a671 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Mon, 4 Aug 2025 21:12:55 +0200 Subject: [PATCH 24/30] building tagging and pushing in one go --- .github/workflows/build.yml | 12 ++---------- Dockerfile.windows | 2 +- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 72ab3fb..0b1a2f0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -197,16 +197,8 @@ jobs: --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 "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 }}" - docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:windows-${{ env.TAG }} + --push \ + -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:windows-${{ env.TAG }} . cleanup: name: Cleanup diff --git a/Dockerfile.windows b/Dockerfile.windows index 23b7631..5fac439 100644 --- a/Dockerfile.windows +++ b/Dockerfile.windows @@ -6,7 +6,7 @@ WORKDIR C:/app # Copy the Windows binary ARG BINARY_NAME -env BINARY_NAME=${BINARY_NAME:-WatcherAgent} +ENV BINARY_NAME=${BINARY_NAME:-WatcherAgent} COPY windows-bin/${BINARY_NAME}.exe . ENTRYPOINT ["C:/app/${BINARY_NAME}.exe"] \ No newline at end of file From 6371c78fc70395fe59f9ac15f7be8362d58c80f8 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Tue, 5 Aug 2025 11:37:27 +0200 Subject: [PATCH 25/30] added insecure entitlement network.host --- .github/workflows/build.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0b1a2f0..038b76f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -149,8 +149,9 @@ jobs: - name: Linux build using Docker Buildx run: | - docker buildx create --use + docker buildx create --use --buildkitd-flags '--allow-insecure-entitlement network.host' docker buildx build \ + --allow network.host \ --platform linux/amd64 \ -f Dockerfile.linux \ --build-arg BINARY_NAME=${{ needs.detect-project.outputs.project-name }} \ @@ -192,8 +193,9 @@ jobs: - name: Windows build using Docker Buildx run: | - docker buildx create --use + docker buildx create --use --buildkitd-flags '--allow-insecure-entitlement network.host' docker buildx build \ + --allow network.host \ --platform windows/amd64 \ -f Dockerfile.windows \ --build-arg BINARY_NAME=${{ needs.detect-project.outputs.project-name }} \ @@ -203,7 +205,7 @@ jobs: cleanup: name: Cleanup if: always() - needs: [docker-build, native-build, windows-cross] + needs: [docker-build, native-build, windows-cross, windows-docker-build] runs-on: ubuntu-latest steps: - name: Cleanup Docker images From b1ea1dc96a6998e9676525a0233c772be6593b45 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Tue, 5 Aug 2025 18:22:50 +0200 Subject: [PATCH 26/30] =?UTF-8?q?was=20ne=20verfreckte=20schei=C3=9Fe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WatcherAgent/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WatcherAgent/src/main.rs b/WatcherAgent/src/main.rs index 0a33294..6796e14 100644 --- a/WatcherAgent/src/main.rs +++ b/WatcherAgent/src/main.rs @@ -416,7 +416,7 @@ impl MetricsCollector { } fn get_cpu_temp() -> Option { - println!("Attempting to get CPU temperature..."); + println!("Attempting to get CPU temperature... "); #[cfg(target_os = "linux")] { From 59e5677ca41fb307876ff6fb30918a8608619396 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Tue, 5 Aug 2025 18:56:34 +0200 Subject: [PATCH 27/30] removed windows from docker builds --- .github/workflows/build.yml | 39 +------------------------------------ 1 file changed, 1 insertion(+), 38 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 038b76f..febcde7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -149,9 +149,8 @@ jobs: - name: Linux build using Docker Buildx run: | - docker buildx create --use --buildkitd-flags '--allow-insecure-entitlement network.host' + docker buildx create --use docker buildx build \ - --allow network.host \ --platform linux/amd64 \ -f Dockerfile.linux \ --build-arg BINARY_NAME=${{ needs.detect-project.outputs.project-name }} \ @@ -166,42 +165,6 @@ jobs: 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: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Download Windows artifact - uses: actions/download-artifact@v3 - with: - name: windows-binary - path: windows-bin - - - name: Verify artifacts - run: | - echo "Windows binary:" - ls -la 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 --buildkitd-flags '--allow-insecure-entitlement network.host' - docker buildx build \ - --allow network.host \ - --platform windows/amd64 \ - -f Dockerfile.windows \ - --build-arg BINARY_NAME=${{ needs.detect-project.outputs.project-name }} \ - --push \ - -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:windows-${{ env.TAG }} . - cleanup: name: Cleanup if: always() From 2ac3111387c02a179d4ce5f0964b9725b94e1b24 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Tue, 5 Aug 2025 19:37:31 +0200 Subject: [PATCH 28/30] removed pushing image --- .github/workflows/build.yml | 16 +++++++++------- Dockerfile.windows | 12 ------------ 2 files changed, 9 insertions(+), 19 deletions(-) delete mode 100644 Dockerfile.windows diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index febcde7..7f9b583 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -157,18 +157,20 @@ jobs: --load \ -t ${{ env.IMAGE_NAME }}:linux-${{ env.TAG }} . - - name: Tag and Push Linux Docker image - if: ${{ success() }} + - name: Save Docker image as artifact run: | - echo "Tagging Linux Docker image" - 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 }} + docker save ${{ env.IMAGE_NAME }}:linux-${{ env.TAG }} -o linux-image.tar + + - name: Upload Docker image artifact + uses: actions/upload-artifact@v3 + with: + name: linux-docker-image + path: linux-image.tar cleanup: name: Cleanup if: always() - needs: [docker-build, native-build, windows-cross, windows-docker-build] + needs: [docker-build, native-build, windows-cross] runs-on: ubuntu-latest steps: - name: Cleanup Docker images diff --git a/Dockerfile.windows b/Dockerfile.windows deleted file mode 100644 index 5fac439..0000000 --- a/Dockerfile.windows +++ /dev/null @@ -1,12 +0,0 @@ -# Using Windows Server Core as base -FROM mcr.microsoft.com/windows/servercore:ltsc2022 - -# Create app directory -WORKDIR C:/app - -# Copy the Windows binary -ARG BINARY_NAME -ENV BINARY_NAME=${BINARY_NAME:-WatcherAgent} -COPY windows-bin/${BINARY_NAME}.exe . - -ENTRYPOINT ["C:/app/${BINARY_NAME}.exe"] \ No newline at end of file From cb63c45fb6fd984cc3159ca4dcb118ff50ab1f54 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Thu, 7 Aug 2025 18:17:23 +0200 Subject: [PATCH 29/30] checking build --- WatcherAgent/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WatcherAgent/src/main.rs b/WatcherAgent/src/main.rs index 6796e14..0a33294 100644 --- a/WatcherAgent/src/main.rs +++ b/WatcherAgent/src/main.rs @@ -416,7 +416,7 @@ impl MetricsCollector { } fn get_cpu_temp() -> Option { - println!("Attempting to get CPU temperature... "); + println!("Attempting to get CPU temperature..."); #[cfg(target_os = "linux")] { From 172782e3e5b597ad848390be07a678c8414caeb2 Mon Sep 17 00:00:00 2001 From: donpat1to Date: Fri, 8 Aug 2025 12:45:57 +0200 Subject: [PATCH 30/30] removed build on push for feat, bug and enhancement branaches --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7f9b583..42849d5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,7 +3,7 @@ name: Rust Cross-Platform Build on: workflow_dispatch: push: - branches: [ "development", "main", "feature/*", bug/*, enhancement/* ] + branches: [ "development", "main"] #"feature/*", bug/*, enhancement/* ] pull_request: branches: [ "development", "main" ]