Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main' into merge-main
Browse files Browse the repository at this point in the history
  • Loading branch information
songy23 committed Dec 28, 2023
2 parents a54beed + ca44eaf commit acf17cf
Show file tree
Hide file tree
Showing 164 changed files with 14,993 additions and 17,305 deletions.
5 changes: 3 additions & 2 deletions .env
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@


# Images
IMAGE_VERSION=1.4.0
IMAGE_VERSION=1.7.0
IMAGE_NAME=ghcr.io/open-telemetry/demo
TRACETEST_IMAGE_VERSION=v0.14.5

# Demo Platform
ENV_PLATFORM=local
Expand All @@ -12,7 +13,7 @@ OTEL_COLLECTOR_HOST=otelcol
OTEL_COLLECTOR_PORT_GRPC=4317
OTEL_COLLECTOR_PORT_HTTP=4318
OTEL_EXPORTER_OTLP_ENDPOINT=http://${OTEL_COLLECTOR_HOST}:${OTEL_COLLECTOR_PORT_GRPC}
PUBLIC_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:8080/oltp-http/v1/traces
PUBLIC_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:8080/otlp-http/v1/traces

# OpenTelemetry Resource Definitions
OTEL_RESOURCE_ATTRIBUTES="service.namespace=opentelemetry-demo"
Expand Down
77 changes: 57 additions & 20 deletions .github/workflows/build-images.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# Copyright The OpenTelemetry Authors
# SPDX-License-Identifier: Apache-2.0

on:
push:
paths:
- 'src/**'
- 'test/**'
workflow_call:
inputs:
push:
Expand All @@ -10,7 +15,7 @@ on:
type: boolean
version:
description: The version used when tagging the image
default: dev
default: 'dev'
required: false
type: string

Expand All @@ -33,99 +38,131 @@ jobs:
- file: ./src/adservice/Dockerfile
tag_suffix: adservice
context: ./
setup-qemu: true
- file: ./src/cartservice/src/Dockerfile
tag_suffix: cartservice
context: ./
setup-qemu: false
- file: ./src/checkoutservice/Dockerfile
tag_suffix: checkoutservice
context: ./
setup-qemu: true
- file: ./src/currencyservice/Dockerfile
tag_suffix: currencyservice
context: ./src/currencyservice
setup-qemu: true
- file: ./src/emailservice/Dockerfile
tag_suffix: emailservice
context: ./src/emailservice
# TODO: https://github.com/open-telemetry/opentelemetry-demo/issues/956
# - file: ./src/featureflagservice/Dockerfile
# tag_suffix: featureflagservice
# context: ./
setup-qemu: true
# NOTE:
# https://github.com/open-telemetry/opentelemetry-demo/issues/956
# Until dedicated ARM runners are available for GHA we cannot upgrade
# OTP/Elixir versions. Please do not change the OTP/Elixir versions.
- file: ./src/featureflagservice/Dockerfile
tag_suffix: featureflagservice
context: ./
setup-qemu: true
- file: ./src/frontend/Dockerfile
tag_suffix: frontend
context: ./
setup-qemu: true
- file: ./src/frontendproxy/Dockerfile
tag_suffix: frontendproxy
context: ./
setup-qemu: true
- file: ./src/loadgenerator/Dockerfile
tag_suffix: loadgenerator
context: ./
- file: ./src/otelcollector/Dockerfile
tag_suffix: otelcollector
context: ./
setup-qemu: true
- file: ./src/paymentservice/Dockerfile
tag_suffix: paymentservice
context: ./
setup-qemu: true
- file: ./src/productcatalogservice/Dockerfile
tag_suffix: productcatalogservice
context: ./
setup-qemu: true
- file: ./src/quoteservice/Dockerfile
tag_suffix: quoteservice
context: ./
setup-qemu: true
- file: ./src/shippingservice/Dockerfile
tag_suffix: shippingservice
context: ./
setup-qemu: true
- file: ./src/recommendationservice/Dockerfile
tag_suffix: recommendationservice
context: ./
setup-qemu: true
- file: ./src/kafka/Dockerfile
tag_suffix: kafka
context: ./
setup-qemu: true
- file: ./src/accountingservice/Dockerfile
tag_suffix: accountingservice
context: ./
setup-qemu: true
- file: ./src/frauddetectionservice/Dockerfile
tag_suffix: frauddetectionservice
context: ./
setup-qemu: true
- file: ./src/frontend/Dockerfile.cypress
tag_suffix: frontend-tests
context: ./
setup-qemu: true
- file: ./test/Dockerfile
tag_suffix: integrationTests
context: ./
setup-qemu: true

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Check for changes and set push options
id: check_changes
run: |
DOCKERFILE_DIR=$(dirname ${{ matrix.file_tag.file }})
FILES_CHANGED=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} -- $DOCKERFILE_DIR)
FORCE_PUSH=${{ inputs.push }}
if [ "$FORCE_PUSH" = true ]; then
echo "Force push is enabled, proceeding with build."
echo "skip=false" >> "$GITHUB_OUTPUT"
elif [ -z "$FILES_CHANGED" ]; then
echo "No changes in ${{ matrix.file_tag.context }}, skipping build."
echo "skip=true" >> "$GITHUB_OUTPUT"
else
echo "Changes detected in ${{ matrix.file_tag.context }}, proceeding with build."
echo "skip=false" >> "$GITHUB_OUTPUT"
fi
- name: Log in to the Container registry
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
if: ${{ inputs.push }}

- name: Log in to Docker Hub
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
if: ${{ inputs.push }}

- name: Set up QEMU
uses: docker/setup-qemu-action@v2
if: ${{ matrix.file_tag.setup-qemu }}
uses: docker/setup-qemu-action@v3
with:
image: tonistiigi/binfmt:master

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
with:
config-inline: |
[worker.oci]
max-parallelism = 2
max-parallelism = 2
- name: Matrix Build and push demo images
uses: docker/build-push-action@v3.3.0
if: steps.check_changes.outputs.skip == 'false'
uses: docker/build-push-action@v5.0.0
with:
context: ${{ matrix.file_tag.context }}
file: ${{ matrix.file_tag.file }}
Expand Down
17 changes: 10 additions & 7 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,15 @@ on:
jobs:
build_images:
uses: ./.github/workflows/build-images.yml
with:
push: false
version: 'dev'

markdownlint:
runs-on: ubuntu-latest
steps:
- name: check out code
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: install dependencies
run: npm install
Expand All @@ -29,9 +32,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: check out code
uses: actions/checkout@v3
uses: actions/checkout@v4

- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'

Expand All @@ -45,7 +48,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: check out code
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: run misspell
run: make misspell
Expand All @@ -54,7 +57,7 @@ jobs:
name: markdownlinkcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Run link check
uses: gaurav-nelson/github-action-markdown-link-check@v1
with:
Expand All @@ -66,7 +69,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: run sanitycheck.py
run: python3 ./internal/tools/sanitycheck.py
Expand All @@ -75,7 +78,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: check out code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: install tools
run: make install-tools
- name: run checklicense
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/gradle-wrapper-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ jobs:
validation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: gradle/wrapper-validation-action@v1.0.6
- uses: gradle/wrapper-validation-action@v1.1.0
3 changes: 2 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,5 @@ jobs:
uses: ./.github/workflows/build-images.yml
with:
push: true
version: ${{ github.event.release.tag_name }}"
version: ${{ github.event.release.tag_name }}
secrets: inherit
50 changes: 50 additions & 0 deletions .github/workflows/run-integration-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Copyright The OpenTelemetry Authors
# SPDX-License-Identifier: Apache-2.0
name: Integration Tests

on:
pull_request_target:
branches:
- main
types: [closed]

jobs:
build_runner:
runs-on: ubuntu-latest
name: "Build Runner"
if: github.event.pull_request.merged == true
steps:
- name: metal-runner-action
uses: equinix-labs/metal-action-runner@v0.1.1
with:
github_token: ${{ secrets.GH_CI_SECRET }}
metal_auth_token: ${{ secrets.METAL_AUTH_TOKEN }}
metal_project_id: ${{ secrets.METAL_PROJECT_ID }}
metro: "da"
plan: "c3.small.x86"
os: "ubuntu_20_04"
run_tests:
needs: build_runner
runs-on: self-hosted
name: "Run CI"
steps:
- name: check out code
uses: actions/checkout@v3
- name: install docker
run: |
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
- name: run tracetesting
run: |
make build && make run-tracetesting
destroy:
needs: [build_runner, run_tests]
runs-on: ubuntu-latest
name: "Cleanup"
steps:
- name: metal-sweeper-action
uses: equinix-labs/metal-sweeper-action@v0.6.1
with:
authToken: ${{ secrets.METAL_AUTH_TOKEN }}
projectID: ${{ secrets.METAL_PROJECT_ID }}
keepProject: true
Loading

0 comments on commit acf17cf

Please sign in to comment.