1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-04-15 02:02:08 -04:00

workflow: add shell completions to release artifacts

This commit is contained in:
bbedward
2025-11-11 22:57:24 -05:00
parent 695a75ea09
commit 0126aded78

View File

@@ -58,8 +58,8 @@ jobs:
## Assets ## Assets
### Complete Packages ### Complete Packages
- **`dms-full-amd64.tar.gz`** - Complete package for x86_64 systems (CLI binaries + QML source + installation guide) - **`dms-full-amd64.tar.gz`** - Complete package for x86_64 systems (CLI binaries + QML source + shell completions + installation guide)
- **`dms-full-arm64.tar.gz`** - Complete package for ARM64 systems (CLI binaries + QML source + installation guide) - **`dms-full-arm64.tar.gz`** - Complete package for ARM64 systems (CLI binaries + QML source + shell completions + installation guide)
### Individual Components ### Individual Components
- **`dms-cli-amd64.gz`** - DMS CLI binary for x86_64 systems - **`dms-cli-amd64.gz`** - DMS CLI binary for x86_64 systems
@@ -135,27 +135,28 @@ jobs:
# Generate checksum for QML package # Generate checksum for QML package
(cd _release_assets && sha256sum dms-qml.tar.gz > dms-qml.tar.gz.sha256) (cd _release_assets && sha256sum dms-qml.tar.gz > dms-qml.tar.gz.sha256)
# Create full packages for each architecture
for arch in amd64 arm64; do for arch in amd64 arm64; do
mkdir -p _temp_full/dms mkdir -p _temp_full/dms
mkdir -p _temp_full/bin mkdir -p _temp_full/bin
mkdir -p _temp_full/completions
# Extract QML source to temp directory
tar -xzf _release_assets/dms-qml.tar.gz -C _temp_full/dms tar -xzf _release_assets/dms-qml.tar.gz -C _temp_full/dms
# Copy CLI binary if it exists
if [ -f "_dms_assets/dms-${arch}.gz" ]; then if [ -f "_dms_assets/dms-${arch}.gz" ]; then
gunzip -c "_dms_assets/dms-${arch}.gz" > _temp_full/bin/dms gunzip -c "_dms_assets/dms-${arch}.gz" > _temp_full/bin/dms
chmod +x _temp_full/bin/dms chmod +x _temp_full/bin/dms
fi fi
# Copy distropkg binary if it exists
if [ -f "_dms_assets/dms-distropkg-${arch}.gz" ]; then if [ -f "_dms_assets/dms-distropkg-${arch}.gz" ]; then
gunzip -c "_dms_assets/dms-distropkg-${arch}.gz" > _temp_full/bin/dms-distropkg gunzip -c "_dms_assets/dms-distropkg-${arch}.gz" > _temp_full/bin/dms-distropkg
chmod +x _temp_full/bin/dms-distropkg chmod +x _temp_full/bin/dms-distropkg
fi fi
# Create INSTALL.md for completion in _dms_assets/completion.*; do
if [ -f "$completion" ]; then
cp "$completion" _temp_full/completions/
fi
done
cat > _temp_full/INSTALL.md << 'EOF' cat > _temp_full/INSTALL.md << 'EOF'
# DankMaterialShell Installation # DankMaterialShell Installation
@@ -176,16 +177,23 @@ jobs:
2. **Install the DMS CLI binaries:** 2. **Install the DMS CLI binaries:**
```bash ```bash
sudo install -m 755 bin/dms /usr/local/bin/dms sudo install -m 755 bin/dms /usr/local/bin/dms
# or install to a local directory:
mkdir -p ~/.local/bin
install -m 755 bin/dms ~/.local/bin/dms
``` ```
3. **Start the shell:** 3. **Install shell completions (optional):**
```bash
# Bash
sudo install -m 644 completions/completion.bash /usr/share/bash-completion/completions/dms
# Fish
sudo install -m 644 completions/completion.fish /usr/share/fish/vendor_completions.d/dms.fish
# Zsh
sudo install -m 644 completions/completion.zsh /usr/share/zsh/site-functions/_dms
```
4. **Start the shell:**
```bash ```bash
dms run dms run
# or directly with quickshell (will lack some dbus integrations & plugin management):
quickshell -p ~/.config/quickshell/dms
``` ```
## Configuration ## Configuration