rename source code (#26) #94
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Build and Publish" | |
on: | |
push: | |
branches: | |
- 'main' | |
- 'daocloud' | |
pull_request: | |
branches: | |
- 'main' | |
- 'daocloud' | |
jobs: | |
build_and_push_images: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
env: | |
RELEASE_VERSION: "${{ github.event.release.tag_name }}" | |
DOCKERHUB_REPO: "openinsight-proj/demo" | |
GHCR_REPO: "ghcr.io/openinsight-proj/demo" | |
strategy: | |
matrix: | |
file_tag: | |
- file: ./src/adservice/Dockerfile | |
tag_suffix: adservice | |
context: ./ | |
- file: ./src/adservice-v2/Dockerfile | |
tag_suffix: adservice-v2 | |
context: ./ | |
- file: ./src/dataservice/Dockerfile | |
tag_suffix: dataservice | |
context: ./ | |
- file: ./src/cartservice/src/Dockerfile | |
tag_suffix: cartservice | |
context: ./ | |
- file: ./src/checkoutservice/Dockerfile | |
tag_suffix: checkoutservice | |
context: ./ | |
- file: ./src/checkoutservice-v2/Dockerfile | |
tag_suffix: checkoutservice-v2 | |
context: ./ | |
- file: ./src/currencyservice/Dockerfile | |
tag_suffix: currencyservice | |
context: ./src/currencyservice | |
- file: ./src/emailservice/Dockerfile | |
tag_suffix: emailservice | |
context: ./src/emailservice | |
- file: ./src/featureflagservice/Dockerfile | |
tag_suffix: featureflagservice | |
context: ./ | |
- file: ./src/frontend/Dockerfile | |
tag_suffix: frontend | |
context: ./ | |
- file: ./src/frontendproxy/Dockerfile | |
tag_suffix: frontendproxy | |
context: ./ | |
- file: ./src/loadgenerator/Dockerfile | |
tag_suffix: loadgenerator | |
context: ./ | |
- file: ./src/paymentservice/Dockerfile | |
tag_suffix: paymentservice | |
context: ./ | |
- file: ./src/productcatalogservice/Dockerfile | |
tag_suffix: productcatalogservice | |
context: ./ | |
- file: ./src/quoteservice/Dockerfile | |
tag_suffix: quoteservice | |
context: ./ | |
- file: ./src/shippingservice/Dockerfile | |
tag_suffix: shippingservice | |
context: ./ | |
- file: ./src/recommendationservice/Dockerfile | |
tag_suffix: recommendationservice | |
context: ./ | |
- file: ./src/kafka/Dockerfile | |
tag_suffix: kafka | |
context: ./ | |
- file: ./src/accountingservice/Dockerfile | |
tag_suffix: accountingservice | |
context: ./ | |
- file: ./src/frauddetectionservice/Dockerfile | |
tag_suffix: frauddetectionservice | |
context: ./ | |
- file: ./src/frontend/Dockerfile.cypress | |
tag_suffix: frontend-tests | |
context: ./ | |
- file: ./test/Dockerfile | |
tag_suffix: integrationTests | |
context: ./ | |
- file: ./src/spring-cloud-gateway/Dockerfile | |
tag_suffix: spring-cloud-gateway | |
context: ./ | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Log in to the Container registry | |
uses: docker/login-action@v2 | |
with: | |
registry: ghcr.io | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.ACTIONS_TOKEN }} | |
if: github.event_name != 'pull_request' | |
# - name: Log in to Docker Hub | |
# uses: docker/login-action@v2 | |
# with: | |
# username: ${{ secrets.DOCKER_USERNAME }} | |
# password: ${{ secrets.DOCKER_PASSWORD }} | |
# if: github.event_name != 'pull_request' | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
with: | |
config-inline: | | |
[worker.oci] | |
max-parallelism = 2 | |
- name: Matrix Build and push demo images | |
uses: docker/[email protected] | |
with: | |
context: ${{ matrix.file_tag.context }} | |
file: ${{ matrix.file_tag.file }} | |
platforms: linux/amd64,linux/arm64 | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: | | |
${{ env.GHCR_REPO }}:${{ github.sha }}-${{ matrix.file_tag.tag_suffix }} | |
${{ env.GHCR_REPO }}:${{ env.RELEASE_VERSION || 'pr' }}-${{ matrix.file_tag.tag_suffix }} | |
cache-from: type=gha | |
cache-to: type=gha |