mirror of
https://github.com/NohamR/GoFileCLI.git
synced 2026-03-20 16:09:58 +00:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
21bacce76b | ||
|
|
f1a316961c | ||
|
|
0e2a4899a5 | ||
|
|
091182c555 | ||
|
|
825ad69828 | ||
|
|
1ffa55f19f | ||
|
|
7e0e04a964 | ||
|
|
b0b1b1d197 | ||
|
|
f2dbeefa1f | ||
|
|
d7660d4c9b | ||
|
|
53d1d85ac5 |
@@ -1,2 +1,3 @@
|
||||
TOKEN = ""
|
||||
PRIVATE_PARENT_ID = ""
|
||||
GOPLOAD_ACCOUNT_ID = ""
|
||||
63
.github/workflows/release.yml
vendored
63
.github/workflows/release.yml
vendored
@@ -27,7 +27,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Check-out repository
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v1
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
@@ -50,7 +50,7 @@ jobs:
|
||||
onefile: true
|
||||
|
||||
- name: Upload Artifact[win-x64]
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v3.1.3
|
||||
with:
|
||||
name: GoFileCLI_win-x64
|
||||
path: |
|
||||
@@ -60,11 +60,8 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Check runner architecture
|
||||
run: uname -m
|
||||
|
||||
- name: Check-out repository
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v1
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
@@ -86,22 +83,22 @@ jobs:
|
||||
script-name: gofilecli.py
|
||||
onefile: true
|
||||
|
||||
- name: Rename Executable
|
||||
run: mv build/gofilecli.bin build/gofilecli
|
||||
|
||||
- name: Upload Artifact[linux-x64]
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v3.1.3
|
||||
with:
|
||||
name: GoFileCLI_linux-x64
|
||||
path: |
|
||||
build/gofilecli.bin
|
||||
build/gofilecli
|
||||
|
||||
build-macos:
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- name: Check runner architecture
|
||||
run: uname -m
|
||||
|
||||
- name: Check-out repository
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v1
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
@@ -118,24 +115,27 @@ jobs:
|
||||
pip install nuitka
|
||||
|
||||
- name: Build Executable with Nuitka
|
||||
# --macos-app-icon=resources/icon.icns
|
||||
run: |
|
||||
python -m nuitka --onefile --assume-yes-for-downloads --output-dir=dist --macos-target-arch=arm64 gofilecli.py
|
||||
python -m nuitka --onefile --assume-yes-for-downloads --output-dir=dist_x86_64 --macos-target-arch=x86_64 gofilecli.py
|
||||
|
||||
- name: Upload Artifact[osx-arm64]
|
||||
uses: actions/upload-artifact@v4
|
||||
- name: Rename Executable
|
||||
run: |
|
||||
mv dist/gofilecli.bin dist/gofilecli
|
||||
mv dist_x86_64/gofilecli.bin dist_x86_64/gofilecli
|
||||
|
||||
|
||||
- name: Upload Artifact [osx-arm64]
|
||||
uses: actions/upload-artifact@v3.1.3
|
||||
with:
|
||||
name: GoFileCLI_osx-x64
|
||||
path: |
|
||||
dist_x86_64/gofilecli.bin
|
||||
path: dist_x86_64/gofilecli
|
||||
|
||||
- name: Upload Artifact[osx-arm64]
|
||||
uses: actions/upload-artifact@v4
|
||||
- name: Upload Artifact [osx-arm64]
|
||||
uses: actions/upload-artifact@v3.1.3
|
||||
with:
|
||||
name: GoFileCLI_osx-arm64
|
||||
path: |
|
||||
dist/gofilecli.bin
|
||||
path: dist/gofilecli
|
||||
|
||||
create_draft_release:
|
||||
name: Create Github draft release
|
||||
@@ -178,7 +178,7 @@ jobs:
|
||||
attach_to_release:
|
||||
name: Attach native executables to release
|
||||
if: ${{ github.event.inputs.doRelease == 'true' }}
|
||||
needs: create_draft_release
|
||||
needs: [create_draft_release]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Get current date
|
||||
@@ -191,21 +191,16 @@ jobs:
|
||||
- name: Fetch executables
|
||||
uses: actions/download-artifact@v3
|
||||
|
||||
- name: Tar (linux, macOS)
|
||||
- name: List downloaded files
|
||||
run: |
|
||||
for file in *{osx,linux}*; do
|
||||
if [ -f "$file" ]; then
|
||||
tar cvzfp "${file}_${{ env.date }}.tar.gz" "$file"
|
||||
fi
|
||||
done
|
||||
echo "Listing files in the working directory:"
|
||||
ls -R
|
||||
|
||||
- name: Tar (linux, macOS)
|
||||
run: for dir in *{osx,linux}*; do tar cvzfp "${dir}_${{ env.date }}.tar.gz" "$dir"; done
|
||||
|
||||
- name: Zip (windows)
|
||||
run: |
|
||||
for file in *win*; do
|
||||
if [ -f "$file" ]; then
|
||||
zip -r "${file}_${{ env.date }}.zip" "$file"
|
||||
fi
|
||||
done
|
||||
run: for dir in *win*; do zip -r "${dir}_${{ env.date }}.zip" "$dir"; done
|
||||
|
||||
- name: Upload
|
||||
run: |
|
||||
|
||||
24
scripts/build.sh
Normal file
24
scripts/build.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "Error: No tag provided."
|
||||
echo "Usage: $0 <tag>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tag=$1
|
||||
|
||||
source ~/miniconda3/etc/profile.d/conda.sh
|
||||
conda activate 310
|
||||
python -m nuitka --onefile --assume-yes-for-downloads --output-dir=dist --static-libpython=no gofilecli.py
|
||||
mv dist/gofilecli.bin ./gofilecli
|
||||
|
||||
mkdir -p GoFileCLI_linux-arm64
|
||||
mv ./gofilecli GoFileCLI_linux-arm64/
|
||||
|
||||
date=$(date +"%Y%m%d")
|
||||
tar cvzfp "GoFileCLI_linux-arm64_${date}.tar.gz" GoFileCLI_linux-arm64
|
||||
|
||||
gh release upload ${tag} "GoFileCLI_linux-arm64_${date}.tar.gz"
|
||||
|
||||
rm -rf GoFileCLI_linux-arm64
|
||||
63
scripts/install.sh
Normal file
63
scripts/install.sh
Normal file
@@ -0,0 +1,63 @@
|
||||
#!/bin/bash
|
||||
owner="NohamR"
|
||||
repo="GoFileCLI"
|
||||
latest_release=$(curl -s https://api.github.com/repos/$owner/$repo/releases/latest)
|
||||
|
||||
tag_name=$(echo "$latest_release" | jq -r '.tag_name')
|
||||
assets=$(echo "$latest_release" | jq -r '.assets[] | .name')
|
||||
|
||||
echo "Latest release tag: $tag_name"
|
||||
|
||||
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
|
||||
|
||||
if [[ "$OS" == "darwin" ]]; then
|
||||
OS="osx"
|
||||
fi
|
||||
|
||||
ARCH=$(uname -m)
|
||||
|
||||
if [[ "$ARCH" == "x86_64" ]]; then
|
||||
ARCH="x64"
|
||||
elif [[ "$ARCH" == "aarch64" || "$ARCH" == "arm64" ]]; then
|
||||
ARCH="arm64"
|
||||
else
|
||||
echo "Unsupported architecture: $ARCH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
expected_file="GoFileCLI_${OS}-${ARCH}_*.tar.gz"
|
||||
|
||||
if [[ "$OS" == "windows" ]]; then
|
||||
expected_file="GoFileCLI_${OS}-${ARCH}_*.zip"
|
||||
fi
|
||||
|
||||
selected_asset=$(echo "$assets" | grep -E "^GoFileCLI_${OS}-${ARCH}_.*")
|
||||
|
||||
if [[ -z "$selected_asset" ]]; then
|
||||
echo "No matching asset found for OS: $OS, Architecture: $ARCH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Selected asset: $selected_asset"
|
||||
|
||||
download_url=$(echo "$latest_release" | jq -r --arg name "$selected_asset" '.assets[] | select(.name == $name) | .browser_download_url')
|
||||
|
||||
echo "Downloading $selected_asset from $download_url..."
|
||||
curl -LO "$download_url"
|
||||
if [[ ! -f "$selected_asset" ]]; then
|
||||
echo "Download failed."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tar -xzf "$selected_asset"
|
||||
extracted_dir=$(find . -type d -name "GoFileCLI*" | head -n 1)
|
||||
if [[ -d "$extracted_dir" ]]; then
|
||||
sudo mv "$extracted_dir/gofilecli" /usr/local/bin/
|
||||
chmod +x /usr/local/bin/gofilecli
|
||||
echo "Installation completed. You can now use 'gofilecli'."
|
||||
else
|
||||
echo "Failed to find the extracted directory."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -rf "$selected_asset" "$extracted_dir"
|
||||
45
scripts/uninstall.sh
Normal file
45
scripts/uninstall.sh
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
|
||||
BINARY_NAME="gofilecli"
|
||||
|
||||
BINARY_PATH=$(which $BINARY_NAME)
|
||||
|
||||
if [[ -z "$BINARY_PATH" ]]; then
|
||||
echo "$BINARY_NAME is not installed or not found in PATH."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Found $BINARY_NAME at $BINARY_PATH."
|
||||
read -p "Are you sure you want to uninstall $BINARY_NAME? [y/N]: " confirm
|
||||
|
||||
if [[ "$confirm" != "y" && "$confirm" != "Y" ]]; then
|
||||
echo "Uninstallation cancelled."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
sudo rm -f "$BINARY_PATH"
|
||||
|
||||
if [[ ! -f "$BINARY_PATH" ]]; then
|
||||
echo "$BINARY_NAME has been successfully uninstalled."
|
||||
else
|
||||
echo "Failed to uninstall $BINARY_NAME."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Checking for any leftover files or directories..."
|
||||
leftovers=$(find /usr/local/bin -name "$BINARY_NAME" 2>/dev/null)
|
||||
|
||||
if [[ -n "$leftovers" ]]; then
|
||||
echo "Found leftover files:"
|
||||
echo "$leftovers"
|
||||
read -p "Do you want to remove these leftover files? [y/N]: " cleanup_confirm
|
||||
|
||||
if [[ "$cleanup_confirm" == "y" || "$cleanup_confirm" == "Y" ]]; then
|
||||
sudo rm -rf $leftovers
|
||||
echo "Leftover files removed."
|
||||
else
|
||||
echo "Leftover files not removed."
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Uninstallation complete."
|
||||
Reference in New Issue
Block a user