4 Commits

Author SHA1 Message Date
173ec41f6d prepare release 1.0.0 (#69)
All checks were successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful
ci/woodpecker/tag/test Pipeline was successful
ci/woodpecker/tag/deploy Pipeline was successful
#### 📖 Summary

- update changelog

#### 📑 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#69
2023-09-15 09:34:06 +02:00
aa23316413 fix git config arguments (#68)
All checks were successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful
#### 📖 Summary

- changed argument passing and testing in sub function

#### 📑 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 #66

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: CodeServer/arkanum#68
2023-09-15 09:06:27 +02:00
21c6ef703f fix NodeJs install bug (#67)
All checks were successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful
#### 📖 Summary

- fixed function name to propperly use volta for NodeJs installation

#### 📑 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 #65

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: CodeServer/arkanum#67
2023-09-15 08:14:59 +02:00
b0fbd8edf6 Add addiontal container image deployment targets (#63)
All checks were successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful
#### 📖 Summary

Adds additional deployment targets:

- GitHub Container registry
- Docker Hub
- updates woddpecker workflow to version `>1.0.0 syntax`
- fix workflow file names
- update woodpecker/buildx plugin to version `2`. This enables multiple targets with one build step

#### 📑 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#63
2023-09-13 08:13:30 +02:00
8 changed files with 178 additions and 119 deletions

View File

@ -1,49 +0,0 @@
depends_on:
- test
pipeline:
buildImage:
image: woodpeckerci/plugin-docker-buildx
settings:
registry: gitea.ocram85.com
repo: gitea.ocram85.com/codeserver/arkanum
dockerfile: Dockerfile
auto_tag: true
username:
from_secret: gitea_user
password:
from_secret: gitea_passwd
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}
when:
event: push
branch: master
buildTag:
image: woodpeckerci/plugin-docker-buildx
settings:
registry: gitea.ocram85.com
repo: gitea.ocram85.com/codeserver/arkanum
dockerfile: Dockerfile
auto_tag: true
username:
from_secret: gitea_user
password:
from_secret: gitea_passwd
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}
when:
event: tag
GiteaRelease:
image: plugins/gitea-release
settings:
api_key:
from_secret: RENOVATE_TOKEN
base_url: https://gitea.ocram85.com
title: ${CI_COMMIT_TAG}
note: "> :bulb: **Note:** See [CHANGELOG.md](src/branch/master/CHANGELOG.md) for recent changes."
when:
event: tag

View File

@ -1,32 +0,0 @@
depends_on:
- test
pipeline:
buildTestImage:
image: woodpeckerci/plugin-docker-buildx
settings:
#dry_run: true
registry: gitea.ocram85.com
repo: gitea.ocram85.com/codeserver/arkanum
platforms: linux/amd64
dockerfile: Dockerfile
tags: next
username:
from_secret: gitea_user
password:
from_secret: gitea_passwd
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}
when:
event: pull_request
triggerPortainer:
image: ocram85/portainer-serviceupdate
settings:
VERBOSE: true
URI: "https://portainer.ocram85.com"
TOKEN:
from_secret: NEXT_TOKEN
when:
event: pull_request

71
.woodpecker/deploy.yml Normal file
View File

@ -0,0 +1,71 @@
depends_on:
- test
variables:
# deployment targets
- &publish_repos 'ocram85/arkanum,gitea.ocram85.com/codeserver/arkanum,ghcr.io/ocram85/arkanum,codeberg.org/codeserver/arkanum'
# logins for deployment targets
- publish_logins: &publish_logins
# Default DockerHub login
- registry: https://index.docker.io/v1/
username:
from_secret: docker_user
password:
from_secret: docker_passwd
# Additional Quay.IO login
- registry: https://gitea.ocram85.com
username:
from_secret: gitea_user
password:
from_secret: gitea_passwd
# GitHub Container Registry
- registry: https://ghcr.io
username:
from_secret: github_user
password:
from_secret: github_passwd
# Codeberg
- registry: https://codeberg.org
username:
from_secret: codeberg_user
password:
from_secret: codeberg_passwd
steps:
latest:
image: woodpeckerci/plugin-docker-buildx:2
settings:
repo: *publish_repos
dockerfile: Dockerfile
auto_tag: true
logins: *publish_logins
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}
when:
event: push
branch: master
release:
image: woodpeckerci/plugin-docker-buildx:2
settings:
repo: *publish_repos
dockerfile: Dockerfile
auto_tag: true
logins: *publish_logins
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}
when:
event: tag
GiteaRelease:
image: plugins/gitea-release
settings:
api_key:
from_secret: RENOVATE_TOKEN
base_url: https://gitea.ocram85.com
title: ${CI_COMMIT_TAG}
note: "> :bulb: **Note:** See [CHANGELOG.md](src/branch/master/CHANGELOG.md) for recent changes."
when:
event: tag

57
.woodpecker/next.yml Normal file
View File

@ -0,0 +1,57 @@
depends_on:
- test
when:
event: pull_request
variables:
# deployment targets
- &publish_repos 'ocram85/arkanum,gitea.ocram85.com/codeserver/arkanum,ghcr.io/ocram85/arkanum,codeberg.org/codeserver/arkanum'
# logins for deployment targets
- publish_logins: &publish_logins
# Default DockerHub login
- registry: https://index.docker.io/v1/
username:
from_secret: docker_user
password:
from_secret: docker_passwd
# Additional Quay.IO login
- registry: https://gitea.ocram85.com
username:
from_secret: gitea_user
password:
from_secret: gitea_passwd
# GitHub Container Registry
- registry: https://ghcr.io
username:
from_secret: github_user
password:
from_secret: github_passwd
# Codeberg
- registry: https://codeberg.org
username:
from_secret: codeberg_user
password:
from_secret: codeberg_passwd
steps:
buildTestImage:
image: woodpeckerci/plugin-docker-buildx:2
settings:
#dry_run: true
repo: *publish_repos
dockerfile: Dockerfile
platforms: linux/amd64
tag: next
logins: *publish_logins
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}
triggerPortainer:
image: ocram85/portainer-serviceupdate
settings:
VERBOSE: true
URI: "https://portainer.ocram85.com"
TOKEN:
from_secret: NEXT_TOKEN

View File

@ -1,4 +1,4 @@
pipeline:
steps:
testDockerfile:
image: woodpeckerci/plugin-docker-buildx
settings:

View File

@ -70,7 +70,7 @@
* 🤖 DEPENDENCIES
* Update quay.io/linuxserver.io/code-server Docker tag to v4.14.1 (#47)
## [v0.4.0](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.4.0) - 2023-07-19
* 🐛 BUGFIXES
@ -81,3 +81,18 @@
* Adds Volta as default version manager for NodeJs (#53)
* 🛠️ ENHANCEMENTS
* Bump go version (#49)
## [v1.0.0](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v1.0.0) - 2023-09-15
* 🐛 BUGFIXES
* Fix git config arguments (#68)
* Fix NodeJs install bug (#67)
* Fix pwsh install when called as first command (#60)
* Fix missing volta command (#58)
* 🛠️ ENHANCEMENTS
* Extends arkanum command and option structure (#62)
* 📦 BUILD
* Add addiontal container image deployment targets (#63)
* 🤖 DEPENDENCIES
* Update quay.io/linuxserver.io/code-server Docker tag to v4.16.1 (#59)
* Update quay.io/linuxserver.io/code-server Docker tag to v4.15.0 (#57)

View File

@ -1,12 +1,7 @@
<p align="right">
<img src="http://forthebadge.com/images/badges/built-with-love.svg">
<img src="http://forthebadge.com/images/badges/for-you.svg">
</p>
<p align="center">
<a href="https://gitea.ocram85.com/CodeServer/arkanum/">
<img
src="assets/social-logo.png"
src="https://gitea.ocram85.com/CodeServer/arkanum/raw/branch/master/assets/social-logo.png"
alt="Container"
>
</a>
@ -34,10 +29,19 @@ You can download the image from the gitea embedded container registry: `gitea.oc
- `latest` - Is based on the lasted master branch commit.
- `next` - Is a test build based on the pull request
- `1`, `0.1`, `0.1.0` - tag based version.
- `1`, `0.1`, `0.1.0`, `1.0.0` - tag based version.
> **💡 NOTE: See the [packages page](https://gitea.ocram85.com/CodeServer/-/packages/container/arkanum/latest) for latest version and all other available tags.**
The container images are also published to these registries:
- [Docker Hub](https://hub.docker.com/r/ocram85/arkanum)
- Pull Endpoint: `ocram85/arkanum`
- [GitHub Container Registry](https://github.com/OCram85/arkanum/pkgs/container/arkanum)
- Pull Endpoint: `ghcr.io/ocram85/arkanum`
- [Codeberg Packages](https://codeberg.org/codeserver/-/packages/container/arkanum/next)
- Pull Endpoint: `codeberg.org/codeserver/arkanum`
### 2.a Run as Docker Swarm Stack
This example shows how to run arkanum as an additional swarm stack.
@ -55,7 +59,7 @@ Therefore you need
version: "3.8"
services:
arkanum:
image: gitea.ocram85.com/codeserver/arkanum:0.4.0
image: gitea.ocram85.com/codeserver/arkanum:1.0.0
environment:
- PUID=1000
- PGID=1000
@ -107,7 +111,7 @@ See their [docs](https://github.com/linuxserver/docker-code-server#parameters) a
version: "3.8"
services:
arkanum:
image: gitea.ocram85.com/codeserver/arkanum:0.4.0
image: gitea.ocram85.com/codeserver/arkanum:1.0.0
container_name: code-server
environment:
- PUID=1000
@ -131,8 +135,7 @@ services:
After summon Arkanum your first steps should be to set your username and email in the git config:
```bash
git config --global user.name "username"
git config --global user.email "email address"
arkanum git setup "my-name" "my-email"
```
And that's it. Now you're ready use arkanum as your daily remote code editor. 😄
@ -142,7 +145,7 @@ And that's it. Now you're ready use arkanum as your daily remote code editor.
<p align="center">
<a href="https://gitea.ocram85.com/CodeServer/arkanum/">
<img
src="assets/screen1.png"
src="https://gitea.ocram85.com/CodeServer/arkanum/raw/branch/master/assets/screen1.png"
alt="Screenshot1"
>
</a>
@ -246,9 +249,9 @@ following command:
```bash
# restart the installation
arkanum --install-extensions
arkanum config install-extensions
# Optional: reset the vscode user setting
arkanum --reset-codesetting
arkanum config reset-codesettings
# Reload with command F1 + Developer: Reload Window
```
## 😡 We're Using GitHub Under Protest

38
arkanum
View File

@ -139,23 +139,6 @@ function instGoLang() {
}
function instNodeJs() {
say "Adding nodesource package source (NodeJS LTS)..." "NodeJs"
curl -#fSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
say "Updating package lists and installing NodeJS LTS..." "NodeJs"
sudo -E apt-get install --no-install-recommends -y \
nodejs
say "Cleaning up..." "NodeJs"
sudo -E apt-get clean
sudo rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
say "done." "NodeJs"
}
function instNodeJS2() {
say "Installing NodeJS LTS via Volta..." "NodeJS"
volta install node@lts
say "done." "NodeJS"
@ -260,13 +243,24 @@ EOF
}
function setGitConfig() {
if [[ "$#" != "2" ]]; then
sayE "Invalid arguments given. Please provide '<user>' and 'email'!" "Git"
#echo "function arg counter is; $#"
#echo "function args:$@"
if [[ "$#" != "4" ]]; then
sayE "Invalid arguments given. Please provide '<user>' and '<email>'!" "Git"
exit 1
fi
if [[ -z "$3" ]]; then
sayE "Invalid or empty username given!" "Git"
exit 1
fi
if [[ -z "$4" ]]; then
sayE "Invalid or empty email given!" "Git"
exit 1
fi
say "Setting global git config..." "Git"
git config --global user.name "$1"
git config --global user.email "$2"
git config --global user.name "$3"
git config --global user.email "$4"
say "Returning global config:" "Git"
git config --list --global
}
@ -304,7 +298,7 @@ function main() {
elif [[ "$1" == "git" ]]; then
# setup option
if [[ "$2" == "setup" ]]; then
setGitConfig "$3" "$4"
setGitConfig "$@"
else
sayE "Unknown option ($2) given for command 'git'!"
fi