added swarm-cli image
All checks were successful
CI / Build swarm-cli docker images (push) Successful in 15s

This commit is contained in:
2025-08-11 20:32:32 +08:00
parent 41a803e4c0
commit df2117262d
3 changed files with 93 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
name: CI
on:
push:
branches: [ master ]
paths:
- 'swarm-cli/*'
- '.gitea/workflows/build-swarm-cli.yaml'
jobs:
"Build swarm-cli docker images":
runs-on: woryzen
steps:
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.4.0
with:
driver: docker-container
platforms: |
linux/amd64
linux/arm64
-
name: Login to Gitea container registry
uses: docker/login-action@v3
with:
registry: gitea.woggioni.net
username: woggioni
password: ${{ secrets.PUBLISHER_TOKEN }}
-
name: Build and push swarm-cli images
uses: docker/build-push-action@v6
with:
context: "{{defaultContext}}:swarm-cli"
platforms: |
linux/amd64
linux/arm64
push: true
pull: true
tags: |
"gitea.woggioni.net/woggioni/swarm-cli:latest"
cache-from: type=registry,ref=gitea.woggioni.net/woggioni/swarm-cli:buildx
cache-to: type=registry,mode=max,compression=zstd,image-manifest=true,oci-mediatypes=true,ref=gitea.woggioni.net/woggioni/swarm-cli:buildx

12
swarm-cli/Dockerfile Normal file
View File

@@ -0,0 +1,12 @@
FROM alpine:3.22
RUN --mount=type=cache,target=/var/cache/apk apk update
RUN --mount=type=cache,target=/var/cache/apk apk add nodejs npm nushell curl
RUN npm install --global @ethersphere/swarm-cli
RUN addgroup -S ethswarm
RUN adduser -D -S -h /var/lib/ethswarm -s /usr/bin/nu -G ethswarm ethswarm
USER ethswarm
ADD --chown=ethswarm:ethswarm config.nu /var/lib/ethswarm/.config/nushell/config.nu
ENTRYPOINT ["/usr/bin/nu"]

40
swarm-cli/config.nu Normal file
View File

@@ -0,0 +1,40 @@
# config.nu
#
# Installed by:
# version = "0.104.1"
#
# This file is used to override default Nushell settings, define
# (or import) custom commands, or run any other startup tasks.
# See https://www.nushell.sh/book/configuration.html
#
# This file is loaded after env.nu and before login.nu
#
# You can open this file in your default editor using:
# config nu
#
# See `help config nu` for more options
#
# You can remove these comments if you want or leave
# them for future reference.
use std/util "path add"
path add ($env.HOME | path join "bin")
path add ($env.HOME | path join ".local/bin")
path add ($env.HOME | path join ".cargo/bin")
$env.config.show_banner = false
$env.config.history.max_size = 10000
$env.PROMPT_COMMAND = { ||
let username = $env.USER
let hostname = sys host | get hostname
let current_dir = (pwd)
$"($username)@($hostname) ($current_dir)"
}
def --env mkcd [p: string] {
mkdir $p
cd $p
}