From d08bd8c21c9165213633131f67c759ec084a64e7 Mon Sep 17 00:00:00 2001 From: gitricko Date: Sun, 28 Sep 2025 18:41:59 +0000 Subject: [PATCH 1/3] docker build and publish --- .github/workflows/docker-publish.yml | 41 ++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 .github/workflows/docker-publish.yml diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml new file mode 100644 index 0000000..cea08e2 --- /dev/null +++ b/.github/workflows/docker-publish.yml @@ -0,0 +1,41 @@ +name: Build and Push Docker Image + +on: + push: + branches: [ main ] + release: + types: [ published ] + +jobs: + build-and-push: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Log in to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository }} + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: | + ghcr.io/${{ github.repository }}:latest + ghcr.io/${{ github.repository }}:${{ github.sha }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file From 1719273f0dc073889572e85f3f97a038cd8b3ef7 Mon Sep 17 00:00:00 2001 From: gitricko Date: Sun, 28 Sep 2025 19:01:28 +0000 Subject: [PATCH 2/3] github actions --- .github/workflows/docker-publish.yml | 35 +++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index cea08e2..27eb2f6 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -3,12 +3,39 @@ name: Build and Push Docker Image on: push: branches: [ main ] + pull_request: + branches: [ main ] release: types: [ published ] jobs: - build-and-push: + + build-test: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Build Docker image + run: | + docker build -f ./docker/Dockerfile -t tradenode:test . + + - name: Test Docker image + run: | + docker run --rm tradenode:test > /tmp/test.log + + if grep -q "CONNECTING TO MONGODB" /tmp/test.log; then + echo "Build successful" + else + echo "Build failed!" + exit 1 + fi + + push-to-ghcr: runs-on: ubuntu-latest + if: github.ref == 'refs/heads/main' + needs: build-test permissions: contents: read packages: write @@ -30,10 +57,12 @@ jobs: with: images: ghcr.io/${{ github.repository }} - - name: Build and push Docker image - uses: docker/build-push-action@v5 + - name: Build and push + uses: docker/build-push-action@v6 with: context: . + platforms: linux/amd64,linux/arm64 + file: ./docker/Dockerfile push: true tags: | ghcr.io/${{ github.repository }}:latest From deab9cb30f89d5eb3cbedfb1a84caf77ec5606d3 Mon Sep 17 00:00:00 2001 From: gitricko Date: Sun, 28 Sep 2025 19:04:42 +0000 Subject: [PATCH 3/3] dev --- .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 27eb2f6..2b3a4c6 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -23,7 +23,7 @@ jobs: - name: Test Docker image run: | - docker run --rm tradenode:test > /tmp/test.log + docker run --rm tradenode:test > /tmp/test.log || true if grep -q "CONNECTING TO MONGODB" /tmp/test.log; then echo "Build successful"