d-g-town 2 лет назад
Родитель
Сommit
f70cdaab54
1 измененных файлов с 60 добавлено и 0 удалено
  1. 60 0
      .github/workflows/release_services.yaml

+ 60 - 0
.github/workflows/release_services.yaml

@@ -0,0 +1,60 @@
+---
+name: build
+
+on:
+  push:
+    branches:
+      - main
+  pull_request:
+    branches:
+      - "*"
+
+permissions:
+  contents: read
+  packages: write
+
+jobs:
+  build-image:
+    strategy:
+      matrix:
+        apps:
+          - name: job_sidecar_container
+          - tag: job-sidecar
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout the repo
+        uses: actions/checkout@v4
+      - name: Get changed files in the docs folder
+        id: changed-files-specific
+        uses: tj-actions/changed-files@v40.2.0
+        with:
+          files: services/${{ matrix.apps.name }}/**
+      - name: Set up QEMU
+        if: steps.changed-files-specific.outputs.any_changed == 'true'
+        uses: docker/setup-qemu-action@v3
+      - name: Set up Docker Buildx
+        if: steps.changed-files-specific.outputs.any_changed == 'true'
+        uses: docker/setup-buildx-action@v3
+      - name: Login to GitHub Package Registry
+        if: steps.changed-files-specific.outputs.any_changed == 'true'
+        uses: docker/login-action@v3
+        with:
+          registry: ghcr.io
+          username: ${{github.actor}}
+          password: ${{ secrets.GITHUB_TOKEN }}
+      - name: Set Github tag
+        if: steps.changed-files-specific.outputs.any_changed == 'true'
+        id: vars
+        run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
+      - name: Build and push
+        if: steps.changed-files-specific.outputs.any_changed == 'true'
+        uses: docker/build-push-action@v5
+        env:
+          DOCKER_BUILDKIT: 1
+        with:
+          context: services/${{ matrix.apps.name }}
+          platforms: linux/amd64,linux/arm64
+          push: github.ref == 'refs/heads/main'
+          tags: |
+            ghcr.io/porter-dev/${{ matrix.apps.tag }}:${{ steps.vars.outputs.sha_short }}
+            ghcr.io/porter-dev/${{ matrix.apps.tag }}:latest