Skip to content
Merged

Kube #44

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
334 commits
Select commit Hold shift + click to select a range
2615b8c
update
lyang2821 Oct 12, 2025
e7e1350
update
lyang2821 Oct 12, 2025
08746cd
update
lyang2821 Oct 12, 2025
58dfb81
update
lyang2821 Oct 12, 2025
759d2b8
update
lyang2821 Oct 12, 2025
dce37d1
udpate
lyang2821 Oct 12, 2025
865f298
update
lyang2821 Oct 12, 2025
db30bf9
update
lyang2821 Oct 12, 2025
64ad702
update
lyang2821 Oct 12, 2025
010bff3
update
lyang2821 Oct 12, 2025
1d7aa1b
add docs.json
lyang2821 Oct 16, 2025
686ff6f
update
lyang2821 Oct 16, 2025
88ab47b
Documentation edits made through Mintlify web editor
lyang2821 Oct 16, 2025
a56687d
Documentation edits made through Mintlify web editor
lyang2821 Oct 16, 2025
6281ee8
Documentation edits made through Mintlify web editor
lyang2821 Oct 16, 2025
7799f5c
update
lyang2821 Oct 16, 2025
6351fc7
update
lyang2821 Oct 16, 2025
b5b6b19
update
lyang2821 Oct 16, 2025
ec61d3c
Documentation edits made through Mintlify web editor
lyang2821 Oct 16, 2025
2c55de6
Documentation edits made through Mintlify web editor
lyang2821 Oct 16, 2025
f2e7774
Documentation edits made through Mintlify web editor
lyang2821 Oct 16, 2025
0efd824
update
lyang2821 Oct 16, 2025
ab3a088
update
lyang2821 Oct 16, 2025
8de6dfc
GITBOOK-38: No subject
dzhou121 Oct 17, 2025
a1b56e4
update
lyang2821 Oct 17, 2025
7099fab
update
lyang2821 Oct 17, 2025
cf89d3e
update
lyang2821 Oct 17, 2025
2d16573
update
lyang2821 Oct 17, 2025
7cc4fee
update
lyang2821 Oct 17, 2025
c622c08
update
lyang2821 Oct 17, 2025
cac8466
update
lyang2821 Oct 17, 2025
54b9eae
update
lyang2821 Oct 17, 2025
bb7466f
update
lyang2821 Oct 17, 2025
e300403
update
lyang2821 Oct 17, 2025
feb4ed5
update
lyang2821 Oct 17, 2025
cec945d
update
lyang2821 Oct 17, 2025
7ed3ae4
update
lyang2821 Oct 17, 2025
3e7ae86
update
lyang2821 Oct 17, 2025
2a3629e
update
lyang2821 Oct 18, 2025
10c6653
update
lyang2821 Oct 18, 2025
d598005
update
lyang2821 Oct 18, 2025
e5e9307
update
lyang2821 Oct 18, 2025
5047550
update
lyang2821 Oct 19, 2025
f149b24
update
lyang2821 Oct 19, 2025
3f24698
update
lyang2821 Oct 19, 2025
ff677fc
udpate
lyang2821 Oct 19, 2025
9ab68cb
update
lyang2821 Oct 19, 2025
60e76d3
update
lyang2821 Oct 19, 2025
b6ca165
update
lyang2821 Oct 19, 2025
649ffec
update
lyang2821 Oct 19, 2025
9d044b5
update
lyang2821 Oct 19, 2025
bfb49f4
update
lyang2821 Oct 19, 2025
2ae48a5
update
lyang2821 Oct 19, 2025
75aa301
update
lyang2821 Oct 19, 2025
eff2a80
update
lyang2821 Oct 19, 2025
8ed244c
update
lyang2821 Oct 19, 2025
70cd6ff
update
lyang2821 Oct 19, 2025
5db8206
update
lyang2821 Oct 19, 2025
e350664
update
lyang2821 Oct 19, 2025
ba43e99
update
lyang2821 Oct 19, 2025
cd1066d
update
lyang2821 Oct 19, 2025
3cb4c80
update
lyang2821 Oct 19, 2025
37949c7
update
lyang2821 Oct 19, 2025
3972ff4
update
lyang2821 Oct 19, 2025
a612702
update
lyang2821 Oct 19, 2025
12769ae
update
lyang2821 Oct 19, 2025
c75c69a
update
lyang2821 Oct 19, 2025
b12e20f
update
lyang2821 Oct 19, 2025
35df396
update
lyang2821 Oct 19, 2025
72de4b3
update
lyang2821 Oct 19, 2025
387984a
update
lyang2821 Oct 19, 2025
e610837
update
lyang2821 Oct 20, 2025
883818c
update
lyang2821 Oct 20, 2025
9ea07b5
update
lyang2821 Oct 20, 2025
7533411
update
lyang2821 Oct 21, 2025
b8396b4
update
lyang2821 Oct 21, 2025
dfb1269
update
lyang2821 Oct 21, 2025
3ed7285
update
lyang2821 Oct 21, 2025
f6053c0
update
lyang2821 Oct 21, 2025
d0e91d0
update
lyang2821 Oct 21, 2025
e993908
update
lyang2821 Oct 22, 2025
8d12006
update
lyang2821 Oct 22, 2025
153bad0
update
lyang2821 Oct 22, 2025
4e3793a
update
lyang2821 Oct 22, 2025
a9356cc
update
lyang2821 Oct 23, 2025
3a1b33d
update
lyang2821 Oct 23, 2025
d72c5ab
update
lyang2821 Oct 26, 2025
0af292f
update
lyang2821 Oct 27, 2025
423caa1
update
lyang2821 Oct 27, 2025
86cba1f
update
lyang2821 Oct 27, 2025
a14afc7
update
lyang2821 Oct 27, 2025
6487f43
update
lyang2821 Oct 27, 2025
8ead07f
update
lyang2821 Oct 28, 2025
232e819
update
lyang2821 Oct 29, 2025
da9aa75
update
lyang2821 Oct 29, 2025
04ecf4f
update
lyang2821 Oct 29, 2025
ecf95fb
update
lyang2821 Oct 29, 2025
bcdfb2d
update
lyang2821 Oct 29, 2025
e0f8fd7
GITBOOK-40: No subject
dzhou121 Oct 30, 2025
0bff7b1
GITBOOK-41: No subject
dzhou121 Oct 30, 2025
282360e
update
lyang2821 Oct 30, 2025
a90e071
GITBOOK-42: No subject
dzhou121 Oct 31, 2025
5f65ab4
update
lyang2821 Oct 31, 2025
849aa03
update
lyang2821 Oct 31, 2025
5c23350
update
lyang2821 Oct 31, 2025
0fcce5b
update
lyang2821 Nov 1, 2025
e89c058
update
lyang2821 Nov 1, 2025
804b893
update
lyang2821 Nov 1, 2025
9b09cf9
update
lyang2821 Nov 1, 2025
2bea034
update
lyang2821 Nov 1, 2025
842569b
update
lyang2821 Nov 1, 2025
b4ff892
update
lyang2821 Nov 1, 2025
a5e4636
update
lyang2821 Nov 1, 2025
b995ef9
update
lyang2821 Nov 1, 2025
6691eaf
update
lyang2821 Nov 1, 2025
6a8d030
update
lyang2821 Nov 1, 2025
568c355
update
lyang2821 Nov 1, 2025
0fa27fe
udpate
lyang2821 Nov 1, 2025
2b2e48d
update
lyang2821 Nov 1, 2025
955f0a0
update
lyang2821 Nov 1, 2025
273e668
update
lyang2821 Nov 1, 2025
cadf70d
update
lyang2821 Nov 1, 2025
06b59bb
update
lyang2821 Nov 1, 2025
66dc249
update
lyang2821 Nov 1, 2025
17eb104
update
lyang2821 Nov 2, 2025
0dde5df
update
lyang2821 Nov 2, 2025
b554f7b
update
lyang2821 Nov 2, 2025
9bb672a
update
lyang2821 Nov 2, 2025
d2e5252
update
lyang2821 Nov 2, 2025
b4f6318
update
lyang2821 Nov 2, 2025
62e809d
update
lyang2821 Nov 2, 2025
acf6b11
update
lyang2821 Nov 3, 2025
3eae11d
update
lyang2821 Nov 3, 2025
537fa8c
update
lyang2821 Nov 3, 2025
ce081ee
update
lyang2821 Nov 3, 2025
9bba6f6
update
lyang2821 Nov 3, 2025
a744cc9
update
lyang2821 Nov 3, 2025
6bdd36b
update
lyang2821 Nov 4, 2025
e68bf69
update
lyang2821 Nov 4, 2025
3066413
udpate
lyang2821 Nov 4, 2025
25d78ce
Documentation edits made through Mintlify web editor
lyang2821 Nov 4, 2025
fee13b9
update
lyang2821 Nov 4, 2025
f27f967
update
lyang2821 Nov 5, 2025
37a4afc
update
lyang2821 Nov 6, 2025
483992a
heart beat
lyang2821 Nov 6, 2025
e2be87d
update
lyang2821 Nov 7, 2025
3a83fd4
update
lyang2821 Nov 7, 2025
7bfa935
update
lyang2821 Nov 7, 2025
1717454
sidecar proxy shutdown connection when chaning routing
lyang2821 Nov 7, 2025
41d964e
simply http2 proxy
lyang2821 Nov 7, 2025
c910873
update
lyang2821 Nov 8, 2025
1f3d175
update
lyang2821 Nov 8, 2025
2fa2212
update
lyang2821 Nov 8, 2025
5add361
reuse error page
lyang2821 Nov 8, 2025
d2cfb25
update
lyang2821 Nov 8, 2025
fb894be
update
lyang2821 Nov 8, 2025
8f20685
update
lyang2821 Nov 8, 2025
fc159f2
update
lyang2821 Nov 8, 2025
521fd8a
remove session_id
lyang2821 Nov 9, 2025
5f21d51
update
lyang2821 Nov 9, 2025
8db91ed
update
lyang2821 Nov 9, 2025
c6d8fe0
update
lyang2821 Nov 9, 2025
9a0e366
update
lyang2821 Nov 9, 2025
af2c155
update
lyang2821 Nov 9, 2025
f48b36e
update
lyang2821 Nov 9, 2025
0e8ff87
update
lyang2821 Nov 9, 2025
89b2ae0
update
lyang2821 Nov 9, 2025
8fbedd4
update
lyang2821 Nov 9, 2025
efcac4c
update
lyang2821 Nov 9, 2025
ae126bb
update
lyang2821 Nov 9, 2025
1a06ecd
update
lyang2821 Nov 9, 2025
f06f55d
update
lyang2821 Nov 9, 2025
eb93d66
update
lyang2821 Nov 10, 2025
9b48661
update
lyang2821 Nov 10, 2025
6c2e3b8
update
lyang2821 Nov 11, 2025
4275810
add stun keep alive
lyang2821 Nov 11, 2025
45519f2
stun keep alive update
lyang2821 Nov 11, 2025
db2eaed
make it async
lyang2821 Nov 11, 2025
b756eb9
update
lyang2821 Nov 11, 2025
610856d
update
lyang2821 Nov 11, 2025
e8faedc
update
lyang2821 Nov 13, 2025
5989cd0
update
lyang2821 Nov 13, 2025
1e9d1ff
update
lyang2821 Nov 13, 2025
a4a64a2
use tokio udpsocket
lyang2821 Nov 14, 2025
7675b74
update
lyang2821 Nov 14, 2025
336fcdb
update
lyang2821 Nov 14, 2025
4c79dfd
update
lyang2821 Nov 14, 2025
db1938e
update
lyang2821 Nov 14, 2025
0d41c47
update
lyang2821 Nov 14, 2025
a74897b
change probe packet to stun like
lyang2821 Nov 14, 2025
f5c46e9
update
lyang2821 Nov 14, 2025
6447b52
update
lyang2821 Nov 14, 2025
888b977
update
lyang2821 Nov 14, 2025
243e4e7
update
lyang2821 Nov 14, 2025
0b18123
update
lyang2821 Nov 14, 2025
1f333bb
update
lyang2821 Nov 14, 2025
eee4325
update
lyang2821 Nov 14, 2025
628c511
update
lyang2821 Nov 15, 2025
4b30dbb
update
lyang2821 Nov 15, 2025
f388e19
update
lyang2821 Nov 15, 2025
4240236
update
lyang2821 Nov 15, 2025
aef85c3
update
lyang2821 Nov 15, 2025
7393aea
update
lyang2821 Nov 15, 2025
70bfa09
fix endpoint dropping
lyang2821 Nov 15, 2025
b6e7a45
update
lyang2821 Nov 15, 2025
a3add5d
no need to close client for stream error
lyang2821 Nov 15, 2025
2b3bb39
update
lyang2821 Nov 15, 2025
35efcd9
update
lyang2821 Nov 15, 2025
f94e82d
update
lyang2821 Nov 15, 2025
dc9fa10
update
lyang2821 Nov 15, 2025
11f3f4b
update
lyang2821 Nov 15, 2025
05a8f2e
update
lyang2821 Nov 15, 2025
efec72b
update
lyang2821 Nov 15, 2025
0013c5b
update
lyang2821 Nov 16, 2025
ae3ab0f
update
lyang2821 Nov 16, 2025
7527820
update
lyang2821 Nov 16, 2025
fd85119
update
lyang2821 Nov 16, 2025
378eacd
optimisations
lyang2821 Nov 16, 2025
edbd89b
fix
lyang2821 Nov 16, 2025
39bbb74
update
lyang2821 Nov 16, 2025
a36eb86
update
lyang2821 Nov 16, 2025
4f24be0
update
lyang2821 Nov 16, 2025
7aa2e5e
update
lyang2821 Nov 16, 2025
cc6f42c
update
lyang2821 Nov 16, 2025
20a9960
update
lyang2821 Nov 16, 2025
b274730
update
lyang2821 Nov 16, 2025
4dd174f
udpate
lyang2821 Nov 16, 2025
b9b95b3
update
lyang2821 Nov 16, 2025
df298b6
update
lyang2821 Nov 16, 2025
baa2eb4
update
lyang2821 Nov 17, 2025
ba2ab50
update
lyang2821 Nov 17, 2025
6e96200
update
lyang2821 Nov 17, 2025
1fdedd2
reset customised containers
lyang2821 Nov 19, 2025
d8bb034
GITBOOK-43: No subject
dzhou121 Nov 19, 2025
c303023
GITBOOK-44: No subject
dzhou121 Nov 19, 2025
13ddd80
GITBOOK-45: No subject
dzhou121 Nov 19, 2025
de33732
GITBOOK-46: No subject
dzhou121 Nov 19, 2025
7ca95fe
GITBOOK-47: No subject
dzhou121 Nov 19, 2025
663aeb0
GITBOOK-48: No subject
dzhou121 Nov 19, 2025
e054663
only do ClusterIP services
lyang2821 Nov 19, 2025
9189484
longer timeout
lyang2821 Nov 20, 2025
bdb8332
update
lyang2821 Nov 20, 2025
6429689
doc update
lyang2821 Nov 24, 2025
e781ee5
change direct quic timeout from 5s to 3s
lyang2821 Nov 24, 2025
f13541a
cargo fmt
lyang2821 Nov 24, 2025
e569ed4
fix warnings
lyang2821 Nov 24, 2025
777b7f5
update doc
lyang2821 Nov 24, 2025
64953de
update
lyang2821 Nov 24, 2025
40eb67a
update
lyang2821 Nov 24, 2025
faa35d2
update
lyang2821 Nov 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 15 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Lapdev API configuration

# Required: PostgreSQL connection URL for the Lapdev database.
# Example: postgres://username:password@db-host:5432/lapdev
LAPDEV_DB_URL=postgres://username:password@localhost:5432/lapdev

# Optional overrides with sensible defaults.
LAPDEV_BIND_ADDR=0.0.0.0
LAPDEV_HTTP_PORT=8080
LAPDEV_SSH_PROXY_PORT=2222
LAPDEV_SSH_PROXY_DISPLAY_PORT=2222
LAPDEV_PREVIEW_URL_PROXY_PORT=8443

# Set to force all workspaces to run under a specific OS user.
# LAPDEV_FORCE_OSUSER=
246 changes: 246 additions & 0 deletions .github/workflows/release-cli.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,246 @@
name: Release Lapdev CLI

on:
workflow_dispatch:
inputs:
version:
description: "Lapdev CLI version (e.g. 0.1.0). Must match Cargo.toml."
required: true
push:
tags:
- "lapdev-cli-v*"

jobs:
prepare:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.vars.outputs.version }}
tag_name: ${{ steps.vars.outputs.tag_name }}
steps:
- uses: actions/checkout@v4

- id: vars
run: |
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
VERSION="${{ github.event.inputs.version }}"
else
VERSION="${GITHUB_REF_NAME#lapdev-cli-v}"
fi

VERSION="${VERSION#v}"
if [[ -z "$VERSION" ]]; then
echo "Unable to determine version" >&2
exit 1
fi

TAG_NAME="lapdev-cli-v${VERSION}"

echo "version=$VERSION" >> "$GITHUB_OUTPUT"
echo "tag_name=$TAG_NAME" >> "$GITHUB_OUTPUT"

- name: Verify Cargo version matches release version
run: |
FILE_VERSION=$(python - <<'PY'
import pathlib, tomllib
data = tomllib.loads(pathlib.Path("Cargo.toml").read_text())
print(data["workspace"]["package"]["version"])
PY
)
if [[ "$FILE_VERSION" != "${{ steps.vars.outputs.version }}" ]]; then
echo "Cargo workspace version ${FILE_VERSION} does not match requested version ${{ steps.vars.outputs.version }}" >&2
exit 1
fi

build:
needs: prepare
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
target: x86_64-unknown-linux-gnu
archive: tar.gz
- os: ubuntu-22.04
target: aarch64-unknown-linux-gnu
archive: tar.gz
- os: macos-13
target: x86_64-apple-darwin
archive: tar.gz
- os: macos-14
target: aarch64-apple-darwin
archive: tar.gz
- os: windows-latest
target: x86_64-pc-windows-msvc
archive: zip
- os: windows-latest
target: aarch64-pc-windows-msvc
archive: zip
runs-on: ${{ matrix.os }}
permissions:
contents: read
id-token: write
env:
TARGET: ${{ matrix.target }}
ARCHIVE_NAME: lapdev-cli-${{ matrix.target }}.${{ matrix.archive }}
ARTIFACT_NAME: lapdev-cli-${{ matrix.target }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1

- uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }}
components: "clippy,rustfmt"

- name: Install Linux cross toolchain
if: runner.os == 'Linux' && contains(matrix.target, 'aarch64-unknown-linux-gnu')
run: |
sudo apt-get update
sudo apt-get install --yes gcc-aarch64-linux-gnu

- name: Cargo fetch
run: cargo fetch --locked
if: runner.os != 'Windows'

- name: Cargo fetch (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: cargo fetch --locked

- name: Build (Unix)
if: runner.os != 'Windows'
run: cargo build -p lapdev-cli --release --locked --target "${TARGET}"

- name: Build (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: cargo build -p lapdev-cli --release --locked --target $env:TARGET

- name: Import Apple code signing cert
if: runner.os == 'macOS'
uses: apple-actions/import-codesign-certs@v3
with:
p12-file-base64: ${{ secrets.APPLE_CODESIGN_CERT_BASE64 }}
p12-password: ${{ secrets.APPLE_CODESIGN_CERT_PASSWORD }}

- name: Codesign binary (macOS)
if: runner.os == 'macOS'
env:
APPLE_CODESIGN_IDENTITY: ${{ secrets.APPLE_CODESIGN_IDENTITY }}
run: |
codesign --force --timestamp --options runtime --sign "${APPLE_CODESIGN_IDENTITY}" "target/${TARGET}/release/lapdev-cli"

- name: Notarize macOS binary
if: runner.os == 'macOS'
env:
APPLE_ID: ${{ secrets.APPLE_NOTARIZE_APPLE_ID }}
APPLE_PASSWORD: ${{ secrets.APPLE_NOTARIZE_APP_SPECIFIC_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
run: |
mkdir -p notarize
cp "target/${TARGET}/release/lapdev-cli" notarize/lapdev
ditto -c -k --keepParent notarize/lapdev notarize.zip
xcrun notarytool submit notarize.zip --apple-id "${APPLE_ID}" --team-id "${APPLE_TEAM_ID}" --password "${APPLE_PASSWORD}" --wait
xcrun stapler staple "target/${TARGET}/release/lapdev-cli"
rm -rf notarize notarize.zip

- name: Sign Windows binary
if: runner.os == 'Windows'
shell: pwsh
env:
WINDOWS_SIGNING_CERT: ${{ secrets.WINDOWS_SIGNING_CERT_BASE64 }}
WINDOWS_SIGNING_CERT_PASSWORD: ${{ secrets.WINDOWS_SIGNING_CERT_PASSWORD }}
run: |
if (-not $env:WINDOWS_SIGNING_CERT) {
throw "WINDOWS_SIGNING_CERT_BASE64 secret is required"
}
if (-not $env:WINDOWS_SIGNING_CERT_PASSWORD) {
throw "WINDOWS_SIGNING_CERT_PASSWORD secret is required"
}
$pfxPath = Join-Path $env:RUNNER_TEMP "codesign.pfx"
[IO.File]::WriteAllBytes($pfxPath, [Convert]::FromBase64String($env:WINDOWS_SIGNING_CERT))
$signtool = Get-ChildItem "C:\Program Files (x86)\Windows Kits\10\bin" -Filter signtool.exe -Recurse | Sort-Object FullName -Descending | Select-Object -First 1
if (-not $signtool) {
throw "signtool.exe not found"
}
& $signtool.FullName sign /fd SHA256 /td SHA256 /tr http://timestamp.digicert.com /f $pfxPath /p $env:WINDOWS_SIGNING_CERT_PASSWORD "target\${env:TARGET}\release\lapdev-cli.exe"
Remove-Item $pfxPath -Force

- name: Prepare artifact (Unix)
if: runner.os != 'Windows'
run: |
BIN="target/${TARGET}/release/lapdev-cli"
install -Dm755 "${BIN}" pack/lapdev
tar -C pack -czf "${ARCHIVE_NAME}" lapdev

- name: Prepare artifact (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
$bin = "target\${env:TARGET}\release\lapdev-cli.exe"
New-Item -ItemType Directory -Path pack -Force | Out-Null
Copy-Item $bin "pack\lapdev.exe" -Force
Compress-Archive -Path "pack\lapdev.exe" -DestinationPath $env:ARCHIVE_NAME -Force

- uses: sigstore/[email protected]

- name: Sign artifact (Unix)
if: runner.os != 'Windows'
env:
COSIGN_EXPERIMENTAL: "1"
run: |
cosign sign-blob --yes --output-signature "${ARCHIVE_NAME}.sig" --output-certificate "${ARCHIVE_NAME}.pem" "${ARCHIVE_NAME}"

- name: Sign artifact (Windows)
if: runner.os == 'Windows'
shell: pwsh
env:
COSIGN_EXPERIMENTAL: "1"
run: |
cosign sign-blob --yes --output-signature "$env:ARCHIVE_NAME.sig" --output-certificate "$env:ARCHIVE_NAME.pem" "$env:ARCHIVE_NAME"

- uses: actions/upload-artifact@v4
with:
name: ${{ env.ARTIFACT_NAME }}
path: |
${{ env.ARCHIVE_NAME }}
${{ env.ARCHIVE_NAME }}.sig
${{ env.ARCHIVE_NAME }}.pem

publish:
needs: [prepare, build]
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4

- uses: actions/download-artifact@v4
with:
path: release

- name: List artifacts
run: ls -R release

- name: Create GitHub release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG_NAME: ${{ needs.prepare.outputs.tag_name }}
VERSION: ${{ needs.prepare.outputs.version }}
run: |
FILES=()
while IFS= read -r -d '' file; do
FILES+=("$file")
done < <(find release -type f -print0)

if [[ ${#FILES[@]} -eq 0 ]]; then
echo "No artifacts found to upload" >&2
exit 1
fi

FILES+=("pkg/installers/lapdev-cli.sh" "pkg/installers/lapdev-cli.ps1")

gh release create "${TAG_NAME}" "${FILES[@]}" \
--title "Lapdev CLI v${VERSION}" \
--notes "Prebuilt Lapdev CLI binaries for version v${VERSION}."
6 changes: 5 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@ jobs:
./target/debian/lapdev-ws_${{ github.event.inputs.lapdev_version }}-1_amd64.deb
./pkg/common/install.sh
./pkg/common/install-ws.sh
./pkg/installers/lapdev-cli.sh
./pkg/installers/lapdev-cli.ps1
retention-days: 1

publish:
Expand All @@ -100,4 +102,6 @@ jobs:
if: github.event_name != 'pull_request'
run: |
gh release create $TAG_NAME --title "$TAG_NAME" --target $GITHUB_SHA \
lapdev-linux/*/*/*
lapdev-linux/*/*/* \
pkg/installers/lapdev-cli.sh \
pkg/installers/lapdev-cli.ps1
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
/lapdev-dashboard/dist
.lapce
.env
.git-credentials
Loading
Loading