Skip to content

Tags: ghink/gope

Tags

v1.0.0

Toggle v1.0.0's commit message
feat(gope): make-based embed build, version injection, mask workdir fix

Replace the standalone packer with a `//go:embed` of the decompressor source
tree and drive builds through a Makefile. The decompressor keeps no go.mod on
disk (so it stays part of the parent module for IDE/dependency analysis); the
launcher's module files are generated from the parent go.mod/go.sum at build
time and cleaned up afterwards.

- build: add Makefile (build/dist/test/vet/check/integration/clean); generate
  decompressor go.mod.template + go.sum from the parent module for embedding
- release: `make dist VERSION=vX.Y.Z` injects the version via -ldflags and names
  artifacts GoPE-vX.Y.Z-os-arch; meta.Version is now an injectable var
- fix(decompressor): mask mode decompresses next to the wrapper again so the
  wrapped program resolves os.Executable to the packed file's directory instead
  of a private temp dir; drop the now-unused decompressor temp package
- ci: split workflows into unit-test (make check + make dist) and integrated-test
  (make integration); add an integration test that packs a program and verifies
  run-through, arg/exit-code passthrough, and the mask working-directory fix

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

v0.0.1

Toggle v0.0.1's commit message
feat(gope): added unit test and ci support