This is an automated email from the ASF dual-hosted git repository. kezhenxu94 pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/skywalking-showcase.git
commit fa01b9fa0d498427a0fd03420648340cee5d59a9 Author: kezhenxu94 <[email protected]> AuthorDate: Thu Nov 4 12:34:03 2021 +0800 Add workflow to publish Docker images --- .github/workflows/publish-images.yaml | 46 ++++++++++++++++++++++++++++++++ Makefile | 11 +++++--- services/app/Makefile | 2 +- services/recommendation-service/Makefile | 2 +- 4 files changed, 56 insertions(+), 5 deletions(-) diff --git a/.github/workflows/publish-images.yaml b/.github/workflows/publish-images.yaml new file mode 100644 index 0000000..8dbc475 --- /dev/null +++ b/.github/workflows/publish-images.yaml @@ -0,0 +1,46 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: publish-images + +on: + push: + branches: + - main + +env: + HUB: ghcr.io/apache/skywalking-showcase + +jobs: + build: + if: github.repository == 'apache/skywalking-showcase' + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + timeout-minutes: 30 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: Log in to the Container registry + uses: docker/[email protected] + with: + registry: ${{ env.HUB }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push Docker image + run: make push || make push diff --git a/Makefile b/Makefile index 57f5c08..7edc1f6 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ $(services): $(MAKE) -C $@ build .PHONY: build -build: $(services) ## Build the services +build: $(services) ## Build the services if needed (e.g.: compiling Java files, build Go binary), do nothing if no need (e.g.: Python) services_docker = $(foreach svc,$(services),$(svc).docker.build) .PHONY: docker @@ -35,8 +35,13 @@ docker: $(services_docker) ## Build Docker images $(services_docker): %.docker.build: % $(MAKE) -C $< docker.build -.PHONY: docker.build -docker.build: $(services_docker) +services_push = $(foreach svc,$(services),$(svc).docker.push) +.PHONY: push +push: $(services_push) ## Build and push Docker images + +.PHONY: $(services_push) +$(services_push): %.docker.push: % + $(MAKE) -C $< docker.push ##@ Deploy targets diff --git a/services/app/Makefile b/services/app/Makefile index 2560e3d..f38b33a 100644 --- a/services/app/Makefile +++ b/services/app/Makefile @@ -19,7 +19,7 @@ include ../../Makefile.in .PHONY: build -build: docker.build +build: .PHONY: docker docker.build docker.push diff --git a/services/recommendation-service/Makefile b/services/recommendation-service/Makefile index 3395621..fff6299 100644 --- a/services/recommendation-service/Makefile +++ b/services/recommendation-service/Makefile @@ -19,7 +19,7 @@ include ../../Makefile.in .PHONY: build -build: docker.build +build: .PHONY: docker docker.build docker.push
