diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8e98ecf..470f228 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -268,6 +268,10 @@ jobs: needs: [build] runs-on: ubuntu-24.04 steps: + - name: Check out + uses: actions/checkout@v4 + - name: Setup buildx + uses: docker/setup-buildx-action@v3 - name: Download artifacts uses: actions/download-artifact@v4 - name: Create assets @@ -305,3 +309,6 @@ jobs: prerelease: true draft: false tag: ${{ env.RELEASE_VERSION }} + - name: Build and push container image + run: | + docker buildx build -f Dockerfile.release --platform linux/amd64,linux/arm64 -t ghcr.io/datadog/otel-profiling-agent:${{ env.RELEASE_VERSION }} . diff --git a/Dockerfile.release b/Dockerfile.release new file mode 100644 index 0000000..80c0ddd --- /dev/null +++ b/Dockerfile.release @@ -0,0 +1,18 @@ +FROM ubuntu:24.04 + +USER root + +RUN apt-get update && \ + apt-get install -y --no-install-recommends binutils curl sudo ca-certificates + +COPY agent-* sha256sums.txt /tmp/ + +RUN sha256sum -c /tmp/sha256sums.txt \ + && mv /tmp/agent-$(uname -p) /usr/local/bin/otel-profiling-agent \ + && chmod +x /usr/local/bin/otel-profiling-agent \ + && rm -rf /tmp/agent* + +RUN apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +CMD ["/bin/sh", "-c", "sudo -E /usr/local/bin/otel-profiling-agent"]