Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
f5b2276
Update package naming and artifact paths in build.yml
plengauer Mar 15, 2026
008378e
Update Dockerfile to copy all APK files
plengauer Mar 15, 2026
2ba7a8a
Fix artifact name format in build.yml
plengauer Mar 15, 2026
89cad27
Update publish.yml for improved release process
plengauer Mar 15, 2026
a685042
Rename artifact download names to include '.deb.'
plengauer Mar 15, 2026
0201be8
Update test_shell.yml
plengauer Mar 15, 2026
39adc0b
Add merge-multiple option to download-artifact action
plengauer Mar 16, 2026
8f02ccf
Update artifact name pattern and enable merging
plengauer Mar 16, 2026
4e88317
Update package installation commands in Dockerfile
plengauer Mar 16, 2026
6d19b37
Disable artifact upload in build.yml
plengauer Mar 16, 2026
0dd28f5
Uncomment artifact upload step in build workflow
plengauer Mar 16, 2026
5abd031
Fix artifact upload step in build workflow
plengauer Mar 16, 2026
955a599
Uncomment path for APK upload in build workflow
plengauer Mar 16, 2026
ccfc70c
Fix path syntax for artifact upload in build.yml
plengauer Mar 16, 2026
d89ecb4
Fix subject-path quotes in publish.yml
plengauer Mar 16, 2026
4f12ef0
Deploy OpenTelemetry (#3183)
plengauer Mar 16, 2026
182bfb6
Update build.yml
plengauer Mar 16, 2026
c96e2c5
Fix path to libinjecthttpheader.so in curl script
plengauer Mar 16, 2026
f93f668
Fix file path for libinjecthttpheader.so
plengauer Mar 16, 2026
3e8e118
Update build.yml
plengauer Mar 16, 2026
d2e0634
Update build.yml
plengauer Mar 16, 2026
5a823f0
Update build.yml
plengauer Mar 16, 2026
50d9434
Update install script to use opentelemetry-shell package
plengauer Mar 16, 2026
3fb2825
Update build.yml
plengauer Mar 16, 2026
57ffa7d
Fix architecture handling in install script
plengauer Mar 16, 2026
7b562d2
Update install.sh
plengauer Mar 16, 2026
ba36ad4
Update Dockerfile
plengauer Mar 16, 2026
1eb021f
Update package copy command in GitHub workflow
plengauer Mar 16, 2026
2b3994f
Fix variable name typo in build.yml
plengauer Mar 16, 2026
ba3e4aa
Update build.yml
plengauer Mar 16, 2026
5ddec4c
Update installation command for opentelemetry-shell package
plengauer Mar 16, 2026
e6d35b8
Update architecture detection in install script
plengauer Mar 16, 2026
d0d6d1e
Update Dockerfile to support multiple architectures
plengauer Mar 16, 2026
d1ca703
Update build.yml
plengauer Mar 17, 2026
eef0246
Deploy OpenTelemetry (#3188)
plengauer Mar 17, 2026
7c83774
Enhance build workflow for architecture-specific packages
plengauer Mar 17, 2026
d9c6e8d
Refactor build step to use temporary binaries directory
plengauer Mar 17, 2026
b1935d0
Update homepage URL in debian control file
plengauer Mar 17, 2026
6689299
Update URL in APKBUILD for opentelemetry project
plengauer Mar 17, 2026
5d6dfd7
Update build.yml
plengauer Mar 17, 2026
434a372
Update package installation commands in Dockerfile
plengauer Mar 17, 2026
5352939
Update build.yml
plengauer Mar 17, 2026
f8ca9bd
Update build.yml
plengauer Mar 17, 2026
4f99131
Update build.yml
plengauer Mar 17, 2026
d72f2a0
Backup src directory before RPM build process
plengauer Mar 17, 2026
97ced5a
Add find and cat commands to build workflow
plengauer Mar 17, 2026
fd9848d
Refactor build process in GitHub Actions workflow
plengauer Mar 18, 2026
fcd7725
Update build.yml
plengauer Mar 18, 2026
5921821
Fix RPM package path in build workflow
plengauer Mar 18, 2026
694ae36
Update test_shell.yml
plengauer Mar 18, 2026
6049877
Fix pattern syntax for downloading artifacts
plengauer Mar 18, 2026
d945e56
Update test_shell.yml
plengauer Mar 19, 2026
eca84ce
Add ls command to test_shell workflow
plengauer Mar 19, 2026
7f33f00
Comment out needs dependency in test_shell.yml
plengauer Mar 19, 2026
f453dbd
Update APK artifact path in build workflow
plengauer Mar 19, 2026
0eed2db
Update Docker run commands with versioning
plengauer Mar 19, 2026
5499e63
Update build.yml
plengauer Mar 19, 2026
0e42a22
Update build.yml
plengauer Mar 19, 2026
d697909
Update build.yml
plengauer Mar 19, 2026
d71b9af
Update build.yml
plengauer Mar 19, 2026
cecca4c
Update test_shell.yml
plengauer Mar 19, 2026
7d636be
Remove unnecessary 'ls' command from build.yml
plengauer Mar 19, 2026
1f86e38
Update test_shell.yml
plengauer Mar 19, 2026
6ca0259
Update test_shell.yml
plengauer Mar 19, 2026
4a20427
Update test_shell.yml
plengauer Mar 19, 2026
9431e4c
Update test_github.yml
plengauer Mar 19, 2026
427dd97
Update Docker run command with new mount syntax
plengauer Mar 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
145 changes: 72 additions & 73 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -474,11 +474,23 @@ jobs:
printf '%s' "${{ needs.list-python-versions.outputs.versions }}" | jq -r '.[]' | while read -r version; do
cat src/DEBIAN/triggers | grep 'python3$' | sed "s~/python3~/python$version~g" >> src/DEBIAN/triggers
done
- run: cd src && dpkg-deb --root-owner-group -Zgzip --build . ../package.deb
- run: |
cd src
replaced_binaries="$(mktemp -d)"
mv usr/share/opentelemetry_shell/agent.instrumentation.http/* "$replaced_binaries"
dpkg-deb --root-owner-group -Zgzip --build . ../opentelemetry-shell_"$(cat ../VERSION)"_all.deb
ls "$replaced_binaries" | while read -r arch; do
debian_arch="$(echo "$arch" | sed s/x86_64/amd64/g | sed s/aarch64/arm64/g | sed 's/le$/el/g')"
cp "$replaced_binaries"/"$arch"/*.so usr/share/opentelemetry_shell/agent.instrumentation.http
sed -i "s/Architecture: .*/Architecture: $debian_arch/g" DEBIAN/control
dpkg-deb --root-owner-group -Zgzip --build . ../opentelemetry-shell_"$(cat ../VERSION)"_"$debian_arch".deb
rm usr/share/opentelemetry_shell/agent.instrumentation.http/*.so
done
- uses: actions/[email protected]
with:
name: package.deb_${{ inputs.ref }}
path: package.deb
name: packages.deb.${{ inputs.ref }}
path: opentelemetry-shell_*_*.deb
if-no-files-found: error

verify-rpm-python-dependency:
runs-on: ubuntu-slim
Expand Down Expand Up @@ -520,14 +532,6 @@ jobs:
- uses: actions/[email protected]
with:
ref: ${{ inputs.ref }}
- run: |
{
find src -iname 'Dockerfile' -type f
find src -iname '*.c' -type f
find src -iname '*.java' -type f
find src -iname 'manifest.txt' -type f
find src -iname 'pom.xml' -type f
} | xargs -r rm
- uses: actions/[email protected]
with:
name: http_${{ inputs.ref }}
Expand All @@ -544,42 +548,57 @@ jobs:
with:
name: java_${{ inputs.ref }}
path: src/usr/share/opentelemetry_shell/agent.instrumentation.java
- run: cp meta/rpm/opentelemetry-shell.spec .
- run: sed -i "s/__VERSION__/$(cat VERSION)/g" opentelemetry-shell.spec
- run: |
cat meta/debian/triggers | grep -v '^$' | cut -d ' ' -f 2 | rev | cut -d / -f 1 | rev | sort -u | grep -v python3 | while read -r package; do
echo "%triggerin -- $package"
echo '#/bin/sh -e'
echo 'if [ "$1" = 0 ] || [ "$1" = 1 ] || [ "$1" = 2 ]; then set -- configure; fi'
cat meta/debian/postinst
echo "%triggerun -- $package"
echo '#/bin/sh -e'
echo 'if [ "$1" = 0 ] || [ "$1" = 1 ] || [ "$1" = 2 ]; then set -- configure; fi'
cat meta/debian/postinst
done >> opentelemetry-shell.spec
{
echo "%post"
echo '#/bin/sh -e'
echo 'if [ "$1" = 0 ] || [ "$1" = 1 ] || [ "$1" = 2 ]; then set -- configure; fi'
cat meta/debian/postinst
} >> opentelemetry-shell.spec
{
echo "%preun"
echo '#!/bin/sh -e'
echo 'if [ "$1" = 0 ]; then set -- remove; fi'
echo 'if [ "$1" = 1 ]; then set -- upgrade; fi'
cat meta/debian/prerm
} >> opentelemetry-shell.spec
{
echo '%files'
( cd src && find . | grep -v '.spec$' | while read -r file; do echo "${file#.}"; done | grep -v '^$' | while read -r file; do if [ -d "$file" ]; then if ! echo "$file" | grep opentelemetry-shell; then continue; fi; echo -n '%dir '; fi; echo \""$file"\"; done )
} >> opentelemetry-shell.spec
rpmbuild -bb --buildroot="$(pwd)/src" opentelemetry-shell.spec
mv /home/runner/rpmbuild/RPMS/noarch/opentelemetry-shell-*.noarch.rpm package.rpm
replaced_binaries="$(mktemp -d)"
mv src/usr/share/opentelemetry_shell/agent.instrumentation.http/*/ "$replaced_binaries"
{ echo noarch; ls "$replaced_binaries"; } | while read -r arch; do
rm -rf src/tmp.* /home/runner/rpmbuild
git checkout .
{
find src -iname 'Dockerfile' -type f
find src -iname '*.c' -type f
find src -iname '*.java' -type f
find src -iname 'manifest.txt' -type f
find src -iname 'pom.xml' -type f
} | xargs -r rm
cp meta/rpm/opentelemetry-shell.spec .
sed -i "s/__VERSION__/$(cat VERSION)/g" opentelemetry-shell.spec
# sed -i "s/BuildArch: .*/BuildArch: $arch/g" opentelemetry-shell.spec
cat meta/debian/triggers | grep -v '^$' | cut -d ' ' -f 2 | rev | cut -d / -f 1 | rev | sort -u | grep -v python3 | while read -r package; do
echo "%triggerin -- $package"
echo '#/bin/sh -e'
echo 'if [ "$1" = 0 ] || [ "$1" = 1 ] || [ "$1" = 2 ]; then set -- configure; fi'
cat meta/debian/postinst
echo "%triggerun -- $package"
echo '#/bin/sh -e'
echo 'if [ "$1" = 0 ] || [ "$1" = 1 ] || [ "$1" = 2 ]; then set -- configure; fi'
cat meta/debian/postinst
done >> opentelemetry-shell.spec
{
echo "%post"
echo '#/bin/sh -e'
echo 'if [ "$1" = 0 ] || [ "$1" = 1 ] || [ "$1" = 2 ]; then set -- configure; fi'
cat meta/debian/postinst
} >> opentelemetry-shell.spec
{
echo "%preun"
echo '#!/bin/sh -e'
echo 'if [ "$1" = 0 ]; then set -- remove; fi'
echo 'if [ "$1" = 1 ]; then set -- upgrade; fi'
cat meta/debian/prerm
} >> opentelemetry-shell.spec
{
echo '%files'
( cd src && find . | grep -v '.spec$' | while read -r file; do echo "${file#.}"; done | grep -v '^$' | while read -r file; do if [ -d "$file" ]; then if ! echo "$file" | grep opentelemetry-shell; then continue; fi; echo -n '%dir '; fi; echo \""$file"\"; done )
} >> opentelemetry-shell.spec
rpmbuild -bb --buildroot="$(pwd)/src" opentelemetry-shell.spec
mv /home/runner/rpmbuild/RPMS/noarch/opentelemetry-shell-"$(cat VERSION)"-1.noarch.rpm opentelemetry-shell-"$(cat VERSION)"-1."$arch".rpm
done
- uses: actions/[email protected]
with:
name: package.rpm_${{ inputs.ref }}
path: package.rpm
name: packages.rpm.${{ inputs.ref }}
path: opentelemetry-shell-*.*.rpm
if-no-files-found: error

build-apk:
needs: [verify-scripts, merge-node-modules, merge-python-site-packages, build-java-agents]
Expand Down Expand Up @@ -627,35 +646,15 @@ jobs:
cat meta/debian/prerm >> "$workspace"/opentelemetry-shell.pre-upgrade
cp -r src "$workspace"/my_src
echo 'cd ~/workspace && apk add abuild && SUDO=env abuild-keygen -a -i -n && abuild -F -r && find ~/packages -iname '\''*.apk'\'' | xargs -I "{}" mv "{}" .' | \sudo docker run --rm --network host -v "$workspace":/root/workspace -i alpine:latest
mv "$workspace"/*.apk package.apk
mv "$workspace"/*.apk .
- uses: actions/[email protected]
with:
name: package.apk_${{ inputs.ref }}
path: package.apk
merge-packages:
needs: [build-deb, build-rpm, build-apk]
runs-on: ubuntu-latest
permissions:
contents: read
actions: read
steps:
- uses: plengauer/opentelemetry-github/actions/instrument/[email protected]
env:
OTEL_EXPORTER_OTLP_ENDPOINT: ${{ secrets.OTEL_EXPORTER_OTLP_ENDPOINT }}
OTEL_EXPORTER_OTLP_HEADERS: ${{ secrets.OTEL_EXPORTER_OTLP_HEADERS }}
with:
secrets_to_redact: '["${{ github.token }}"]'
- uses: actions/[email protected]
with:
pattern: package.*
merge-multiple: true
- uses: actions/[email protected]
with:
name: packages_${{ inputs.ref }}
path: package.*
name: packages.apk.${{ inputs.ref }}
path: opentelemetry-shell-*.apk
if-no-files-found: error

build-workflow-image:
needs: [build-apk]
needs: build-apk
runs-on: ubuntu-latest
permissions:
contents: read
Expand All @@ -672,15 +671,15 @@ jobs:
ref: ${{ inputs.ref }}
- uses: actions/[email protected]
with:
name: package.apk_${{ inputs.ref }}
name: packages.apk.${{ inputs.ref }}
- run: |
cp package.apk actions/instrument/workflow
cp *.apk actions/instrument/workflow
pushd actions/instrument/workflow
sudo docker build --build-arg=repository="$GITHUB_REPOSITORY" --network host --tag opentelemetry-github-workflow-instrumentation-runner .
popd
sudo docker save opentelemetry-github-workflow-instrumentation-runner > opentelemetry-github-workflow-instrumentation-runner.image
rm actions/instrument/workflow/package.apk
rm actions/instrument/workflow/*.apk
- uses: actions/[email protected]
with:
name: images_${{ inputs.ref }}
name: images.${{ inputs.ref }}
path: '*.image'
2 changes: 1 addition & 1 deletion .github/workflows/observability_workflow.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: OpenTelemetry
on:
workflow_run:
workflows: [.github/workflows/copilot-setup-steps.yml, Analyze, Autoapprove, Autoapprove Workflow Run, Autorerun, Autoversion Main, Autoversion Release, Autobackport, Build, CI, Claude, Copilot code review, Copilot coding agent, Create Analysis Issues, Experiment, GitHub, Greetings, Initialize Fork, OpenAI Codex, Performance GitHub Job, Publish, Recompile Agentic Workflows, Refresh Demos, Renovate, Shell, Test, Triage New Issues, Update Debian Repository, Workflow Example]
workflows: [.github/workflows/copilot-setup-steps.yml, Analyze, Autoapprove, Autobackport, Autorerun, Autotriage, Autoversion Main, Autoversion Release, Build, CI, Claude, Copilot code review, Copilot coding agent, Create Analysis Issues, Experiment, GitHub, Greetings, Initialize Fork, OpenAI Codex, Performance GitHub Job, Publish, Recompile Agentic Workflows, Refresh Demos, Renovate, Rerequest Reviews, Shell, Test, Update Debian Repository, Workflow Example]
types:
- completed
jobs:
Expand Down
80 changes: 24 additions & 56 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jobs:
uses: ./.github/workflows/ci.yml
with:
ref: ${{ matrix.ref }}

publish:
needs: [ setup, ci ]
strategy:
Expand All @@ -75,37 +75,35 @@ jobs:
steps:
- uses: plengauer/opentelemetry-github/actions/instrument/[email protected]
with:
secrets_to_redact: '${{ github.token }}

${{ secrets.ACTIONS_GITHUB_TOKEN }}'
secrets_to_redact: |-
${{ github.token }}
${{ secrets.ACTION_GITHUB_TOKEN }}
env:
OTEL_EXPORTER_OTLP_ENDPOINT: '${{ secrets.OTEL_EXPORTER_OTLP_ENDPOINT }}'
OTEL_EXPORTER_OTLP_HEADERS: '${{ secrets.OTEL_EXPORTER_OTLP_HEADERS }}'

- uses: actions/[email protected]
with:
ref: ${{ matrix.ref }}
- run: echo "version=$(cat VERSION)" >> "$GITHUB_OUTPUT"
id: version

- uses: actions/[email protected]
with:
name: packages_${{ matrix.ref }}
name: images.${{ matrix.ref }}
- uses: actions/[email protected]
with:
name: packages.*.${{ matrix.ref }}
merge-multiple: true

- uses: actions/[email protected]
with:
subject-path: ./package.deb
subject-name: opentelemetry-shell_${{ steps.version.outputs.version }}.deb
subject-path: '*.deb'
- uses: actions/[email protected]
with:
subject-path: ./package.rpm
subject-name: opentelemetry-shell_${{ steps.version.outputs.version }}.rpm
subject-path: '*.rpm'
- uses: actions/[email protected]
with:
subject-path: ./package.apk
subject-name: opentelemetry-shell_${{ steps.version.outputs.version }}.apk
- uses: actions/[email protected]
with:
name: images_${{ matrix.ref }}
subject-path: '*.apk'

- run: |
version="${{ steps.version.outputs.version }}"
Expand All @@ -126,48 +124,18 @@ jobs:
sudo docker push "ghcr.io/${GITHUB_REPOSITORY%/*}/$image_name" --all-tags
done

- id: create_release
env:
GH_TOKEN: ${{ github.token }}
run: |
gh release create "v${{ steps.version.outputs.version }}" \
--target "${{ matrix.ref }}" \
--title "Release v${{ steps.version.outputs.version }}" \
--generate-notes \
--draft
sleep 60 # let API catch up
echo "id=$(gh api repos/${{ github.repository }}/releases | jq '.[] | select(.tag_name == "v${{ steps.version.outputs.version }}") | .id' -r)" >> "$GITHUB_OUTPUT"
echo "upload_url=$(gh api repos/${{ github.repository }}/releases | jq '.[] | select(.tag_name == "v${{ steps.version.outputs.version }}") | .upload_url' -r)" >> "$GITHUB_OUTPUT"

- uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./package.deb
asset_name: opentelemetry-shell_${{ steps.version.outputs.version }}.deb
asset_content_type: application/octet-stream
- uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./package.rpm
asset_name: opentelemetry-shell_${{ steps.version.outputs.version }}.rpm
asset_content_type: application/octet-stream
- uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./package.apk
asset_name: opentelemetry-shell_${{ steps.version.outputs.version }}.apk
asset_content_type: application/octet-stream
- uses: eregon/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.ACTIONS_GITHUB_TOKEN }}
- uses: softprops/[email protected]
with:
release_id: ${{ steps.create_release.outputs.id }}
token: ${{ secrets.ACTION_GITHUB_TOKEN }}
target_committish: ${{ matrix.ref }}
tag_name: v${{ steps.version.outputs.version }}
name: Release v${{ steps.version.outputs.version }}
generate_release_notes: true
files: |-
*.deb
*.rpm
*.apk
fail_on_unmatched_files: true

- run: |
version="${{ steps.version.outputs.version }}"
Expand Down
Loading
Loading