aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-01-04 16:26:52 -0800
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-01-04 16:26:52 -0800
commit75f238fcb3af56e70268d83f52fc64ad5319b440 (patch)
treef8580b06ebe2db3bb54bce1b7c07d5c8cca24cb7
parent8706f77eb7ac1178c1008b5d6b01fceaa3f01383 (diff)
downloadbun-75f238fcb3af56e70268d83f52fc64ad5319b440.tar.gz
bun-75f238fcb3af56e70268d83f52fc64ad5319b440.tar.zst
bun-75f238fcb3af56e70268d83f52fc64ad5319b440.zip
Upload compressed `.dSYM` for every release
Diffstat (limited to '')
-rw-r--r--Dockerfile26
-rw-r--r--Makefile12
2 files changed, 34 insertions, 4 deletions
diff --git a/Dockerfile b/Dockerfile
index 2ed337106..befc29a35 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -189,7 +189,7 @@ RUN cd $BUN_DIR && rm -rf $HOME/.cache zig-cache && make \
fallback_decoder && rm -rf $HOME/.cache zig-cache && \
mkdir -p $BUN_RELEASE_DIR && \
make release copy-to-bun-release-dir && \
- rm -rf $HOME/.cache zig-cache misctools package.json build-id completions build.zig
+ rm -rf $HOME/.cache zig-cache misctools package.json build-id completions build.zig $(BUN_DIR)/packages
FROM prepare_release as build_unit
@@ -251,6 +251,30 @@ RUN mkdir -p /home/ubuntu/.bun /home/ubuntu/.config $GITHUB_WORKSPACE/bun && \
bash /scripts/zig-env.sh
COPY .devcontainer/zls.json /home/ubuntu/.config/zls.json
+FROM ubuntu:20.04 as release_with_debug_info
+
+ARG DEBIAN_FRONTEND=noninteractive
+ARG GITHUB_WORKSPACE=/build
+ARG ZIG_PATH=${GITHUB_WORKSPACE}/zig
+# Directory extracts to "bun-webkit"
+ARG WEBKIT_DIR=${GITHUB_WORKSPACE}/bun-webkit
+ARG BUN_RELEASE_DIR=${GITHUB_WORKSPACE}/bun-release
+ARG BUN_DEPS_OUT_DIR=${GITHUB_WORKSPACE}/bun-deps
+ARG BUN_DIR=${GITHUB_WORKSPACE}/bun
+
+COPY .devcontainer/limits.conf /etc/security/limits.conf
+
+ENV BUN_INSTALL /opt/bun
+ENV PATH "/opt/bun/bin:$PATH"
+ARG BUILDARCH=amd64
+LABEL org.opencontainers.image.title="bun ${BUILDARCH} (glibc)"
+LABEL org.opencontainers.image.source=https://github.com/jarred-sumner/bun
+COPY --from=build_release ${BUN_RELEASE_DIR}/bun /opt/bun/bin/bun
+COPY --from=build_release ${BUN_RELEASE_DIR}/bun.dSYM.gz /opt/bun/bin/bun.dSYM.gz
+WORKDIR /opt/bun
+
+ENTRYPOINT [ "/opt/bun/bin/bun" ]
+
FROM ubuntu:20.04 as release
ARG DEBIAN_FRONTEND=noninteractive
diff --git a/Makefile b/Makefile
index 4098c4f48..7b18d0653 100644
--- a/Makefile
+++ b/Makefile
@@ -40,7 +40,7 @@ PACKAGE_JSON_VERSION = 0.0.$(BUILD_ID)
BUN_BUILD_TAG = bun-v$(PACKAGE_JSON_VERSION)
BUN_RELEASE_BIN = $(PACKAGE_DIR)/bun
PRETTIER ?= $(shell which prettier || echo "./node_modules/.bin/prettier")
-
+DSYMUTIL ?= $(shell which dsymutil || which dsymutil-13)
WEBKIT_DIR ?= $(realpath src/javascript/jsc/WebKit)
WEBKIT_RELEASE_DIR ?= $(WEBKIT_DIR)/WebKitBuild/Release
@@ -533,12 +533,14 @@ endif
BUN_DEPLOY_ZIP = /tmp/bun-$(PACKAGE_JSON_VERSION)/bun-$(TRIPLET).zip
+BUN_DEPLOY_DSYM = /tmp/bun-$(PACKAGE_JSON_VERSION)/bun-$(TRIPLET).dSYM.gz
release-bin-generate-copy:
rm -rf /tmp/bun-$(PACKAGE_JSON_VERSION)/bun-$(TRIPLET) $(BUN_DEPLOY_ZIP)
mkdir -p /tmp/bun-$(PACKAGE_JSON_VERSION)/bun-$(TRIPLET)
cp $(BUN_RELEASE_BIN) /tmp/bun-$(PACKAGE_JSON_VERSION)/bun-$(TRIPLET)/bun
+ gzip -c --keep $(BUN_RELEASE_BIN).dSYM > $(BUN_DEPLOY_DSYM)
release-bin-generate: release-bin-generate-copy release-bin-generate-zip
@@ -565,6 +567,8 @@ release-bin-dir:
release-bin-push:
gh release upload $(BUN_BUILD_TAG) --clobber $(BUN_DEPLOY_ZIP)
gh release upload $(BUN_BUILD_TAG) --clobber $(BUN_DEPLOY_ZIP) --repo $(BUN_AUTO_UPDATER_REPO)
+ gh release upload $(BUN_BUILD_TAG) --clobber $(BUN_DEPLOY_DSYM)
+ gh release upload $(BUN_BUILD_TAG) --clobber $(BUN_DEPLOY_DSYM) --repo $(BUN_AUTO_UPDATER_REPO)
dev-obj:
$(ZIG) build obj
@@ -710,7 +714,6 @@ bun-relink-copy:
bun-relink: bun-relink-copy bun-link-lld-release
-
bun-link-lld-release:
$(CXX) $(BUN_LLD_FLAGS) \
$(BUN_RELEASE_BIN).o \
@@ -719,7 +722,9 @@ bun-link-lld-release:
-flto \
-ftls-model=initial-exec \
-O3
+ rm -rf $(BUN_RELEASE_BIN).dSYM
cp $(BUN_RELEASE_BIN) $(BUN_RELEASE_BIN)-profile
+ $(DSYMUTIL) --flat $(BUN_RELEASE_BIN) -o $(BUN_RELEASE_BIN).dSYM
-$(STRIP) $(BUN_RELEASE_BIN)
mv $(BUN_RELEASE_BIN).o /tmp/bun-$(PACKAGE_JSON_VERSION).o
@@ -875,9 +880,10 @@ copy-install:
copy-to-bun-release-dir:
cp -r $(PACKAGE_DIR)/bun $(BUN_RELEASE_DIR)/bun
+ gzip --keep -c $(PACKAGE_DIR)/bun.dSYM > $(BUN_RELEASE_DIR)/bun.dSYM.gz
cp -r $(PACKAGE_DIR)/bun-profile $(BUN_RELEASE_DIR)/bun-profile
PACKAGE_MAP = --pkg-begin thread_pool $(BUN_DIR)/src/thread_pool.zig --pkg-begin io $(BUN_DIR)/src/io/io_$(OS_NAME).zig --pkg-end --pkg-begin http $(BUN_DIR)/src/http_client_async.zig --pkg-begin strings $(BUN_DIR)/src/string_immutable.zig --pkg-end --pkg-begin picohttp $(BUN_DIR)/src/deps/picohttp.zig --pkg-end --pkg-begin io $(BUN_DIR)/src/io/io_darwin.zig --pkg-end --pkg-begin boringssl $(BUN_DIR)/src/deps/boringssl.zig --pkg-end --pkg-begin thread_pool $(BUN_DIR)/src/thread_pool.zig --pkg-begin io $(BUN_DIR)/src/io/io_darwin.zig --pkg-end --pkg-begin http $(BUN_DIR)/src/http_client_async.zig --pkg-begin strings $(BUN_DIR)/src/string_immutable.zig --pkg-end --pkg-begin picohttp $(BUN_DIR)/src/deps/picohttp.zig --pkg-end --pkg-begin io $(BUN_DIR)/src/io/io_darwin.zig --pkg-end --pkg-begin boringssl $(BUN_DIR)/src/deps/boringssl.zig --pkg-end --pkg-begin thread_pool $(BUN_DIR)/src/thread_pool.zig --pkg-end --pkg-end --pkg-end --pkg-end --pkg-end --pkg-begin picohttp $(BUN_DIR)/src/deps/picohttp.zig --pkg-end --pkg-begin io $(BUN_DIR)/src/io/io_darwin.zig --pkg-end --pkg-begin strings $(BUN_DIR)/src/string_immutable.zig --pkg-end --pkg-begin clap $(BUN_DIR)/src/deps/zig-clap/clap.zig --pkg-end --pkg-begin http $(BUN_DIR)/src/http_client_async.zig --pkg-begin strings $(BUN_DIR)/src/string_immutable.zig --pkg-end --pkg-begin picohttp $(BUN_DIR)/src/deps/picohttp.zig --pkg-end --pkg-begin io $(BUN_DIR)/src/io/io_darwin.zig --pkg-end --pkg-begin boringssl $(BUN_DIR)/src/deps/boringssl.zig --pkg-end --pkg-begin thread_pool $(BUN_DIR)/src/thread_pool.zig --pkg-begin io $(BUN_DIR)/src/io/io_darwin.zig --pkg-end --pkg-begin http $(BUN_DIR)/src/http_client_async.zig --pkg-begin strings $(BUN_DIR)/src/string_immutable.zig --pkg-end --pkg-begin picohttp $(BUN_DIR)/src/deps/picohttp.zig --pkg-end --pkg-begin io $(BUN_DIR)/src/io/io_darwin.zig --pkg-end --pkg-begin boringssl $(BUN_DIR)/src/deps/boringssl.zig --pkg-end --pkg-begin thread_pool $(BUN_DIR)/src/thread_pool.zig --pkg-end --pkg-end --pkg-end --pkg-end --pkg-begin boringssl $(BUN_DIR)/src/deps/boringssl.zig --pkg-end --pkg-begin javascript_core $(BUN_DIR)/src/jsc.zig --pkg-begin http $(BUN_DIR)/src/http_client_async.zig --pkg-end --pkg-begin strings $(BUN_DIR)/src/string_immutable.zig --pkg-end --pkg-begin picohttp $(BUN_DIR)/src/deps/picohttp.zig --pkg-end --pkg-end
-bun: vendor identifier-cache build-obj bun-link-lld-release bun-codesign-release-local \ No newline at end of file
+bun: vendor identifier-cache build-obj bun-link-lld-release bun-codesign-release-local