Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
9efeed6
feat(linux): TablePro accounts in the shared core, Preferences > Acco…
datlechin Nov 5, 2026
eff7f35
docs(linux): add the changelog fragments for accounts, usage data and…
datlechin Nov 5, 2026
1a5f35b
ci(linux): read the shared POSTHOG_PROJECT_KEY in the Linux release
datlechin Nov 5, 2026
0f5e5bb
fix(linux): read the PostHog key from a variable, bound the quit flus…
datlechin Nov 5, 2026
f75ef85
fix(linux): expire access tokens on the wall clock, ignore a replaced…
datlechin Nov 5, 2026
fd21151
fix(linux): show a removal whose check failed, cancel a sign-in over …
datlechin Nov 5, 2026
0f9f872
fix(core): refresh an entitlement that came due while the machine slept
datlechin Nov 5, 2026
fd9ff64
test(core): import DeviceDescription in the account tests
datlechin Nov 5, 2026
1029a9d
fix(linux): never ask an account over the device limit to buy a license
datlechin Nov 5, 2026
12979c2
feat(linux): shorten the usage data question and ask it from the Priv…
datlechin Nov 5, 2026
5068893
fix(core): count a sleep toward a 429's Retry-After
datlechin Nov 5, 2026
cb5f829
fix(linux): store the usage data answer before the switch reads it
datlechin Nov 5, 2026
2480238
docs(linux): say how an offline file goes while signed out
datlechin Nov 5, 2026
cc6a97c
feat(linux): share usage data by default, as on macOS
datlechin Nov 5, 2026
95a501c
test(core): drop the account tests' second import of ExposeSecret
datlechin Nov 5, 2026
5f66e76
fix(linux): satisfy clippy on the account and usage data code
datlechin Nov 5, 2026
36ac961
fix(linux): poll without GLib in the history test and set account row…
datlechin Nov 5, 2026
08fcf6f
Merge remote-tracking branch 'origin/main' into feat/linux-licensing
datlechin Nov 6, 2026
324cf85
Merge remote-tracking branch 'origin/main' into feat/linux-licensing
datlechin Nov 6, 2026
1eb7521
Merge remote-tracking branch 'origin/main' into feat/linux-licensing
datlechin Nov 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .github/workflows/core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@ jobs:
run: |
cargo check --locked --target "$TARGET" --features "$FEATURES" --features "$IN_PROCESS_SSH" \
-p tablepro-core -p tablepro-net -p tablepro-storage -p tablepro-ssh -p tablepro-session \
-p tablepro-foreign-import -p tablepro-ai -p tablepro-mcp -p tablepro-test-support -p tablepro-test-fixtures \
-p tablepro-foreign-import -p tablepro-ai -p tablepro-mcp -p tablepro-account \
-p tablepro-test-support -p tablepro-test-fixtures \
-p tablepro-driver-cassandra -p tablepro-driver-clickhouse -p tablepro-driver-duckdb \
-p tablepro-driver-mongodb -p tablepro-driver-mssql -p tablepro-driver-mysql \
-p tablepro-driver-postgres -p tablepro-driver-redis -p tablepro-driver-sqlite
Expand All @@ -77,6 +78,9 @@ jobs:
# The rest of net's tests read how Linux handles a full listen backlog.
cargo test --locked --target "$TARGET" -p tablepro-net --lib -- loopback private_
cargo test --locked --target "$TARGET" --features tablepro-ssh/in-process -p tablepro-ssh --lib in_process
# The sign-in's loopback listener and the token's file on each platform.
- name: Account unit tests
run: cargo test --locked --target "$TARGET" -p tablepro-account --lib
- name: Start Windows' OpenSSH Server
if: runner.os == 'Windows'
shell: pwsh
Expand Down
11 changes: 10 additions & 1 deletion .github/workflows/linux-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ name: Linux packages
# A run by hand can add arm64, which the nightly and pull requests leave out.
# Given a release tag, it packages that release's tarballs instead, with
# the packaging from this checkout, for a PPA upload with a new revision.
# Only release-linux.yml passes the PostHog key, so every other run builds
# packages that send no usage data.

on:
pull_request:
Expand Down Expand Up @@ -80,6 +82,11 @@ on:
description: The Flatpak branch, stable or beta.
type: string
default: stable
# Only a release's call passes it, so a run of this workflow on its own builds packages without one.
posthog-key:
description: The PostHog project key the vendor tarball carries for the .deb and .rpm. Public by design.
type: string
default: ""

# A pull request keeps only its newest run; every other run, a release's call included, has its own group.
concurrency:
Expand Down Expand Up @@ -132,7 +139,9 @@ jobs:
persist-credentials: false
- name: Make the source and vendor tarballs
if: inputs.release-tag == ''
run: linux/build-aux/packaging/make-sources.sh --install-deps _packages/sources
env:
POSTHOG_KEY: ${{ inputs.posthog-key }}
run: linux/build-aux/packaging/make-sources.sh --install-deps --posthog-key "$POSTHOG_KEY" _packages/sources
- name: Download the released source and vendor tarballs
if: inputs.release-tag != ''
env:
Expand Down
13 changes: 13 additions & 0 deletions .github/workflows/release-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ name: Release Linux
# Variables LINUX_PPA and LINUX_PPA_BETA: the stable and the beta PPA, as
# owner/name.
# Variable LINUX_FLATPAK_R2_ENDPOINT: https://<account id>.r2.cloudflarestorage.com.
# Variable POSTHOG_PROJECT_KEY: the PostHog project key the macOS release
# (release.yml) builds with too, public by design, which make-sources.sh puts
# in the vendor tarball. The packages send usage data to it unless the user
# turns it off. A packaging fix reuses the release's tarballs, and so its key.
# Variable LINUX_BRANCH: the branch a release tag must be on, main when unset.

on:
Expand Down Expand Up @@ -83,6 +87,14 @@ jobs:
version: ${{ steps.check.outputs.version }}
flatpak-branch: ${{ steps.check.outputs.flatpak-branch }}
steps:
- name: The PostHog key is set
env:
POSTHOG_KEY: ${{ vars.POSTHOG_PROJECT_KEY }}
run: |
if [ -z "$POSTHOG_KEY" ]; then
echo "::error::Set the POSTHOG_PROJECT_KEY repository variable, the PostHog project key the packages send usage data to"
exit 1
fi
# meson introspect detects the project's compilers, C and Rust, before it reads the version.
- name: Install git, meson and the compilers
run: |
Expand Down Expand Up @@ -132,6 +144,7 @@ jobs:
with:
deb-runners: '["ubuntu-24.04", "ubuntu-24.04-arm"]'
rpm-runners: '["ubuntu-24.04", "ubuntu-24.04-arm"]'
posthog-key: ${{ vars.POSTHOG_PROJECT_KEY }}
flatpak: true
flatpak-branch: ${{ needs.verify.outputs.flatpak-branch }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ jobs:

- name: Write Secrets.xcconfig
env:
POSTHOG_PROJECT_KEY: ${{ secrets.POSTHOG_PROJECT_KEY }}
POSTHOG_PROJECT_KEY: ${{ vars.POSTHOG_PROJECT_KEY }}
run: printf 'POSTHOG_PROJECT_KEY = %s\n' "$POSTHOG_PROJECT_KEY" > Configs/Secrets.xcconfig

- uses: ./.github/actions/prepare-build
Expand Down
Loading
Loading