dependencies_image.yml 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. name: 'OpenTelemetry-cpp dependencies image'
  2. on:
  3. schedule:
  4. - cron: "0 3 * * 6"
  5. permissions:
  6. contents: read
  7. jobs:
  8. docker_image:
  9. name: Docker Image
  10. runs-on: ubuntu-latest
  11. timeout-minutes: 300
  12. steps:
  13. - name: Harden the runner (Audit all outbound calls)
  14. uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
  15. with:
  16. egress-policy: audit
  17. -
  18. name: checkout
  19. uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
  20. -
  21. name: Set up QEMU
  22. uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
  23. -
  24. name: Set up Docker Buildx
  25. id: buildx
  26. uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
  27. -
  28. name: Build Image
  29. uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
  30. with:
  31. builder: ${{ steps.buildx.outputs.name }}
  32. context: ci/
  33. file: ./docker/Dockerfile
  34. build-args: BASE_IMAGE=ubuntu:latest
  35. platforms: linux/amd64
  36. # platforms: linux/amd64,linux/arm64
  37. push: false
  38. tags: otel-cpp-deps
  39. load: true
  40. -
  41. name: Save Image
  42. run: |
  43. docker images
  44. docker save -o /opt/otel-cpp-deps-debian.tar otel-cpp-deps
  45. -
  46. name: Upload Image
  47. uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
  48. with:
  49. name: otel-cpp-deps
  50. path: /opt/otel-cpp-deps-debian.tar
  51. retention-days: 14