1366 lines
35 KiB
YAML
1366 lines
35 KiB
YAML
---
|
|
version: '3'
|
|
|
|
env:
|
|
GITHUB_TOKEN:
|
|
sh: |
|
|
if [ -n "$GITHUB_TOKEN" ]; then
|
|
echo "$GITHUB_TOKEN"
|
|
else
|
|
# Public repository view PAT (user: TimeTravelersHackedMe)
|
|
# The gh CLI used to download assets needs a PAT or the user to login so this prevents that requirement
|
|
# Split into two variables so GitHub's detect/remove does not mess with anything
|
|
FIRST_PART="github_pat_"
|
|
SECOND_PART="11ABLI5FQ0RnibLOzu4kY0_SKzixo0dQRKPrniu0vMVabt"
|
|
THIRD_PART="mlwrDNBzDaxsWptk3QRA2OIMLFQWKgEGBCgR"
|
|
echo "${FIRST_PART}${SECOND_PART}${THIRD_PART}"
|
|
fi
|
|
|
|
tasks:
|
|
act:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: act
|
|
PACKAGE: nektos/act
|
|
|
|
azurefunctions:
|
|
cmds:
|
|
- task: azurefunctions:{{OS}}
|
|
|
|
azurefunctions:darwin:
|
|
cmds:
|
|
- echo 'Install azure-functions-core-tools using Homebrew on MacOS'
|
|
|
|
azurefunctions:linux:
|
|
cmds:
|
|
- gh release download -R Azure/azure-functions-core-tools -p "*linux-x64*.zip"
|
|
- unzip -q -d azure-functions-cli Azure.Functions.Cli.linux-x64*.zip
|
|
- mv azure-functions-cli /opt
|
|
- ln -s /opt/azure-functions-cli/func /usr/local/bin/func
|
|
- ln -s /opt/azure-functions-cli/gozip /usr/local/bin/gozip
|
|
status:
|
|
- '[ -f /usr/local/bin/func ]'
|
|
|
|
azurefunctions:windows:
|
|
cmds:
|
|
- echo 'Install azure-functions-core-tools using Chocolatey on Windows'
|
|
|
|
bat:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: bat
|
|
PACKAGE: sharkdp/bat
|
|
TAR_OPTIONS: ' --strip-components 1'
|
|
|
|
betwixt:
|
|
cmds:
|
|
- task: betwixt:{{OS}}
|
|
|
|
betwixt:darwin:
|
|
cmds:
|
|
- gh release download --clobber -R kdzwinel/betwixt -p "*darwin-x64.zip"
|
|
- unzip -q Betwixt-darwin-x64.zip
|
|
- mv Betwixt-darwin-x64/Betwixt.app /Applications
|
|
- rm -f Betwixt-darwin-x64.zip
|
|
- rm -rf Betwixt-darwin-x64
|
|
status:
|
|
- '[ -d /Applications/Betwixt.app ]'
|
|
|
|
betwixt:linux:
|
|
cmds:
|
|
- gh release download -R kdzwinel/betwixt -p "*linux-x64.zip"
|
|
- unzip -q Betwixt-linux-x64.zip
|
|
- mv Betwixt-linux-x64 /opt
|
|
- ln -s /opt/Betwixt-linux-x64/Betwixt /usr/local/bin/betwixt
|
|
status:
|
|
- '[ -f /opt/Betwixt-linux-x64/Betwixt ]'
|
|
|
|
betwixt:windows:
|
|
cmds:
|
|
- gh release download -R kdzwinel/betwixt -p "*win32-x64.zip"
|
|
- cmd /C powershell 'md "C:\Program Files\Betwixt" -Force'
|
|
- tar -xf Betwixt-win32-x64.zip -C "C:\Program Files\Betwixt" --strip-components 1
|
|
- cmd /C del Betwixt-win32-x64.zip
|
|
- cmd /C powershell 'New-Item -Value "C:\Program Files\Betwixt\Betwixt.exe" -Path "C:\Users\Public\Desktop\Betwixt" -ItemType SymbolicLink -Force'
|
|
status:
|
|
- '[ -f "C:\Program Files\Betwixt\Betwixt.exe" ]'
|
|
|
|
bitwarden:
|
|
cmds:
|
|
- task: bw:{{OS}}
|
|
status:
|
|
- '[ -f /usr/local/bin/bw ]'
|
|
|
|
bivac:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: bivac
|
|
PACKAGE: camptocamp/bivac
|
|
|
|
bw:darwin:
|
|
cmds:
|
|
- gh release download -R bitwarden/cli -p "bw-macos*.zip"
|
|
- mkdir -p /usr/local/bin && unzip -q bw-macos*.zip -d /usr/local/bin && rm -f bw-macos*.zip
|
|
- chmod +x /usr/local/bin/bw
|
|
|
|
bw:linux:
|
|
cmds:
|
|
- gh release download -R bitwarden/cli -p "bw-linux*.zip"
|
|
- mkdir -p /usr/local/bin && unzip -q bw-linux*.zip -d /usr/local/bin && rm -f bw-linux*.zip
|
|
- chmod +x /usr/local/bin/bw
|
|
|
|
bw:windows:
|
|
cmds:
|
|
- gh release download -R bitwarden/cli -p "bw-windows*.zip"
|
|
- powershell 'md C:/ProgramData/bin -Force; tar -xf bw-windows*.zip -C C:/ProgramData/bin; del bw-windows*.zip -Force'
|
|
|
|
cerebro:
|
|
cmds:
|
|
- task: cerebro:{{OS}}
|
|
|
|
cerebro:darwin:
|
|
cmds:
|
|
- echo 'Install Cerebro using Homebrew.'
|
|
|
|
cerebro:linux:
|
|
cmds:
|
|
- task: install:appimage
|
|
vars:
|
|
DEST_APPIMAGE_NAME: Cerebro
|
|
PACKAGE: cerebroapp/cerebro
|
|
|
|
cerebro:windows:
|
|
cmds:
|
|
- echo 'Cerebro is not available for Windows.'
|
|
|
|
consul-cli:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: consul-cli
|
|
PACKAGE: mantl/consul-cli
|
|
TAR_OPTIONS: ' --strip-components 1'
|
|
|
|
croc:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: croc
|
|
PACKAGE: schollz/croc
|
|
|
|
ctop:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: ctop
|
|
PACKAGE: bcicen/ctop
|
|
|
|
cumulus:
|
|
cmds:
|
|
- echo 'Cumulus is available only for MacOS, install using Homebrew on MacOS.'
|
|
|
|
dasel:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: dasel
|
|
PACKAGE: TomWright/dasel
|
|
|
|
dat:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: dat
|
|
PACKAGE: dat-ecosystem-archive/dat
|
|
TAR_OPTIONS: ' --strip-components 1'
|
|
|
|
ZIP_OPTIONS: ' -j'
|
|
delta:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: delta
|
|
PACKAGE: dandavison/delta
|
|
TAR_OPTIONS: ' --strip-components 1'
|
|
|
|
deno:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: deno
|
|
PACKAGE: denoland/deno
|
|
|
|
deta:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: deta
|
|
PACKAGE: deta/deta-cli
|
|
|
|
direnv:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: direnv
|
|
PACKAGE: direnv/direnv
|
|
|
|
dive:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: dive
|
|
PACKAGE: wagoodman/dive
|
|
|
|
docker-pushrm:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: docker-pushrm
|
|
PACKAGE: christian-korneck/docker-pushrm
|
|
|
|
dockle:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: dockle
|
|
PACKAGE: goodwithtech/dockle
|
|
|
|
doctl:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: doctl
|
|
PACKAGE: digitalocean/doctl
|
|
|
|
dog:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: dog
|
|
PACKAGE: ogham/dog
|
|
|
|
duf:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: duf
|
|
PACKAGE: muesli/duf
|
|
|
|
dust:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: dust
|
|
PACKAGE: bootandy/dust
|
|
TAR_OPTIONS: ' --strip-components 1'
|
|
|
|
fd:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: fd
|
|
PACKAGE: sharkdp/fd
|
|
TAR_OPTIONS: ' --strip-components 1'
|
|
# Fails with the error HTTP 404: Not Found (https://api.github.com/repos/henryboldi/felony/releases/latest) because there is no 'latest' release
|
|
# felony:
|
|
# cmds:
|
|
# - task: install:gh
|
|
# vars:
|
|
# BIN_NAME: felony
|
|
# PACKAGE: henryboldi/felony
|
|
|
|
ffsend:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: ffsend
|
|
PACKAGE: timvisee/ffsend
|
|
|
|
filebrowser:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: filebrowser
|
|
PACKAGE: filebrowser/filebrowser
|
|
|
|
fq:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: fq
|
|
PACKAGE: wader/fq
|
|
|
|
fuego:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: fuego
|
|
PACKAGE: sgarciac/fuego
|
|
|
|
fusion:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: fusion
|
|
PACKAGE: edgelaboratories/fusion
|
|
|
|
ganache:
|
|
cmds:
|
|
- task: ganache:{{OS}}
|
|
|
|
ganache:darwin:
|
|
cmds:
|
|
- task: install:dmg
|
|
vars:
|
|
DMG_NAME: Ganache
|
|
PACKAGE: trufflesuite/ganache-ui
|
|
|
|
ganache:linux:
|
|
cmds:
|
|
- task: install:appimage
|
|
vars:
|
|
DEST_APPIMAGE_NAME: Ganache
|
|
PACKAGE: trufflesuite/ganache-ui
|
|
|
|
ganache:windows:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: Ganache
|
|
EXE_PATTERN: '-p *setup.exe'
|
|
|
|
PACKAGE: trufflesuite/ganache-ui
|
|
gh:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: gh
|
|
PACKAGE: cli/cli
|
|
TAR_OPTIONS: ' --strip-components 1'
|
|
|
|
gitify:
|
|
cmds:
|
|
- task: gitify:{{OS}}
|
|
|
|
gitify:darwin:
|
|
cmds:
|
|
- task: install:dmg
|
|
vars:
|
|
DMG_NAME: gitify
|
|
PACKAGE: manosim/gitify
|
|
|
|
gitify:linux:
|
|
cmds:
|
|
- task: install:appimage
|
|
vars:
|
|
DEST_APPIMAGE_NAME: Gitify
|
|
PACKAGE: manosim/gitify
|
|
|
|
gitify:windows:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: gitify
|
|
EXE_PATTERN: '-p *Setup*.exe'
|
|
|
|
PACKAGE: manosim/gitify
|
|
gitleaks:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: gitleaks
|
|
PACKAGE: zricethezav/gitleaks
|
|
|
|
gitomatic:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: gitomatic
|
|
PACKAGE: muesli/gitomatic
|
|
|
|
glab:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: glab
|
|
PACKAGE: profclems/glab
|
|
TAR_OPTIONS: ' --strip-components 1'
|
|
|
|
gojq:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: gojq
|
|
PACKAGE: itchyny/gojq
|
|
TAR_OPTIONS: ' --strip-components 1'
|
|
|
|
hey:
|
|
cmds:
|
|
- task: hey:{{OS}}
|
|
|
|
hey:darwin:
|
|
cmds:
|
|
- curl https://hey-release.s3.us-east-2.amazonaws.com/hey_darwin_amd64 -o /usr/local/bin/hey
|
|
- chmod +x /usr/local/bin/hey
|
|
status:
|
|
- '[ -f /usr/local/bin/hey ]'
|
|
|
|
hey:linux:
|
|
cmds:
|
|
- curl https://hey-release.s3.us-east-2.amazonaws.com/hey_linux_amd64 -o /usr/local/bin/hey
|
|
- chmod +x /usr/local/bin/hey
|
|
status:
|
|
- '[ -f /usr/local/bin/hey ]'
|
|
|
|
hey:windows:
|
|
cmds:
|
|
- curl https://hey-release.s3.us-east-2.amazonaws.com/hey_windows_amd64 -o C:/ProgramData/bin/hey.exe
|
|
status:
|
|
- '[ -f C:/ProgramData/bin/hey.exe ]'
|
|
|
|
install:appimage:
|
|
cmds:
|
|
- gh release download -R '{{.PACKAGE}}' -p "*.AppImage"
|
|
- mv *.AppImage /opt/{{.DEST_APPIMAGE_NAME}}.AppImage
|
|
- chmod +x /opt/{{.DEST_APPIMAGE_NAME}}.AppImage
|
|
- ln -s /opt/{{.DEST_APPIMAGE_NAME}}.AppImage /usr/local/bin/{{.DEST_APPIMAGE_NAME}}
|
|
status:
|
|
- '[ -f /opt/{{.DEST_APPIMAGE_NAME}}.AppImage ]'
|
|
|
|
install:dmg:
|
|
vars:
|
|
LOG_SCRIPT:
|
|
sh: echo "${PWD}/.config/log"
|
|
cmds:
|
|
- gh release download --clobber -R '{{.PACKAGE}}' -p "*64*.dmg" -p "*.dmg"
|
|
- |
|
|
if (type sudo &> /dev/null && sudo -n true); then
|
|
COUNT=0
|
|
while read FILE; do
|
|
COUNT=$((COUNT + 1))
|
|
echo $COUNT
|
|
if [ "$COUNT" == "1" ]; then
|
|
hdiutil attach "$FILE" -nobrowse -mountpoint /tmp/{{.DMG_NAME}}
|
|
cp -r /tmp/{{.DMG_NAME}}/*.app /Applications/
|
|
hdiutil detach /tmp/{{.DMG_NAME}}
|
|
rm "$FILE"
|
|
else
|
|
{{.LOG_SCRIPT}} warn 'Multiple releases have possibly been downloaded'
|
|
fi
|
|
done < <(find . -type f -iname "*.dmg")
|
|
else
|
|
{{.LOG_SCRIPT}} warn 'Run with sudo privileges to install DMG files'
|
|
fi
|
|
status:
|
|
- '[ -d /Applications/{{.DMG_NAME}}.app ]'
|
|
|
|
install:gh:
|
|
deps:
|
|
- :install:software:gh
|
|
cmds:
|
|
- task: install:gh:{{OS}}
|
|
vars:
|
|
BIN_NAME: '{{.BIN_NAME}}'
|
|
PACKAGE: '{{.PACKAGE}}'
|
|
TAR_OPTIONS: '{{.TAR_OPTIONS}}'
|
|
ZIP_OPTIONS: '{{.ZIP_OPTIONS}}'
|
|
|
|
install:gh:darwin:
|
|
deps:
|
|
- :install:software:gh
|
|
vars:
|
|
BIN_FOLDER:
|
|
sh: echo "/usr/local/bin"
|
|
LOG_SCRIPT:
|
|
sh: echo "${PWD}/.config/log"
|
|
PATTERNS:
|
|
sh: |-
|
|
if [[ {{ARCH}} == "arm" ]]; then
|
|
echo "-p \"*Darwin_arm64\" -p \"*Darwin_arm64.tar.gz\" -p \"*darwin_arm64\" -p \"*darwin_arm64.tar.gz\" -p \"*darwin-arm64.tar.gz\" \
|
|
-p \"*darwin-arm64\" -p \"*Darwin-64bit.tar.gz\" -p \"*darwin_x64.tar.gz\" -p \"*darwin.tar.gz\" -p \"*macOS-ARM64.tar.gz\" \
|
|
-p \"*aarch64-apple-darwin.zip\" -p \"*-macos\" -p \"*darwin_arm64.zip\" -p \"*arm64-darwin.zip\" -p \"*darwin-amd64.zip\""
|
|
else
|
|
echo "-p \"*Darwin_x86_64\" -p \"*Darwin_x86_64.tar.gz\" -p \"*Darwin_amd64.tar.gz\" -p \"*darwin_amd64\" -p \"*darwin_amd64.tar.gz\" \
|
|
-p \"*darwin-amd64.tar.gz\" -p \"*darwin-amd64\" -p \"*Darwin-64bit.tar.gz\" -p \"*darwin-x64\" -p \"*darwin_x64.tar.gz\" -p \"*MacOS_64-bit.tar.gz\" \
|
|
-p \"*darwin-x86_64\" -p \"*darwin_x86_64.tar.gz\" -p \"*darwin.tar.gz\" -p \"*macOS-64bit.tar.gz\" -p \"*x86_64-apple-darwin.zip\" -p \"*-darwin.zip\" \
|
|
-p \"*-macos\" -p \"*macOS_amd64.tar.gz\" -p \"*macOS_x86_64.tar.gz\" -p \"*darwin_amd64.zip\" -p \"*macos-x64.zip\" -p \"*x86_64-darwin.zip\" -p \"*darwin-arm64.zip\""
|
|
fi
|
|
env:
|
|
TMP:
|
|
sh: mktemp -d
|
|
cmds:
|
|
- gh release download -R "{{.PACKAGE}}" {{.PATTERNS}} -D "$TMP"
|
|
- |
|
|
cd "$TMP"
|
|
COUNT=0
|
|
while read FILE; do
|
|
COUNT=$((COUNT + 1))
|
|
if [ "$COUNT" == "1" ]; then
|
|
if [[ "$FILE" == *.tar.gz ]]; then
|
|
tar -xzf "$FILE"{{.TAR_OPTIONS}}
|
|
rm "$FILE"
|
|
elif [[ "$FILE" == *.zip ]]; then
|
|
echo 'zip'
|
|
unzip{{.ZIP_OPTIONS}} "$FILE"
|
|
rm "$FILE"
|
|
fi
|
|
else
|
|
{{.LOG_SCRIPT}} warn 'Multiple releases have possibly been downloaded'
|
|
fi
|
|
done < <(find . -type f)
|
|
pwd
|
|
ls -la
|
|
rm -rf CHANGELOG.md LICENSE LICENSE* README.md autocomplete completion* *.1 *.sh *_autocomplete contrib Changes manpages
|
|
mkdir -p {{.BIN_FOLDER}}
|
|
if [ "$(ls 2>/dev/null * | wc -l | tr -d ' ')" == "1" ]; then
|
|
{{.LOG_SCRIPT}} info 'Moving `{{.BIN_NAME}}` from its default location'
|
|
mv * {{.BIN_FOLDER}}/{{.BIN_NAME}}
|
|
else
|
|
if [ -d bin ]; then
|
|
cd bin
|
|
if [ "$(ls 2>/dev/null * | wc -l | tr -d ' ')" == "1" ]; then
|
|
{{.LOG_SCRIPT}} info 'Moving `{{.BIN_NAME}}` from the `bin` folder'
|
|
mv * {{.BIN_FOLDER}}/{{.BIN_NAME}}
|
|
else
|
|
{{.LOG_SCRIPT}} warn 'Unmatched binary named `{{.BIN_NAME}}` from `*.tar.gz` with a `bin` folder'
|
|
{{.COMMANDS}}
|
|
fi
|
|
cd ..
|
|
elif [ "$(ls 2>/dev/null {{.BIN_NAME}} | wc -l | tr -d ' ')" == "1" ]; then
|
|
{{.LOG_SCRIPT}} warn 'Moving `{{.BIN_NAME}}` from its default location, but, there are other files that are not moved'
|
|
mv {{.BIN_NAME}} {{.BIN_FOLDER}}/{{.BIN_NAME}}
|
|
else
|
|
echo "$(ls 2>/dev/null {{.BIN_NAME}} | wc -l | tr -d ' ')"
|
|
{{.LOG_SCRIPT}} warn 'Unmatched binary named `{{.BIN_NAME}}`'
|
|
{{.COMMANDS}}
|
|
fi
|
|
fi
|
|
- chmod +x {{.BIN_FOLDER}}/{{.BIN_NAME}}
|
|
status:
|
|
- '[ -f /usr/local/bin/{{.BIN_NAME}} ]'
|
|
|
|
install:gh:linux:
|
|
deps:
|
|
- :install:software:gh
|
|
vars:
|
|
BIN_FOLDER:
|
|
sh: echo "/usr/local/bin"
|
|
LOG_SCRIPT:
|
|
sh: echo "${PWD}/.config/log"
|
|
PATTERNS: -p "*Linux_x86_64" -p "*Linux_x86_64.tar.gz" -p "*Linux_amd64.tar.gz" -p "*linux_amd64" -p "*linux_amd64.tar.gz" -p "*linux-amd64.tar.gz"
|
|
-p "*linux-amd64" -p "*Linux-64bit.tar.gz" -p "*linux-x64" -p "*linux_x64.tar.gz" -p "*linux-x86_64" -p "*linux_x86_64.tar.gz" -p "*linux_amd64.zip"
|
|
-p "*linux-x64.zip" -p "*linux-x64.tar.gz" -p "*x86_64-linux.zip" -p "*Linux_64-bit.tar.gz" -p "*linux-amd64.zip"
|
|
PATTERNS_GNU: -p "*x86_64-unknown-linux-gnu.tar.gz" -p "*x86_64-unknown-linux-gnu.zip"
|
|
PATTERNS_MUSL: -p "*x86_64-unknown-linux-musl.tar.gz"
|
|
env:
|
|
TMP:
|
|
sh: mktemp -d
|
|
cmds:
|
|
- gh release download -R "{{.PACKAGE}}" {{.PATTERNS}} {{.PATTERNS_GNU}} -D "$TMP"
|
|
- |
|
|
cd "$TMP"
|
|
COUNT=0
|
|
while read FILE; do
|
|
COUNT=$((COUNT + 1))
|
|
if [ "$COUNT" == "1" ]; then
|
|
if [[ "$FILE" == *.tar.gz ]]; then
|
|
tar -xzf "$FILE"{{.TAR_OPTIONS}}
|
|
rm "$FILE"
|
|
elif [[ "$FILE" == *.zip ]]; then
|
|
unzip{{.ZIP_OPTIONS}} "$FILE"
|
|
rm "$FILE"
|
|
fi
|
|
else
|
|
{{.LOG_SCRIPT}} warn 'Multiple releases have possibly been downloaded'
|
|
fi
|
|
done < <(find . -type f)
|
|
ls -la
|
|
rm -rf CHANGELOG.md LICENSE LICENSE* README.md autocomplete completion* *.1 *.sh *_autocomplete contrib Changes manpages
|
|
mkdir -p {{.BIN_FOLDER}}
|
|
if [ "$(ls 2>/dev/null * | wc -l)" == "1" ]; then
|
|
{{.LOG_SCRIPT}} info 'Moving `{{.BIN_NAME}}` from its default location'
|
|
if ! mv * {{.BIN_FOLDER}}/{{.BIN_NAME}}; then
|
|
sudo mv * {{.BIN_FOLDER}}/{{.BIN_NAME}}
|
|
fi
|
|
else
|
|
if [ -d bin ]; then
|
|
cd bin
|
|
if [ "$(ls 2>/dev/null * | wc -l)" == "1" ]; then
|
|
{{.LOG_SCRIPT}} info 'Moving `{{.BIN_NAME}}` from the `bin` folder'
|
|
if ! mv * {{.BIN_FOLDER}}/{{.BIN_NAME}}; then
|
|
sudo mv * {{.BIN_FOLDER}}/{{.BIN_NAME}}
|
|
fi
|
|
else
|
|
{{.LOG_SCRIPT}} warn 'Unmatched binary named `{{.BIN_NAME}}` from `*.tar.gz` with a `bin` folder'
|
|
{{.COMMANDS}}
|
|
fi
|
|
cd ..
|
|
elif [ "$(ls 2>/dev/null {{.BIN_NAME}} | wc -l)" == "1" ]; then
|
|
{{.LOG_SCRIPT}} warn 'Moving `{{.BIN_NAME}}` from its default location, but, there are other files that are not moved'
|
|
if ! mv {{.BIN_NAME}} {{.BIN_FOLDER}}/{{.BIN_NAME}}; then
|
|
sudo mv {{.BIN_NAME}} {{.BIN_FOLDER}}/{{.BIN_NAME}}
|
|
fi
|
|
else
|
|
{{.LOG_SCRIPT}} warn 'Unmatched binary named `{{.BIN_NAME}}`'
|
|
{{.COMMANDS}}
|
|
fi
|
|
fi
|
|
- chmod +x {{.BIN_FOLDER}}/{{.BIN_NAME}}
|
|
status:
|
|
- '[ -f {{.BIN_FOLDER}}/{{.BIN_NAME}} ]'
|
|
|
|
install:gh:windows:
|
|
deps:
|
|
- :install:software:gh
|
|
vars:
|
|
BIN_FOLDER: C:/ProgramData/bin
|
|
PATTERNS:
|
|
-p "*x86_64-windows.zip" -p "*Windows_64-bit.tar.gz" -p "*windows-amd64*.zip" -p "*windows_amd64.zip" -p "*windows_amd64.tar.gz" -p "*windows-amd64*"
|
|
-p "*win-x64.zip" -p "*Windows-64bit.zip" -p "*64*windows-msvc.zip" -p "*windows_x64.zip" -p "*Windows_x86_64.tar.gz" -p "*win-*.exe" -p "*setup*.exe" -p "*Setup*.exe"
|
|
-p "*installer*64*.exe"
|
|
env:
|
|
TMPD:
|
|
sh: powershell '$rnd=Get-Random; while(! (Test-Path $env:tmp/tmp.$rnd) -and ! ($created)){$ret=(md $env:tmp/tmp.$rnd -Force).FullName; $created=$true}$ret'
|
|
cmds:
|
|
- gh release download -R "{{.PACKAGE}}" {{.PATTERNS}} {{.EXE_PATTERN}} -D "$TMPD"
|
|
- cd "$TMPD" && powershell '
|
|
$COUNT = 0;
|
|
$installer=$false;
|
|
Get-ChildItem -File | %{
|
|
$FILE = $_.Name;
|
|
$COUNT = $COUNT + 1;
|
|
if($COUNT -eq 1 ){
|
|
if (("$FILE" -like "*.tar.gz") -or ("$FILE" -like "*.zip")){
|
|
tar -xzf "$FILE"{{.TAR_OPTIONS}};
|
|
Remove-Item "$FILE" -Force;
|
|
}elseif((! $installer) -and (("$FILE" -like "*setup*64*.exe") -or ("$FILE" -like "*setup*.exe") -or ("$FILE" -like "*installer*64*.exe") -or ("$FILE" -like "*64*installer*.exe"))){
|
|
$installer=$true;
|
|
Start-Process "$FILE" /S -NoNewWindow -Wait -PassThru;
|
|
Remove-Item "$FILE" -Force;
|
|
}
|
|
}else{
|
|
Write-Host 'Multiple releases have possibly been downloaded' -ForegroundColor Yellow;
|
|
}
|
|
};
|
|
Get-ChildItem;
|
|
Remove-Item "CHANGELOG.md", "LICENSE", "LICENSE*", "README.md", "autocomplete", "completion*", "*_autocomplete", "contrib", "Changes" -EA SilentlyContinue -Force;
|
|
mkdir {{.BIN_FOLDER}} -EA SilentlyContinue;
|
|
pwd;
|
|
if($installer){
|
|
Write-Host '{{.BIN_NAME}} installed using the installer';
|
|
}elseif((Get-ChildItem -File | Measure).Count -eq 1){
|
|
Write-Host 'Moving {{.BIN_NAME}} from its default location';
|
|
Move-Item -Force * {{.BIN_FOLDER}}/{{.BIN_NAME}}.exe;
|
|
}else{
|
|
if(Test-Path .\bin){
|
|
cd bin;
|
|
if((Get-ChildItem -File | Measure).Count -eq 1){
|
|
Write-Host 'Moving {{.BIN_NAME}} from the bin folder';
|
|
Move-Item -Force * {{.BIN_FOLDER}}/{{.BIN_NAME}}.exe;
|
|
}else{
|
|
Write-Host 'Unmatched binary named {{.BIN_NAME}} from *.tar.gz with a bin folder' -ForegroundColor Yellow;
|
|
}
|
|
cd ..;
|
|
}elseif((Get-ChildItem -File {{.BIN_NAME}}* -ea SilentlyContinue | Measure).Count -gt 0){
|
|
Write-Host 'Moving {{.BIN_NAME}} from its default location, but, there are other files that are not moved' -ForeGroundColor Yellow;
|
|
Move-Item -Force {{.BIN_NAME}}*.exe {{.BIN_FOLDER}}/;
|
|
}else{
|
|
Write-Host 'Unmatched binary named {{.BIN_NAME}}' -ForegroundColor Yellow;
|
|
}
|
|
}'
|
|
status:
|
|
- '[ -f {{.BIN_FOLDER}}/{{.BIN_NAME}}.exe ]'
|
|
|
|
jitsi-meet-electron:
|
|
cmds:
|
|
- task: jitsi-meet-electron:{{OS}}
|
|
status:
|
|
- '[ -f /usr/local/bin/jitsi-meet-electron ]'
|
|
|
|
jitsi-meet-electron:darwin:
|
|
cmds:
|
|
- task: install:dmg
|
|
vars:
|
|
DMG_NAME: jitsi-meet
|
|
PACKAGE: jitsi/jitsi-meet-electron
|
|
|
|
jitsi-meet-electron:linux:
|
|
cmds:
|
|
- gh release download -R jitsi/jitsi-meet-electron -p "*.AppImage"
|
|
- mv *.AppImage /opt/jitsi-meet.AppImage
|
|
- chmod +x /opt/jitsi-meet.AppImage
|
|
- ln -s /opt/jitsi-meet.AppImage /usr/local/bin/jitsi-meet-electron
|
|
|
|
jitsi-meet-electron:windows:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: jitsi-meet
|
|
PACKAGE: jitsi/jitsi-meet-electron
|
|
|
|
jq:
|
|
cmds:
|
|
- task: jq:{{OS}}
|
|
status:
|
|
- '[ -f /usr/local/bin/jq ]'
|
|
|
|
jq:darwin:
|
|
cmds:
|
|
- gh release download -R stedolan/jq -p "jq-osx-amd64"
|
|
- mkdir -p /usr/local/bin && mv jq-osx-amd64 /usr/local/bin/jq
|
|
- chmod +x /usr/local/bin/jq
|
|
|
|
jq:linux:
|
|
cmds:
|
|
- gh release download -R stedolan/jq -p "jq-linux64"
|
|
- mkdir -p /usr/local/bin && mv jq-linux64 /usr/local/bin/jq
|
|
- chmod +x /usr/local/bin/jq
|
|
|
|
jq:windows:
|
|
cmds:
|
|
- gh release download -R stedolan/jq -p "jq-win64.exe"
|
|
- powershell 'md C:/ProgramData/bin -Force; Move-Item jq-win64.exe C:/ProgramData/bin/jq.exe -Force'
|
|
|
|
kubectx:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: kubectx
|
|
PACKAGE: ahmetb/kubectx
|
|
|
|
kubenav:
|
|
cmds:
|
|
- task: kubenav:{{OS}}
|
|
|
|
kubenav:darwin:
|
|
vars:
|
|
PATTERNS:
|
|
sh: |-
|
|
if [[ {{ARCH}} == "arm" ]]; then
|
|
echo "-p \"*darwin-arm64.zip\""
|
|
else
|
|
echo "-p \"*darwin-amd64.zip\""
|
|
fi
|
|
env:
|
|
TMP:
|
|
sh: mktemp -d
|
|
cmds:
|
|
- gh release download -R kubenav/kubenav {{.PATTERNS}} -D "$TMP"
|
|
- |
|
|
cd "$TMP"
|
|
FILE=$(find . -type f -iname *.zip)
|
|
unzip -q "$FILE"
|
|
rm "$FILE"
|
|
mv kubenav.app /Applications/
|
|
status:
|
|
- '[ -d /Applications/kubenav.app ]'
|
|
|
|
kubenav:linux:
|
|
vars:
|
|
PATTERNS:
|
|
sh: |-
|
|
if [[ {{ARCH}} == "arm" ]]; then
|
|
echo "-p \"*linux-arm64.zip\""
|
|
else
|
|
echo "-p \"*linux-amd64.zip\""
|
|
fi
|
|
env:
|
|
TMP:
|
|
sh: mktemp -d
|
|
cmds:
|
|
- gh release download -R kubenav/kubenav {{.PATTERNS}} -D "$TMP"
|
|
- |
|
|
cd "$TMP"
|
|
FILE=$(find . -type f -iname *.zip)
|
|
unzip -q "$FILE"
|
|
rm "$FILE"
|
|
mv kubenav /usr/local/bin
|
|
chmod +x /usr/local/bin/kubenav
|
|
status:
|
|
- '[ -f /usr/local/bin/kubenav ]'
|
|
|
|
kubenav:windows:
|
|
cmds:
|
|
- gh release download -R kubenav/kubenav -p "*windows-amd64.zip"
|
|
- tar -xf *windows-amd64.zip
|
|
- cmd /C move kubenav.exe C:/ProgramData/bin/kubenav.exe
|
|
- cmd /C del /Q *windows-amd64.zip
|
|
status:
|
|
- '[ -f C:/ProgramData/bin/kubenav.exe ]'
|
|
|
|
linuxkit:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: linuxkit
|
|
PACKAGE: linuxkit/linuxkit
|
|
|
|
manta:
|
|
cmds:
|
|
- task: manta:{{OS}}
|
|
|
|
manta:darwin:
|
|
cmds:
|
|
- task: install:dmg
|
|
vars:
|
|
DMG_NAME: Manta
|
|
PACKAGE: hql287/manta
|
|
|
|
manta:linux:
|
|
cmds:
|
|
- task: install:appimage
|
|
vars:
|
|
DEST_APPIMAGE_NAME: Manta
|
|
PACKAGE: hql287/manta
|
|
|
|
manta:windows:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: Manta
|
|
EXE_PATTERN: '*Setup*.exe'
|
|
|
|
PACKAGE: hql287/manta
|
|
mark-text:
|
|
cmds:
|
|
- task: marktext:{{OS}}
|
|
|
|
marktext:darwin:
|
|
cmds:
|
|
- echo 'Install Marktext using Homebrew.'
|
|
|
|
marktext:linux:
|
|
cmds:
|
|
- task: install:appimage
|
|
vars:
|
|
DEST_APPIMAGE_NAME: Marktext
|
|
PACKAGE: marktext/marktext
|
|
|
|
marktext:windows:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: marktext
|
|
PACKAGE: marktext/marktext
|
|
|
|
masscode:
|
|
cmds:
|
|
- task: masscode:{{OS}}
|
|
status:
|
|
- '[ -f /usr/local/bin/masscode ]'
|
|
|
|
masscode:darwin:
|
|
cmds:
|
|
- echo 'Install MassCode using Homebrew on MacOS.'
|
|
|
|
masscode:linux:
|
|
cmds:
|
|
- task: install:appimage
|
|
vars:
|
|
DEST_APPIMAGE_NAME: MassCode
|
|
PACKAGE: antonreshetov/masscode
|
|
|
|
masscode:windows:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: masscode
|
|
EXE_PATTERN: '*Setup*.exe'
|
|
|
|
PACKAGE: antonreshetov/masscode
|
|
mergestat:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: mergestat
|
|
PACKAGE: mergestat/mergestat
|
|
|
|
mkcert:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: mkcert
|
|
PACKAGE: FiloSottile/mkcert
|
|
|
|
motrix:
|
|
cmds:
|
|
- task: motrix:{{OS}}
|
|
|
|
motrix:darwin:
|
|
cmds:
|
|
- task: install:dmg
|
|
vars:
|
|
DMG_NAME: Motrix
|
|
PACKAGE: agalwood/motrix
|
|
|
|
motrix:linux:
|
|
cmds:
|
|
- task: install:appimage
|
|
vars:
|
|
DEST_APPIMAGE_NAME: Motrix
|
|
PACKAGE: agalwood/motrix
|
|
|
|
motrix:windows:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: Motrix
|
|
PACKAGE: agalwood/motrix
|
|
|
|
mqttx:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: mqttx
|
|
EXE_PATTERN: '*Setup*x64.exe'
|
|
|
|
PACKAGE: agalwood/mqttx
|
|
nebula:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: nebula
|
|
PACKAGE: slackhq/nebula
|
|
|
|
nfpm:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: nfpm
|
|
PACKAGE: goreleaser/nfpm
|
|
|
|
oq:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: oq
|
|
PACKAGE: Blacksmoke16/oq
|
|
|
|
osquery:
|
|
cmds:
|
|
- task: osquery:{{OS}}
|
|
|
|
osquery:darwin:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: osquery
|
|
PACKAGE: osquery/osquery
|
|
|
|
osquery:linux:
|
|
env:
|
|
TMP:
|
|
sh: mktemp -d
|
|
cmds:
|
|
- gh release download -R osquery/osquery -p "*linux_x86_64.tar.gz" -D "$TMP"
|
|
- |
|
|
cd "$TMP"
|
|
FILE=$(find . -type f)
|
|
tar -xzf "$FILE"
|
|
rm "$FILE"
|
|
cp -r * /
|
|
status:
|
|
- '[ -f /usr/bin/osqueryd]'
|
|
|
|
osquery:windows:
|
|
cmds:
|
|
- echo 'osquery is not available for Windows.'
|
|
|
|
peco:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: peco
|
|
PACKAGE: peco/peco
|
|
TAR_OPTIONS: ' --strip-components 1'
|
|
ZIP_OPTIONS: ' -j'
|
|
|
|
pretzel:
|
|
cmds:
|
|
- task: pretzel:{{OS}}
|
|
|
|
pretzel:darwin:
|
|
cmds:
|
|
- task: install:dmg
|
|
vars:
|
|
DMG_NAME: Pretzel
|
|
PACKAGE: amiechen/pretzel
|
|
|
|
pretzel:linux:
|
|
cmds:
|
|
- echo 'Pretzel is not available for Linux'
|
|
|
|
pretzel:windows:
|
|
cmds:
|
|
- echo 'Pretzel is not available for Windows'
|
|
|
|
q:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: q
|
|
PACKAGE: harelba/q
|
|
|
|
raindrop:
|
|
cmds:
|
|
- task: raindrop:{{OS}}
|
|
|
|
raindrop:darwin:
|
|
cmds:
|
|
- task: install:dmg
|
|
vars:
|
|
DMG_NAME: raindrop
|
|
PACKAGE: raindropio/raindrop
|
|
|
|
raindrop:linux:
|
|
cmds:
|
|
- echo 'Raindrop is not available for Linux'
|
|
|
|
raindrop:windows:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: raindrop
|
|
EXE_PATTERN: '*Installer.exe'
|
|
|
|
PACKAGE: raindropio/raindrop
|
|
responsively:
|
|
cmds:
|
|
- task: responsively:{{OS}}
|
|
|
|
responsively:darwin:
|
|
cmds:
|
|
- task: install:dmg
|
|
vars:
|
|
DMG_NAME: ResponsivelyApp
|
|
PACKAGE: responsively-org/responsively-app
|
|
|
|
responsively:linux:
|
|
cmds:
|
|
- task: install:appimage
|
|
vars:
|
|
DEST_APPIMAGE_NAME: Responsively
|
|
PACKAGE: responsively-org/responsively-app
|
|
|
|
responsively:windows:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: ResponsivelyApp
|
|
PACKAGE: responsively-org/responsively-app
|
|
|
|
runjs:
|
|
cmds:
|
|
- task: runjs:{{OS}}
|
|
|
|
runjs:darwin:
|
|
cmds:
|
|
- task: install:dmg
|
|
vars:
|
|
DMG_NAME: runjs
|
|
PACKAGE: lukehaas/RunJS
|
|
|
|
runjs:linux:
|
|
cmds:
|
|
- task: install:appimage
|
|
vars:
|
|
DEST_APPIMAGE_NAME: RunJS
|
|
PACKAGE: lukehaas/RunJS
|
|
|
|
runjs:windows:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: runjs
|
|
PACKAGE: lukehaas/RunJS
|
|
|
|
shfmt:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: shfmt
|
|
PACKAGE: mvdan/sh
|
|
|
|
ssl-proxy:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: ssl-proxy
|
|
PACKAGE: suyashkumar/ssl-proxy
|
|
|
|
switchhosts:
|
|
cmds:
|
|
- task: switchhosts:{{OS}}
|
|
|
|
switchhosts:darwin:
|
|
cmds:
|
|
- task: install:dmg
|
|
vars:
|
|
DMG_NAME: SwitchHosts
|
|
PACKAGE: oldj/SwitchHosts
|
|
|
|
switchhosts:linux:
|
|
cmds:
|
|
- task: install:appimage
|
|
vars:
|
|
DEST_APPIMAGE_NAME: SwitchHosts
|
|
PACKAGE: oldj/SwitchHosts
|
|
|
|
switchhosts:windows:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: SwitchHosts
|
|
PACKAGE: oldj/SwitchHosts
|
|
|
|
tabby:
|
|
cmds:
|
|
- task: tabby:{{OS}}
|
|
|
|
tabby:darwin:
|
|
cmds:
|
|
- task: install:dmg
|
|
vars:
|
|
DMG_NAME: tabby
|
|
PACKAGE: Eugeny/tabby
|
|
|
|
tabby:linux:
|
|
env:
|
|
TMP:
|
|
sh: mktemp -d
|
|
cmds:
|
|
- gh release download -R Eugeny/tabby -p "*linux-x64.tar.gz" -D "$TMP"
|
|
- |
|
|
cd "$TMP"
|
|
FILE=$(find . -type f)
|
|
mkdir Tabby
|
|
tar -xzf "$FILE" -C Tabby --strip-components 1
|
|
rm "$FILE"
|
|
mv Tabby /opt/
|
|
ln -s /opt/Tabby/tabby /usr/local/bin/tabby
|
|
status:
|
|
- '[ -f /usr/local/bin/tabby]'
|
|
|
|
tabby:windows:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: tabby
|
|
PACKAGE: jackd248/tabby
|
|
|
|
task:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: task
|
|
PACKAGE: go-task/task
|
|
|
|
temps:
|
|
cmds:
|
|
- task: temps:{{OS}}
|
|
|
|
temps:darwin:
|
|
env:
|
|
TMP:
|
|
sh: mktemp -d
|
|
cmds:
|
|
- gh release download -R jackd248/temps -p "*darwin-x64.zip" -D "$TMP"
|
|
- |
|
|
cd "$TMP"
|
|
unzip -q "Temps-darwin-x64.zip"
|
|
rm "Temps-darwin-x64.zip"
|
|
mv Temps-darwin-x64/*.app /Applications/
|
|
status:
|
|
- '[ -d /Applications/Temps.app ]'
|
|
|
|
temps:linux:
|
|
env:
|
|
TMP:
|
|
sh: mktemp -d
|
|
cmds:
|
|
- gh release download -R jackd248/temps -p "*linux-x64.zip" -D "$TMP"
|
|
- |
|
|
cd "$TMP"
|
|
unzip -q "Temps-linux-x64.zip"
|
|
rm "Temps-linux-x64.zip"
|
|
mv Temps-linux-x64 /opt/
|
|
ln -s /opt/Temps-linux-x64/Temps /usr/local/bin/Temps
|
|
status:
|
|
- '[ -f /usr/local/bin/Temps]'
|
|
|
|
temps:windows:
|
|
cmds:
|
|
- echo 'Temps does not work on Windows'
|
|
|
|
tokei:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: tokei
|
|
PACKAGE: XAMPPRocky/tokei
|
|
|
|
transfer:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: transfer
|
|
PACKAGE: rinetd/transfer
|
|
|
|
trivy:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: trivy
|
|
PACKAGE: aquasecurity/trivy
|
|
|
|
udemy-downloader-gui:
|
|
cmds:
|
|
- task: udemy-downloader-gui:{{OS}}
|
|
|
|
udemy-downloader-gui:darwin:
|
|
cmds:
|
|
- task: install:dmg
|
|
vars:
|
|
DMG_NAME: Udeler
|
|
PACKAGE: FaisalUmair/udemy-downloader-gui
|
|
|
|
udemy-downloader-gui:linux:
|
|
cmds:
|
|
- task: install:appimage
|
|
vars:
|
|
DEST_APPIMAGE_NAME: UdemyDownloadedGUI
|
|
PACKAGE: FaisalUmair/udemy-downloader-gui
|
|
|
|
udemy-downloader-gui:windows:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: udemy-downloader-gui
|
|
PACKAGE: FaisalUmair/udemy-downloader-gui
|
|
|
|
up:
|
|
cmds:
|
|
- task: up:{{OS}}
|
|
status:
|
|
- '[ -f /usr/local/bin/up ]'
|
|
|
|
up:darwin:
|
|
cmds:
|
|
- gh release download -R akavel/up -p "up-darwin"
|
|
- mkdir -p /usr/local/bin && mv up-darwin /usr/local/bin/up
|
|
- chmod +x /usr/local/bin/up
|
|
|
|
up:linux:
|
|
cmds:
|
|
- gh release download -R akavel/up -p "up"
|
|
- mkdir -p /usr/local/bin && mv up /usr/local/bin/up
|
|
- chmod +x /usr/local/bin/up
|
|
|
|
up:windows:
|
|
cmds:
|
|
- echo 'up is not available for Windows from GitHub Releases'
|
|
|
|
ventoy:
|
|
cmds:
|
|
- task: ventoy:{{OS}}
|
|
status:
|
|
- '[ -f /opt/ventoy/VentoyGUI.x86_64 ]'
|
|
|
|
ventoy:darwin:
|
|
cmds:
|
|
- echo "Ventoy is not available for MacOS"
|
|
|
|
ventoy:linux:
|
|
cmds:
|
|
- gh release download -R ventoy/Ventoy -p "*linux.tar.gz"
|
|
- ls *linux.tar.gz | xargs tar -xvf
|
|
- rm -f *.tar.gz
|
|
- mkdir -p /opt/ventoy && mv ./ventoy-* /opt/ventoy/
|
|
|
|
ventoy:windows:
|
|
cmds:
|
|
- gh release download -R ventoy/ventoy -p "ventoy_windows_amd64.exe"
|
|
- powershell 'md C:/ProgramData/bin -Force; Move-Item ventoy_windows_amd64.exe C:/ProgramData/bin/ventoy.exe -Force'
|
|
|
|
webtorrent:
|
|
cmds:
|
|
- task: webtorrent:{{OS}}
|
|
|
|
webtorrent:darwin:
|
|
cmds:
|
|
- task: install:dmg
|
|
vars:
|
|
DMG_NAME: WebTorrent
|
|
PACKAGE: webtorrent/webtorrent-desktop
|
|
|
|
webtorrent:linux:
|
|
env:
|
|
TMP:
|
|
sh: mktemp -d
|
|
cmds:
|
|
- gh release download -R webtorrent/webtorrent-desktop -p "*linux-x64.zip" -D "$TMP"
|
|
- |
|
|
cd "$TMP"
|
|
FILE=$(find . -type f)
|
|
unzip -q $FILE
|
|
rm "$FILE"
|
|
mv WebTorrent-linux-x64 /opt/
|
|
ln -s /opt/WebTorrent-linux-x64/WebTorrent /usr/local/bin/webtorrent
|
|
status:
|
|
- '[ -f /usr/local/bin/webtorrent]'
|
|
|
|
webtorrent:windows:
|
|
cmds:
|
|
- task: install:gh
|
|
vars:
|
|
BIN_NAME: WebTorrent
|
|
PACKAGE: webtorrent/webtorrent-desktop
|
|
|
|
whaler:
|
|
cmds:
|
|
- task: whaler:{{OS}}
|
|
status:
|
|
- '[ -f /usr/local/bin/whaler ]'
|
|
|
|
whaler:darwin:
|
|
cmds:
|
|
- gh release download -R P3GLEG/whaler -p "Whaler_MacOS"
|
|
- mkdir -p /usr/local/bin && mv Whaler_MacOS /usr/local/bin/whaler
|
|
- chmod +x /usr/local/bin/whaler
|
|
|
|
whaler:linux:
|
|
cmds:
|
|
- gh release download -R P3GLEG/whaler -p "Whaler_linux_amd64"
|
|
- mkdir -p /usr/local/bin && mv Whaler_linux_amd64 /usr/local/bin/whaler
|
|
- chmod +x /usr/local/bin/whaler
|
|
|
|
whaler:windows:
|
|
cmds:
|
|
- gh release download -R P3GLEG/whaler -p "Whaler_windows.exe"
|
|
- powershell 'md C:/ProgramData/bin -Force; Move-Item Whaler_windows.exe C:/ProgramData/bin/whaler.exe -Force'
|
|
|
|
yq:
|
|
cmds:
|
|
- task: yq:{{OS}}
|
|
status:
|
|
- '[ -f /usr/local/bin/yq ]'
|
|
|
|
yq:darwin:
|
|
cmds:
|
|
- gh release download -R mikefarah/yq -p "yq_darwin_amd64"
|
|
- mkdir -p /usr/local/bin && mv yq_darwin_amd64 /usr/local/bin/yq
|
|
- chmod +x /usr/local/bin/yq
|
|
|
|
yq:linux:
|
|
cmds:
|
|
- gh release download -R mikefarah/yq -p "yq_linux_amd64"
|
|
- mkdir -p /usr/local/bin && mv yq_linux_amd64 /usr/local/bin/yq
|
|
- chmod +x /usr/local/bin/yq
|
|
|
|
yq:windows:
|
|
cmds:
|
|
- gh release download -R mikefarah/yq -p "yq_windows_amd64.exe"
|
|
- powershell 'md C:/ProgramData/bin -Force; Move-Item yq_windows_amd64.exe C:/ProgramData/bin/yq.exe -Force'
|