Updating clear script release
This commit is contained in:
21
.gitea/workflows/auto-rebase.yml
Normal file
21
.gitea/workflows/auto-rebase.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
name: Rebase Remote Branches
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- dev
|
||||
|
||||
# Disable multiple workflows at the same time
|
||||
concurrency:
|
||||
group: ${{ github.head_ref || github.ref_name }}
|
||||
|
||||
jobs:
|
||||
rebase-branches:
|
||||
runs-on: skydust-runner
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Rebase
|
||||
uses: https://gitea.skydust.fr/actions/auto-rebase@main
|
||||
64
.gitea/workflows/production.yml
Normal file
64
.gitea/workflows/production.yml
Normal file
@@ -0,0 +1,64 @@
|
||||
# This defines the name of the workflow as it will appear in the "Actions" tab of the Gitea repository.
|
||||
name: Production deployment
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
env:
|
||||
HOMEBREW_REPO: "git@gitea.skydust.fr:Skydust/homebrew-clearscript.git"
|
||||
|
||||
jobs:
|
||||
build-docker:
|
||||
name: Building and pushing
|
||||
runs-on: skydust-runner
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- name: Check out repo's default branch
|
||||
uses: actions/checkout@v4
|
||||
- name: Getting version
|
||||
uses: https://gitea.skydust.fr/actions/get-version@main
|
||||
- name: Update package version
|
||||
run: |
|
||||
log_info "Updating version in version.sh to $(yellow)$NEW_VERSION"
|
||||
sed -Ei "s|^(Version=\")[^\"]*|\1${NEW_VERSION}" version.sh
|
||||
cat version.sh
|
||||
- name: TARRRRRRRR and push
|
||||
run: |
|
||||
PACKAGE_NAME="clearscript-v${NEW_VERSION}"
|
||||
log_info "Packaging app into $(yellow)${PACKAGE_NAME}"
|
||||
tar -zcf "${PACKAGE_NAME}.tar.gz" Clear.sh version.sh README.md
|
||||
|
||||
log_info "Sending package"
|
||||
PKG_URL="${GITHUB_SERVER_URL}/api/packages/Skydust/generic/brew-clearscript/${NEW_VERSION}/package.tar.gz"
|
||||
curl --user "MilaBot:${{ secrets.CI_TOKEN }}" \
|
||||
--upload-file "${PACKAGE_NAME}.tar.gz" \
|
||||
"${PKG_URL}"
|
||||
|
||||
echo "PKG_SHA=$(sha256 -q "${PACKAGE_NAME}.tar.gz" | tr -d '\n')" >> $GITEA_ENV
|
||||
echo "PKG_URL=${PKG_URL}" >> $GITEA_ENV
|
||||
- name: Update homebrew repo
|
||||
run: |
|
||||
git config user.email "release@example.com"
|
||||
git config user.name "Release"
|
||||
|
||||
log_info "Overriding git repository auth with PAT"
|
||||
repo_url="$(git remote get-url origin)"
|
||||
repo_url="${repo_url#https://}" # Remove HTTPS
|
||||
GIT_NEW_URL="https://MilaBot:${{ secrets.CI_TOKEN }}@${repo_url}.git"
|
||||
git remote set-url origin "$GIT_NEW_URL"
|
||||
git config --local --unset http.https://${GITHUB_SERVER_URL#https://}/.extraheader
|
||||
|
||||
log_info "Shallow cloning the brew repo $(yellow)${HOMEBREW_REPO}"
|
||||
git clone --depth 1 "${HOMEBREW_REPO}" ./brew_repo/
|
||||
cd brew_repo/
|
||||
|
||||
log_info "Modifying brew version"
|
||||
sed -Ei "s|(url \")[^\"]*|\1${PKG_URL}" Formula/clearscript.rb
|
||||
sed -Ei "s|(sha256 \")[^\"]*|\1${PKG_SHA}" Formula/clearscript.rb
|
||||
cat Formula/clearscript.rb
|
||||
|
||||
log_info "Pushing the new version"
|
||||
git add Formula
|
||||
git push
|
||||
23
.gitea/workflows/release.yml
Normal file
23
.gitea/workflows/release.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
name: Release
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
semver:
|
||||
type: choice
|
||||
description: Choose the semver
|
||||
options:
|
||||
- "Major - Incompatible API changes"
|
||||
- "Minor - Adding functionality in a backward compatible manner"
|
||||
- "Patch - Backward compatible bug fixes"
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: Release
|
||||
runs-on: skydust-runner
|
||||
steps:
|
||||
- name: Release
|
||||
uses: https://gitea.skydust.fr/actions/create-release@main
|
||||
with:
|
||||
semver: ${{ inputs.semver }}
|
||||
token: ${{ secrets.CI_TOKEN }}
|
||||
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
.idea
|
||||
.DS_Store
|
||||
32
Clear.sh
32
Clear.sh
@@ -1,5 +1,5 @@
|
||||
#!/bin/zsh
|
||||
Version="2.0"
|
||||
source "./version.sh"
|
||||
|
||||
# ------ COLOR SETUP ------ #
|
||||
# Reset
|
||||
@@ -79,7 +79,7 @@ addJob() {
|
||||
|
||||
jobSteps["$name"]="$step"
|
||||
|
||||
if [[ -z $jobCategories["$category"] ]]; then
|
||||
if [[ -z "${jobCategories["$category"]}" ]]; then
|
||||
jobCategories["$category"]="$name"
|
||||
else
|
||||
jobCategories["$category"]+="\n$name"
|
||||
@@ -150,8 +150,8 @@ addClearedVal() {
|
||||
clearFolderNew() {
|
||||
local folderPath="$2"
|
||||
local clearableName="$1"
|
||||
|
||||
jobTitle "$clearableName"
|
||||
|
||||
jobTitle "$clearableName"
|
||||
echo "Checking for ${ClearableNameColor}${clearableName}${Color_Off}'s cache folder..."
|
||||
|
||||
if [ -n "$(find "${folderPath}" -mindepth 1 -maxdepth 1 2>/dev/null)" ];
|
||||
@@ -177,14 +177,16 @@ runJobs() {
|
||||
# Elevate permissions...
|
||||
asksudo
|
||||
|
||||
# shellcheck disable=SC2296
|
||||
for category in ${(k)jobCategories}; do
|
||||
echo
|
||||
echo "${BarColor}[ --====-- $CategoryColor$category${BarColor} --====-- ]${Color_Off}"
|
||||
|
||||
echo "$jobCategories[$category]" | while IFS= read -r jobName; do
|
||||
echo "${jobCategories[$category]}" | while IFS= read -r jobName; do
|
||||
if [[ "${jobEnabled["\"$jobName\""]}" = true ]]; then
|
||||
local step=$jobSteps["$jobName"]
|
||||
local step=${jobSteps["$jobName"]}
|
||||
|
||||
# shellcheck disable=SC2296
|
||||
if print -l ${(ok)functions} | grep -q "^$step$"; then
|
||||
jobTitle "$jobName"
|
||||
# Running the custom job function
|
||||
@@ -207,6 +209,7 @@ read_config_file() {
|
||||
fi
|
||||
|
||||
while IFS= read -r line; do
|
||||
# shellcheck disable=SC2296
|
||||
parts=(${(s/=/)line})
|
||||
|
||||
configKey=${parts[1]}
|
||||
@@ -220,6 +223,7 @@ read_config_file() {
|
||||
fi
|
||||
done < $config_filepath
|
||||
|
||||
# shellcheck disable=SC2296
|
||||
for job in ${(k)jobSteps}; do
|
||||
# If the job doesn't exist in the config file then it should be added in it
|
||||
if [[ -z "${jobEnabled["$job"]}" ]]; then
|
||||
@@ -235,6 +239,7 @@ configure() {
|
||||
typeset -A optionsToJob
|
||||
|
||||
local all_options=()
|
||||
# shellcheck disable=SC2296
|
||||
for job in ${(k)jobSteps}; do
|
||||
local current_option=""
|
||||
if [[ "${jobEnabled["$job"]}" = true ]]; then
|
||||
@@ -287,7 +292,7 @@ gradleJavaClear() {
|
||||
if [ -n "$(ls -d ${GradleJarFiles}/jars-* 2>/dev/null)" ];
|
||||
then
|
||||
echo "${FoundText}"
|
||||
|
||||
|
||||
sizeToClear="$(du -sck ${GradleJarFiles}/jars-* | grep 'total' | cut -f1)"
|
||||
|
||||
getHumanReadableValue readableSize $sizeToClear
|
||||
@@ -306,7 +311,7 @@ deleteOldestInstallFusion360() {
|
||||
echo "Clearing outdated Fusion360 versions"
|
||||
|
||||
local targetDirectory="${HOME}/Library/Application Support/Autodesk/webdeploy/production"
|
||||
|
||||
|
||||
if [[ -d "$targetDirectory" ]]
|
||||
then
|
||||
local linkToFind="$(readlink ${HOME}/Library/Application\ Support/Autodesk/webdeploy/production/Autodesk\ Fusion\ 360.app)"
|
||||
@@ -314,7 +319,7 @@ deleteOldestInstallFusion360() {
|
||||
|
||||
echo "Target Directory is '""$targetDirectory""'"
|
||||
echo "Currently used Fusion360 folder: ${extractedFolderName}"
|
||||
|
||||
|
||||
if [ "$extractedFolderName" = "" ] || [ "$extractedFolderName" = "." ];
|
||||
then
|
||||
echo "${NotFoundColor}Unable to find the right folder${Color_Off}"
|
||||
@@ -330,18 +335,18 @@ deleteOldestInstallFusion360() {
|
||||
getHumanReadableValue readableSize $toDelete
|
||||
|
||||
echo "Deleting folders... ${SizeColor}(${readableSize})${Color_Off}"
|
||||
|
||||
|
||||
# Updating cleared
|
||||
addClearedVal cleared $toDelete
|
||||
|
||||
# Clearing folders w/ progression
|
||||
find "$targetDirectory" -mindepth 1 -maxdepth 1 ! -name "$extractedFolderName" ! -name "Autodesk Fusion 360.app" ! -name ".DS_Store" -exec sh -c 'sudo rm -rv "$0" | pv -l -s $(du -a "$0" | wc -l)> /dev/null' "{}" \;
|
||||
|
||||
|
||||
echo "Done!"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "${ClearableNameColor}Fusion360${Color_Off}'s folder ${NotFoundColor}not found${Color_Off}."
|
||||
echo "${ClearableNameColor}Fusion360${Color_Off}'s folder ${NotFoundColor}not found${Color_Off}."
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -356,7 +361,7 @@ clearDocker() {
|
||||
fi
|
||||
docker system prune --all --force
|
||||
else
|
||||
echo "${ClearableNameColor}Docker${Color_Off} was ${NotFoundColor}not found${Color_Off}."
|
||||
echo "${ClearableNameColor}Docker${Color_Off} was ${NotFoundColor}not found${Color_Off}."
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -385,6 +390,7 @@ echo "${BarColor}==========================================${Color_Off}"
|
||||
read_config_file
|
||||
|
||||
while true; do
|
||||
# shellcheck disable=SC2168
|
||||
local response
|
||||
|
||||
print -n "Want to configure? (y/N): "
|
||||
|
||||
3
version.sh
Normal file
3
version.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/zsh
|
||||
# shellcheck disable=SC2034
|
||||
Version="2.0"
|
||||
Reference in New Issue
Block a user