Prepare new relaese v0.16.4.

This commit is contained in:
Sebastian Jeltsch
2025-08-12 16:23:01 +02:00
parent acb32acc9f
commit 03fdc28031
7 changed files with 56 additions and 16 deletions

View File

@@ -48,11 +48,11 @@ jobs:
target: x86_64-unknown-linux-gnu
default: true
- name: Rust Build
# NOTE: static linux builds fail with toolchains >1.86 if run from workspace root?!
# NOTE: cargo links different binaries whether in the crate or workspace root :/.
run: |
pnpm install && \
cd crates/cli && \
RUSTFLAGS="-C target-feature=+crt-static" CARGO_PROFILE_RELEASE_LTO=fat CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1 PNPM_OFFLINE=TRUE \
CARGO_PROFILE_RELEASE_LTO=fat CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1 PNPM_OFFLINE=TRUE \
cargo build --target x86_64-unknown-linux-gnu --release --bin trail && \
cd ../.. && \
zip -r -j trailbase_${{ github.ref_name }}_x86_64_linux.zip target/x86_64-unknown-linux-gnu/release/trail CHANGELOG.md LICENSE
@@ -63,6 +63,45 @@ jobs:
fail_on_unmatched_files: true
files: trailbase_${{ github.ref_name }}_x86_64_linux.zip
release-linux-static:
needs: changelog
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: 'true'
- name: Install Dependencies
run: |
sudo apt-get update && \
sudo apt-get install -y --no-install-recommends curl libssl-dev pkg-config libclang-dev protobuf-compiler libprotobuf-dev zip
- uses: pnpm/action-setup@v4
with:
version: 9
- name: PNPM install
run: |
pnpm i
- uses: actions-rs/toolchain@v1
with:
toolchain: 1.89.0
target: x86_64-unknown-linux-gnu
default: true
- name: Rust Build
# NOTE: static linux builds fail with toolchains >1.86 if run from workspace root?!
run: |
pnpm install && \
cd crates/cli && \
RUSTFLAGS="-C target-feature=+crt-static" CARGO_PROFILE_RELEASE_LTO=fat CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1 PNPM_OFFLINE=TRUE \
cargo build --target x86_64-unknown-linux-gnu --release --bin trail && \
cd ../.. && \
zip -r -j trailbase_${{ github.ref_name }}_x86_64_linux_static_glibc.zip target/x86_64-unknown-linux-gnu/release/trail CHANGELOG.md LICENSE
- name: Release binaries
uses: softprops/action-gh-release@v2
with:
fail_on_unmatched_files: true
files: trailbase_${{ github.ref_name }}_x86_64_linux_static_glibc.zip
release-aarch64-apple-darwin:
needs: changelog
runs-on: macos-14

View File

@@ -1,3 +1,11 @@
## v0.16.4
* Switch to dynamically linked binaries on Linux by default. Statically pre-built binaries are still available.
* Turns out that glibc, even in static executables, will load NSS to support `getaddrinfo`. The ABIs are less stable than the main shared-library entry-points potentially leading to crashes with "floating point exception" (e.g. Arch).
* Note that linking statically against MUSL is currently not an option due to Deno's pre-built V8 requiring glibc.
* Note further that we were already linking dynamically for other OSs due to lack of stable syscall ABIs.
* Update dependencies
## v0.16.3
* Admin settings UI: simplify forms by removing explicit empty string handling, better placeholders, add missing change email templates, ... .

View File

@@ -71,7 +71,7 @@ server, client libraries, tests, documentation and examples.
Only the [benchmarks](https://github.com/trailbaseio/trailbase-benchmark) are
kept separately due to their external dependencies.
Pre-built static binaries are available as
Pre-built binaries are available as
[GitHub releases](https://github.com/trailbaseio/trailbase/releases/) for
Linux, MacOS and Windows or [Docker images](https://hub.docker.com/r/trailbase/trailbase).
@@ -87,7 +87,7 @@ Client packages for various languages are available via:
## Getting Started
TrailBase is a **single static executable** and therefore very easy to
TrailBase is a **single executable** and therefore very easy to
[deploy](https://trailbase.io/getting-started/install/).
You can simply download the appropriate pre-built
[GitHub release](https://github.com/trailbaseio/trailbase/releases/) bundle for
@@ -151,14 +151,7 @@ pnpm install
cargo build --bin trail
```
To build a static binary you'll need to explicitly specify the target platform,
e.g. Linux with GNU glibc:
```sh
RUSTFLAGS="-C target-feature=+crt-static" cargo build --target x86_64-unknown-linux-gnu --release
```
Alternatively, if you want to build a Docker image or don't have to deal with
Alternatively, if you want to build a Docker image or don't want to deal with
build dependencies, you can simply run:
```sh

View File

@@ -118,7 +118,7 @@ could be Brevo, Mailchimp, SendGrid, ... .
## Deployment
Deployment is TrailBase' strong suite being a single static executable. You can
Deployment is TrailBase' strong suite being a single executable. You can
reasonably deploy TrailBase by simply copying the executable to your host.
Depending on your and your team's requirements, you can consider deploying a

View File

@@ -180,7 +180,7 @@ The admin credentials are logged to the terminal on first start.
All[^4] we need to serve our application in production is:
- the static `trail` binary,
- the `trail` binary,
- the `traildepot` folder containing the data and endpoints,
- the `dist` folder containing our web app.

View File

@@ -9,7 +9,7 @@ import { Aside, Code } from '@astrojs/starlight/components';
Welcome! In this *Getting Started* guide, we'll first see how to install
TrailBase, followed by tutorials on building our first small applications.
TrailBase is a **single static executable** and therefore very easy to install.
TrailBase is a **single executable** and therefore very easy to install.
It's as simple as downloading the latest
[release](https://github.com/trailbaseio/trailbase/releases) for your
system and running it. If you prefer building your own binary, check out our

View File

@@ -159,7 +159,7 @@ export const demoLink = "https://demo.trailbase.io";
</Card>
<Card title="Simple & Consistent" icon="heart">
TrailBase is a single small static binary that is incredibly
TrailBase is a single executable that is incredibly
easy to deploy **consistently** across integration testing, development,
pre-prod, and production environments including edge.
Architecturally, TrailBase aims to be a simple, thin abstraction around