From f70cdaab5455cefdaf7714e7c8c8335fa5842ab3 Mon Sep 17 00:00:00 2001 From: d-g-town <66391417+d-g-town@users.noreply.github.com> Date: Thu, 1 Feb 2024 15:49:14 -0500 Subject: [PATCH] Create release_services.yaml --- .github/workflows/release_services.yaml | 60 +++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 .github/workflows/release_services.yaml diff --git a/.github/workflows/release_services.yaml b/.github/workflows/release_services.yaml new file mode 100644 index 0000000000..318a4af5e2 --- /dev/null +++ b/.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