Skip to content

Add cross-platform bash script equivalent of esignet-service/Makefile (Linux + Windows Git Bash) #2002

@sacrana0

Description

@sacrana0

Summary

Replace esignet-service/Makefile with a shell script that runs on both Linux and Windows (Git Bash). make is not available out-of-the-box on Windows, forcing contributors to install it separately or run commands manually. A portable bash script removes that dependency and gives a single entry point across platforms. The existing Makefile will be removed once the script reaches parity.

Goals

  • Single bash script (e.g. esignet-service/make.sh) exposing the same targets as the Makefile: help, keys, build, run/dev, test, lint, lint-install, smoke, docker-build, docker-run, update-thunder, tidy, clean, distclean.
  • Runs unmodified on Linux and Windows Git Bash.
  • Loads .env and honors the same overridable variables (PORT, ISSUER_URL, DATA_DIR, SIGNING_KEY_PATH, AUTHN_PROVIDER, DOCKER_IMAGE, THUNDER_BRANCH, etc.).
  • help output listing targets and effective environment, matching current behavior.
  • Remove esignet-service/Makefile and update any references (README, CI, docs) to use make.sh.

Non-goals

  • Supporting native Windows shells (cmd, PowerShell) — Git Bash only.
  • Adding new build targets beyond what the Makefile already provides.

Acceptance criteria

  • ./make.sh help lists all targets and current env values.
  • ./make.sh keys|build|run|test|lint|smoke|tidy|clean|distclean behave equivalently to the matching make targets.
  • ./make.sh docker-build and docker-run produce the same image/run behavior.
  • ./make.sh update-thunder resolves and updates the thunder replace directive in go.mod.
  • Verified working on Linux and Windows Git Bash.
  • esignet-service/Makefile removed and all references updated to make.sh.

Metadata

Metadata

Assignees

Labels

Type

No fields configured for Task.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions