d2/ci/release
Alexander Wang 205ad77521
next
2025-03-25 09:06:42 -06:00
..
aws update windows script 2024-04-10 21:00:27 -07:00
build ci: Build and push official Dockerfile 2022-12-18 10:33:14 -08:00
changelogs next 2025-03-25 09:06:42 -06:00
docker update docker node 2024-08-01 17:34:41 -06:00
linux docker: add ca-certificates package 2023-01-02 15:11:53 -03:00
template updated text changes 2025-03-11 23:51:46 +05:30
windows fmt 2022-12-18 10:36:20 -08:00
_build.sh _build.sh: Update 2022-12-08 02:25:44 -08:00
_install.sh install.sh: Handle empty GITHUB_TOKEN correctly 2023-02-12 07:37:14 -08:00
build.sh revert local docker 2024-08-01 15:58:10 -06:00
build_in_docker.sh resolve govulncheck CVE with golang update 2025-02-26 07:22:23 -05:00
gen_install.sh ci: Update gen_install and gen_template_lib 2022-12-05 22:15:58 -08:00
gen_template_lib.sh ci: Update gen_install and gen_template_lib 2022-12-05 22:15:58 -08:00
README.md ci/aws: Use powershell for ssh on windows 2022-12-18 10:33:15 -08:00
release-js.sh update readme 2025-03-21 11:53:16 -06:00
release.sh update readme 2025-03-21 11:53:16 -06:00

release

_install.sh

The template for the install script in the root of the d2 repository.

gen_install.sh

Generates the install.sh script in the root of the repository by prepending the libraries it depends on from ../sub/lib.

release.sh

  • ./release.sh is the top level script to generate a new release. Run with --help for usage.

build.sh

  • ./build.sh builds the release archives for each platform into ./build//*.tar.gz Run with --help for usage.

note: Remember for production releases you need to set the $TSTRUCT_OS_ARCH_BUILDER variables as we must compile d2 directly on each release target to include dagre. See https://github.com/terrastruct/d2/issues/31

Use --host-only to build only the release for the host's $OS-$ARCH pair.

build_docker.sh

Helper script called by build.sh to build D2 on each linux runner inside Docker. The Dockerfile is in ./linux/Dockerfile

_build.sh

Called by build.sh (with --local or macOS) or build_docker.sh (on linux) to create the release archive.

Do not invoke directly. If you want to produce a build for a single platform run build.sh as so:

 # To only build the linux-amd64 release.
./build.sh --run=linux-amd64
 # To only build the linux-amd64 release locally.
./build.sh --local --run=linux-amd64