Publish release images by dispatch, built from the tag (#823)

Publishing the 9.7.0 GitHub Release produced no workflow run at all - not a failed
one, nothing - and the images were never pushed.

GitHub runs a release event's workflow as it exists at the tag, not as it exists on
the default branch. The v9.7.0 tag was cut on 12 Aug and the release trigger landed
on main the next day, so GitHub read the tag's copy of publish-docker.yaml, found
no release trigger, and correctly did nothing.

That is not a one-off. The tag is cut at `prepare` and the Release is published at
`vote-passed`, at least 72 hours later, so anything changed in this workflow inside
that window silently does not apply to the release in flight. The window reopens
every release; 9.7.0 was just the first time something landed in it.

Drop the release trigger and dispatch instead. `github-release` creates the Release
and then runs `gh workflow run publish-docker.yaml -f version=x.y.z`, so publishing
stays automatic rather than becoming something to remember, and there is one path
rather than two that could both fire. A dispatch always runs the workflow from the
default branch, which makes what publishes a function of main rather than of when
the tag happened to be cut. If the dispatch fails the Release is already out, so
the script warns with the retry commands instead of aborting.

Everything the run acts on still comes from the tag rather than from a branch or a
timestamp. The tree is checked out at refs/tags/vx.y.z, so Dockerfile and Makefile
- which decide what the image actually is - come from the released source instead
of from whatever main looks like now; without that a dispatch would have built with
main's copies. The agent package remains the sha512- and signature-verified tarball
from dist/release, and the image tags come from the version. A leading v on the
input is tolerated, and leaving it blank builds a development image exactly as a
push to main does.
3 files changed
tree: 7d740a38e15bb4f53bf7bc01504fe900ff8b40c3
  1. .claude/
  2. .github/
  3. .mvn/
  4. apm-application-toolkit/
  5. apm-checkstyle/
  6. apm-commons/
  7. apm-protocol/
  8. apm-sniffer/
  9. changes/
  10. dist-material/
  11. docs/
  12. test/
  13. tools/
  14. .asf.yaml
  15. .dlc.json
  16. .dockerignore
  17. .gitignore
  18. .gitmodules
  19. .licenserc.yaml
  20. CHANGES.md
  21. CLAUDE.md
  22. codeStyle.xml
  23. CONTRIBUTING.md
  24. Dockerfile
  25. HEADER
  26. LICENSE
  27. lombok.config
  28. Makefile
  29. mvnw
  30. mvnw.cmd
  31. NOTICE
  32. pom.xml
  33. README.md
README.md

Apache SkyWalking Java Agent

GitHub stars Twitter Follow

Maven Central CI

SkyWalking-Java: The Java Agent for Apache SkyWalking, which provides the native tracing/metrics/logging abilities for Java projects.

SkyWalking: an APM(application performance monitor) system, especially designed for microservices, cloud native and container-based (Docker and Kubernetes) architectures.

Documentation

Downloads

Please head to the releases page to download a release of Apache SkyWalking.

Code of conduct

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please follow the REPORTING GUIDELINES to report unacceptable behavior.

Live Demo

Find the demo and screenshots on our website.

Contact Us

  • Mail list: dev@skywalking.apache.org. Mail to dev-subscribe@skywalking.apache.org, follow the reply to subscribe the mail list.
  • Send Request to join SkyWalking slack mail to the mail list(dev@skywalking.apache.org), we will invite you in.
  • For Chinese speaker, send [CN] Request to join SkyWalking slack mail to the mail list(dev@skywalking.apache.org), we will invite you in.
  • Twitter, ASFSkyWalking
  • bilibili B站 视频

License

Apache 2.0 License.