7 Commits

Author SHA1 Message Date
73b90938fa debug multi tagging
Some checks failed
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/next Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful
ci/woodpecker/tag/test Pipeline was successful
ci/woodpecker/tag/next Pipeline was successful
ci/woodpecker/tag/deploy Pipeline failed
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/deploy Pipeline was successful
ci/woodpecker/pr/next Pipeline was successful
2023-09-06 16:35:34 +02:00
3791bce7a8 add docker hub to deploy
Some checks failed
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/next Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful
ci/woodpecker/tag/test Pipeline was successful
ci/woodpecker/tag/next Pipeline was successful
ci/woodpecker/tag/deploy Pipeline failed
2023-09-06 16:29:04 +02:00
a1a4c2b1e9 Update quay.io/linuxserver.io/code-server Docker tag to v4.16.1 (#59)
All checks were successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/next Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful
ci/woodpecker/tag/test Pipeline was successful
ci/woodpecker/tag/next Pipeline was successful
ci/woodpecker/tag/deploy Pipeline was successful
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [quay.io/linuxserver.io/code-server](https://github.com/linuxserver/docker-code-server) | final | minor | `4.15.0` -> `4.16.1` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC40MC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNDAuMiJ9-->

Reviewed-on: CodeServer/arkanum#59
Co-authored-by: renovate-bot <renovate@ocram85.com>
Co-committed-by: renovate-bot <renovate@ocram85.com>
2023-08-03 09:54:32 +02:00
e700e7b477 Extends arkanum command and option structure (#62)
All checks were successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/next Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful
#### 📖 Summary

- adds nested arguments for arkanum:

```
arkanum <flag> COMMAND OPTION <ARGUMENT>
```

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

| Choice | Test Method       |
| :----: | :-----------      |
|      | CI pipeline tests |
|        | Custom test       |
|        | No test plan      |

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

- fixes #61

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: CodeServer/arkanum#62
2023-08-03 09:51:02 +02:00
26754e83f9 fix pwsh install when called as first command (#60)
All checks were successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/next Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful
#### 📖 Summary

<!-- Provide a summary of your changes. Describe the why and not how. -->

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

| Choice | Test Method       |
| :----: | :-----------      |
|      | CI pipeline tests |
|        | Custom test       |
|        | No test plan      |

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

<!-- A place for additional detail notes. -->

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: CodeServer/arkanum#60
2023-08-01 09:14:21 +02:00
7fe6062a8f Update quay.io/linuxserver.io/code-server Docker tag to v4.15.0 (#57)
All checks were successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/next Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [quay.io/linuxserver.io/code-server](https://github.com/linuxserver/docker-code-server) | final | minor | `4.14.1` -> `4.15.0` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC40MC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNDAuMiJ9-->

Co-authored-by: OCram85 <ocram85@noreply.local>
Reviewed-on: CodeServer/arkanum#57
Co-authored-by: renovate-bot <renovate@ocram85.com>
Co-committed-by: renovate-bot <renovate@ocram85.com>
2023-07-22 16:40:45 +02:00
d18eac86bb fix missing volta command (#58)
All checks were successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/next Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful
#### 📖 Summary

- reload profil

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

| Choice | Test Method       |
| :----: | :-----------      |
|      | CI pipeline tests |
|        | Custom test       |
|        | No test plan      |

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

<!-- A place for additional detail notes. -->

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: CodeServer/arkanum#58
2023-07-22 16:37:07 +02:00
5 changed files with 175 additions and 74 deletions

View File

@ -23,14 +23,20 @@ pipeline:
buildTag: buildTag:
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
settings: settings:
registry: gitea.ocram85.com repo: gitea.ocram85.com/codeserver/arkanum, ocram85/arkanum
repo: gitea.ocram85.com/codeserver/arkanum
dockerfile: Dockerfile dockerfile: Dockerfile
auto_tag: true auto_tag: true
logins:
- registry: https://gitea.ocram85.com
username: username:
from_secret: gitea_user from_secret: gitea_user
password: password:
from_secret: gitea_passwd from_secret: gitea_passwd
- registry: https://index.docker.io/v1/
username:
from_secret: docker_user
password:
from_secret: docker_passwd
build_args: build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}} - VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG} - TAG=${CI_COMMIT_TAG}

View File

@ -1,4 +1,4 @@
FROM quay.io/linuxserver.io/code-server:4.14.1 FROM quay.io/linuxserver.io/code-server:4.16.1
#LABEL build_version="" #LABEL build_version=""
LABEL maintainer="OCram85" LABEL maintainer="OCram85"
@ -40,7 +40,7 @@ RUN \
chmod +x /etc/bash_completion.d/arkanum-completion && \ chmod +x /etc/bash_completion.d/arkanum-completion && \
echo 'source /etc/bash_completion.d/arkanum-completion' >> /etc/bash.bashrc && \ echo 'source /etc/bash_completion.d/arkanum-completion' >> /etc/bash.bashrc && \
touch "$HOME/enable_motd" && \ touch "$HOME/enable_motd" && \
echo "if [[ ! -e \"$HOME/data/User/settings.json\" ]]; then arkanum --install-extensions && arkanum --reset-codesetting && \ echo "if [[ ! -e \"$HOME/data/User/settings.json\" ]]; then arkanum config install-extensions && arkanum config reset-codesettings && \
echo -e \"🧙 \\e[32markanum\\e[0m: Please reload Arkanum to finalize the setup...\" && read foo; fi" >> /etc/bash.bashrc && \ echo -e \"🧙 \\e[32markanum\\e[0m: Please reload Arkanum to finalize the setup...\" && read foo; fi" >> /etc/bash.bashrc && \
echo "if [[ -e \"$HOME/enable_motd\" ]]; then echo -e \"Use 🧙 \\e[32m'arkanum'\\e[0m to install missing runtimes like dotnet or NodeJs.\"; fi" >> /etc/bash.bashrc echo "if [[ -e \"$HOME/enable_motd\" ]]; then echo -e \"Use 🧙 \\e[32m'arkanum'\\e[0m to install missing runtimes like dotnet or NodeJs.\"; fi" >> /etc/bash.bashrc

View File

@ -170,26 +170,39 @@ Added `arkanum` to help installing common runtimes in container.
This helps reducing the image size. This helps reducing the image size.
``` ```
🧙 arkanum ✨🌌☄️💥 is used to install optional runtimes for developing in a 🧙 arkanum ✨🌌☄️💥 is used to install optional tools for developing in a
code-server container environment. code-server container environment.
Syntax: arkanum RUNTIME ... Syntax: arkanum <flags> COMMAND OPTION ARGUMENT
RUNTIME [docker-cli|dotnet|gitea|golang|nodejs|volta|powershell] COMMAND
docker-cli Installs the latest docker-ce cli. config The config command is used to modify arkanum itself.
git The git command is a wrapper for git helpers.
install The install command is used to add different tools
help Shows this help text.
OPTION
config:
disable-motd Disables hint in new bash terminal.
install extensions Installs predefined recommended extensions.
reset-codesettings Sets VS Code user setting with basic (Fira Code).
git:
setup Takes two arguments to setup the git client:
1) Username
2) Email address
install:
docker-cli Installs the latest docker-cli.
dotnet Installs latest LTS dotnet core sdk + runtime. dotnet Installs latest LTS dotnet core sdk + runtime.
gitea Installs gitea tools like the changelog generator. gitea Installs gitea tools like the changelog generator.
golang Installs golang 1.19.3. golang Installs golang 1.19.3.
nodejs Installs latest NodeJs LTS version using Volta. nodejs Installs latest NodeJs LTS version using Volta.
volta Installs Volta as NodeJs version manager. volta Installs Volta as NodeJS version manager.
powershell Installs latest PowerShell LTS version. powershell Installs latest PowerShell LTS version.
--disable-motd Disables hint in new bash terminal.
--install-extensions Installs predefined recommended extensions.
--reset-codesetting Sets VS Code user setting with basic (Fira Code).
-h Prints this help message.
Example 1: arkanum dotnet Example 1: arkanum git setup "my-name" "my-email"
Example 2: arkanum golang nodejs Example 2: arkanum install golang
Example 3: arkanum --disable-motd Example 3: arkanum config disable-motd
``` ```
### 📝 Fira Code (NerdFont patched) ### 📝 Fira Code (NerdFont patched)

118
arkanum
View File

@ -4,11 +4,28 @@ set -e
function showHelp() { function showHelp() {
cat << HELP cat << HELP
🧙 arkanum ✨🌌☄️💥 is used to install optional runtimes for developing in a 🧙 arkanum ✨🌌☄️💥 is used to install optional tools for developing in a
code-server container environment. code-server container environment.
Syntax: arkanum RUNTIME ... Syntax: arkanum <flags> COMMAND OPTION ARGUMENT
RUNTIME [docker-cli|dotnet|gitea|golang|nodejs|volta|powershell] COMMAND
config The config command is used to modify arkanum itself.
git The git command is a wrapper for git helpers.
install The install command is used to add different tools
help Shows this help text.
OPTION
config:
disable-motd Disables hint in new bash terminal.
install extensions Installs predefined recommended extensions.
reset-codesettings Sets VS Code user setting with basic (Fira Code).
git:
setup Takes two arguments to setup the git client:
1) Username
2) Email address
install:
docker-cli Installs the latest docker-cli. docker-cli Installs the latest docker-cli.
dotnet Installs latest LTS dotnet core sdk + runtime. dotnet Installs latest LTS dotnet core sdk + runtime.
gitea Installs gitea tools like the changelog generator. gitea Installs gitea tools like the changelog generator.
@ -16,14 +33,10 @@ function showHelp() {
nodejs Installs latest NodeJs LTS version using Volta. nodejs Installs latest NodeJs LTS version using Volta.
volta Installs Volta as NodeJS version manager. volta Installs Volta as NodeJS version manager.
powershell Installs latest PowerShell LTS version. powershell Installs latest PowerShell LTS version.
--disable-motd Disables hint in new bash terminal.
--install-extensions Installs predefined recommended extensions.
--reset-codesetting Sets VS Code user setting with basic (Fira Code).
-h Prints this help message.
Example 1: arkanum dotnet Example 1: arkanum git setup "my-name" "my-email"
Example 2: arkanum golang nodejs Example 2: arkanum install golang
Example 3: arkanum --disable-motd Example 3: arkanum config disable-motd
HELP HELP
} }
@ -31,6 +44,8 @@ function disableMotd() {
if [[ -e "$HOME/enable_motd" ]]; then if [[ -e "$HOME/enable_motd" ]]; then
say "Disabling 'arkanum' motd..." "disableMotd" say "Disabling 'arkanum' motd..." "disableMotd"
rm -f "$HOME/enable_motd" rm -f "$HOME/enable_motd"
else
sayW "Arkanum Motd already disabled" "disableMotd"
fi fi
} }
@ -149,11 +164,14 @@ function instNodeJS2() {
function instVolta() { function instVolta() {
say "Installing Volta as NodeJS version manager..." "Volta" say "Installing Volta as NodeJS version manager..." "Volta"
curl -#fSl https://get.volta.sh | bash curl -#fSl https://get.volta.sh | bash
# shellcheck disable=SC1090
source ~/.profile
say "done." "Volta" say "done." "Volta"
} }
function instPwsh() { function instPwsh() {
say "Installing PowerShell requirements..." "PowerShell" say "Installing PowerShell requirements..." "PowerShell"
sudo -E apt-get update > /dev/null
sudo -E apt-get install --no-install-recommends -y \ sudo -E apt-get install --no-install-recommends -y \
apt-transport-https \ apt-transport-https \
software-properties-common software-properties-common
@ -241,51 +259,79 @@ EOF
say "done." "VSCode" say "done." "VSCode"
} }
function setGitConfig() {
if [[ "$#" != "2" ]]; then
sayE "Invalid arguments given. Please provide '<user>' and 'email'!" "Git"
exit 1
fi
say "Setting global git config..." "Git"
git config --global user.name "$1"
git config --global user.email "$2"
say "Returning global config:" "Git"
git config --list --global
}
function main() { function main() {
if [[ "$#" == "0" ]]; then if [[ "$#" == "0" ]]; then
showHelp showHelp
exit 0 exit 0
fi fi
for i in "$@"; do # Command filter
if [[ "$1" == "-h" ]]; then if [[ "$1" =~ ^help|-h|--h$ ]]; then
showHelp showHelp
exit 0 exit 0
elif [[ "$i" == "docker-cli" ]]; then
instDockerCLI
elif [[ "$i" == "dotnet" ]]; then
instDotNet
elif [[ "$i" == "golang" ]]; then
instGoLang "$2"
elif [[ "$i" == "nodejs" ]]; then
if [[ "$2" == "--legacy" ]]; then
sayW "Installing NodeJS with legacy function" "Arkanum"
instNodeJs
else
instVolta
instNodeJS2
fi fi
elif [[ "$i" == "volta" ]]; then
instVolta # CONFIG command
elif [[ "$i" == "powershell" ]]; then if [[ "$1" == "config" ]]; then
instPwsh # disable-motd option
elif [[ "$i" == "gitea" ]]; then if [[ "$2" == "disable-motd" ]]; then
instGiteaTools
elif [[ "$i" == "--disable-motd" ]]; then
disableMotd disableMotd
exit 0 exit 0
elif [[ "$i" == "--install-extensions" ]]; then # install-extensions option
elif [[ "$2" == "install-extensions" ]]; then
instCodeExtension instCodeExtension
exit 0 exit 0
elif [[ "$i" == "--reset-codesetting" ]]; then # reset-codesetting option
elif [[ "$2" == "reset-codesettings" ]]; then
setCodeSettings setCodeSettings
exit 0 exit 0
else else
sayE "Unknown parameter value given!($i)." sayE "Unknown option ($2) given for command 'config'!"
fi
# GIT command
elif [[ "$1" == "git" ]]; then
# setup option
if [[ "$2" == "setup" ]]; then
setGitConfig "$3" "$4"
else
sayE "Unknown option ($2) given for command 'git'!"
fi
# INSTALL command
elif [[ "$1" == "install" ]]; then
# docker-cli option
if [[ "$2" == "docker-cli" ]]; then
instDockerCLI
elif [[ "$2" == "dotnet" ]]; then
instDotNet
elif [[ "$2" == "golang" ]]; then
instGoLang "$3"
elif [[ "$2" == "nodejs" ]]; then
instVolta
instNodeJs
elif [[ "$2" == "volta" ]]; then
instVolta
elif [[ "$2" == "powershell" ]]; then
instPwsh
elif [[ "$2" == "gitea" ]]; then
instGiteaTools
fi
else
sayE "Unknown parameter value given!($1)."
showHelp showHelp
exit 1 exit 1
fi fi
done
} }
main "$@" main "$@"

View File

@ -1,3 +1,39 @@
#!/bin/bash #!/bin/env bash
complete -W "--disable-motd --install-extensions --reset-codesetting docker-cli dotnet gitea golang nodejs volta powershell -h" arkanum #complete -W "--disable-motd --install-extensions --reset-codesetting docker-cli dotnet gitea golang nodejs volta powershell -h" arkanum
function _command_completions() {
local cur prev
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
case ${COMP_CWORD} in
1)
# shellcheck disable=2207,SC2086
COMPREPLY=($(compgen -W "config git install help" -- ${cur}))
;;
2)
case ${prev} in
config)
# shellcheck disable=2207,SC2086
COMPREPLY=($(compgen -W "disable-motd install-extensions reset-codesettings" -- ${cur}))
;;
git)
# shellcheck disable=2207,SC2086
COMPREPLY=($(compgen -W "setup" -- ${cur}))
;;
install)
# shellcheck disable=2207,SC2086
COMPREPLY=($(compgen -W "docker-cli dotnet golang nodejs volta powershell gitea" -- ${cur}))
;;
help)
;;
esac
;;
*)
COMPREPLY=()
;;
esac
}
complete -F _command_completions arkanum