mirror of
https://github.com/trailbaseio/trailbase.git
synced 2025-12-16 15:15:51 -06:00
Prepare new relaese v0.16.4.
This commit is contained in:
43
.github/workflows/release.yml
vendored
43
.github/workflows/release.yml
vendored
@@ -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
|
||||
|
||||
@@ -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, ... .
|
||||
|
||||
13
README.md
13
README.md
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user