Skip to content

Commit

Permalink
Merge branch 'main' into renovate/github.com-prometheus-common-0.x
Browse files Browse the repository at this point in the history
  • Loading branch information
yurishkuro authored Sep 2, 2024
2 parents 153178f + 5bd6980 commit 39023bc
Show file tree
Hide file tree
Showing 11 changed files with 124 additions and 116 deletions.
4 changes: 0 additions & 4 deletions .github/workflows/ci-docker-hotrod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,3 @@ jobs:
env:
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
QUAY_TOKEN: ${{ secrets.QUAY_TOKEN }}

- name: Print logs from hotrod
run: docker compose -f ./examples/hotrod/docker-compose.yml logs
if: failure()
4 changes: 0 additions & 4 deletions .github/workflows/ci-e2e-cassandra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,6 @@ jobs:
id: test-execution
run: bash scripts/cassandra-integration-test.sh ${{ matrix.version.major }} ${{ matrix.version.schema }} ${{ matrix.jaeger-version }}

- name: Output Cassandra logs
run: docker compose -f ${{ steps.test-execution.outputs.docker_compose_file }} logs
if: ${{ failure() }}

- name: Upload coverage to codecov
uses: ./.github/actions/upload-codecov
with:
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/ci-e2e-elasticsearch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,6 @@ jobs:
id: test-execution
run: bash scripts/es-integration-test.sh ${{ matrix.version.distribution }} ${{ matrix.version.major }} ${{ matrix.version.jaeger }}


- name: Output ${{ matrix.version.distribution }} logs
run: docker compose -f ${{ steps.test-execution.outputs.docker_compose_file }} logs
if: ${{ failure() }}

- name: Upload coverage to codecov
uses: ./.github/actions/upload-codecov
with:
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/ci-e2e-opensearch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,6 @@ jobs:
id: test-execution
run: bash scripts/es-integration-test.sh ${{ matrix.version.distribution }} ${{ matrix.version.major }} ${{ matrix.version.jaeger }}


- name: Output ${{ matrix.version.distribution }} logs
run: docker compose -f ${{ steps.test-execution.outputs.docker_compose_file }} logs
if: ${{ failure() }}

- name: Upload coverage to codecov
uses: ./.github/actions/upload-codecov
with:
Expand Down
90 changes: 83 additions & 7 deletions .github/workflows/ci-lint-checks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,47 @@ jobs:

- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
go-version: 1.23.x

- name: Print Jaeger version for no reason
run: make echo-v1 echo-v2

- name: Install tools
run: make install-test-tools

- name: Lint
run: make lint

pull-request-preconditions:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0
with:
egress-policy: audit # TODO: change to 'egress-policy: block' after a couple of runs

- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

- name: Ensure PR is not on main branch
uses: ./.github/actions/block-pr-not-on-main

- name: lint-nocommit
run: make lint-nocommit

dco-check:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0
with:
egress-policy: audit # TODO: change to 'egress-policy: block' after a couple of runs

- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

- name: Set up Python 3.x for DCO check
uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
with:
python-version: '3.x'

Expand All @@ -39,15 +75,55 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

generated-files-check:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0
with:
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs

- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
submodules: recursive

- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
go-version: 1.23.x

- name: Print Jaeger version for no reason
run: make echo-v1 echo-v2
- name: Verify Protobuf types are up to date
run: make proto && git diff --name-status --exit-code

- name: Install tools
run: make install-test-tools
- name: Verify Thrift types are up to date
run: make thrift && git diff --name-status --exit-code

- name: Lint
run: make lint
- name: Verify Mockery types are up to date
run: make generate-mocks && git diff --name-status --exit-code

lint-shell-scripts:
runs-on: ubuntu-latest

steps:
- name: Harden Runner
uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0
with:
egress-policy: audit

- name: Check out code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

- name: Install shellcheck
run: sudo apt-get install shellcheck

- name: Run shellcheck
run: shellcheck scripts/*.sh

- name: Install shunit2
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
repository: kward/shunit2
path: .tools/shunit2

- name: Run unit tests for scripts
run: |
SHUNIT2=.tools/shunit2 bash scripts/compute-tags.test.sh
42 changes: 0 additions & 42 deletions .github/workflows/ci-lint-protogen.yml

This file was deleted.

40 changes: 0 additions & 40 deletions .github/workflows/ci-lint-shell-scripts.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: SARIF file
path: results.sarif
Expand Down
10 changes: 10 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,16 @@ lint-license:
@./scripts/updateLicense.py $(ALL_SRC) $(SCRIPTS_SRC) > $(FMT_LOG)
@[ ! -s "$(FMT_LOG)" ] || (echo "License check failures, run 'make fmt'" | cat - $(FMT_LOG) && false)

.PHONY: lint-nocommit
lint-nocommit:
@if git diff main | grep '@no''commit' ; then \
echo "❌ Cannot merge PR that contains @no""commit string" ; \
GIT_PAGER=cat git diff -G '@no''commit' main ; \
false ; \
else \
echo "✅ Changes do not contain @no""commit string" ; \
fi

.PHONY: lint-imports
lint-imports:
@echo Verifying that all Go files have correctly ordered imports
Expand Down
25 changes: 17 additions & 8 deletions scripts/es-integration-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ set -euf -o pipefail

# use global variables to reflect status of db
db_is_up=
success="false"

usage() {
echo "Usage: $0 <backend> <backend_version> <jaeger_version>"
Expand Down Expand Up @@ -55,10 +56,6 @@ wait_for_storage() {
# if after all the attempts the storage is not accessible, terminate it and exit
if [[ "$(curl "${params[@]}" "${url}")" != "200" ]]; then
echo "ERROR: ${distro} is not ready at ${url} after $(( attempt * 10 )) seconds"
echo "::group::${distro} logs"
docker compose -f "${compose_file}" logs
echo "::endgroup::"
docker compose -f "${compose_file}" down
db_is_up=0
else
echo "SUCCESS: ${distro} is available at ${url}"
Expand Down Expand Up @@ -87,18 +84,29 @@ bring_up_storage() {
break
fi
done
if [ ${db_is_up} = "1" ]; then
# shellcheck disable=SC2064
trap "teardown_storage ${compose_file}" EXIT
else
# shellcheck disable=SC2064
trap "teardown_storage ${compose_file} ${distro}" EXIT
if [ ${db_is_up} != "1" ]; then
echo "ERROR: unable to start ${distro}"
exit 1
fi
}

dump_logs() {
local compose_file=$1
local distro=$2
echo "::group::${distro} logs"
docker compose -f "${compose_file}" logs
echo "::endgroup::"
}

# terminate the elasticsearch/opensearch container
teardown_storage() {
local compose_file=$1
local distro=$2
if [[ "$success" == "false" ]]; then
dump_logs "${compose_file}" "${distro}"
fi
docker compose -f "${compose_file}" down
}

Expand Down Expand Up @@ -131,6 +139,7 @@ main() {
echo "ERROR: Invalid argument value jaeger_version=${j_version}, expecing v1/v2".
exit 1
fi
success="true"
}

main "$@"
13 changes: 13 additions & 0 deletions scripts/hotrod-integration-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ docker_compose_file="./examples/hotrod/docker-compose.yml"
platforms="$(make echo-linux-platforms)"
current_platform="$(go env GOOS)/$(go env GOARCH)"
LOCAL_FLAG=''
success="false"

while getopts "lp:h" opt; do
case "${opt}" in
Expand All @@ -33,8 +34,18 @@ while getopts "lp:h" opt; do
esac
done

dump_logs() {
local compose_file=$1
echo "::group:: Hotrod logs"
docker compose -f "${compose_file}" logs
echo "::endgroup::"
}

teardown() {
echo "Tearing down..."
if [[ "$success" == "false" ]]; then
dump_logs "${docker_compose_file}"
fi
docker compose -f "$docker_compose_file" down
}
trap teardown EXIT
Expand Down Expand Up @@ -115,6 +126,8 @@ if [[ "$span_count" -lt "$EXPECTED_SPANS" ]]; then
exit 1
fi

success="true"

# Ensure the image is published after successful test (maybe with -l flag if on a pull request).
# This is where all those multi-platform binaries we built earlier are utilized.
bash scripts/build-upload-a-docker-image.sh ${LOCAL_FLAG} -c example-hotrod -d examples/hotrod -p "${platforms}"

0 comments on commit 39023bc

Please sign in to comment.