From 18fd9d827bf2fb585307de0fe6fcc19f35acf88c Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Wed, 18 Jan 2023 13:28:57 +0100 Subject: [PATCH] Update some stuff, now everything must work --- .github/workflows/container-stable.yaml | 3 +- .github/workflows/container-version.yaml | 2 +- Dockerfile | 3 +- README.md | 50 +++++++++++++++++++++++- scripts/rename_releases.sh | 2 +- src/main.rs | 4 +- 6 files changed, 56 insertions(+), 8 deletions(-) diff --git a/.github/workflows/container-stable.yaml b/.github/workflows/container-stable.yaml index 91d7fb9..7dff83d 100644 --- a/.github/workflows/container-stable.yaml +++ b/.github/workflows/container-stable.yaml @@ -41,7 +41,8 @@ jobs: platforms: linux/amd64,linux/arm64 push: true tags: | - ghcr.io/${{ github.action_repository }}:stable + ghcr.io/${{ github.repository }}:stable + ghcr.io/${{ github.repository }}:latest labels: | action_id=${{ github.action }} action_link=${{ env.LINK }} diff --git a/.github/workflows/container-version.yaml b/.github/workflows/container-version.yaml index 2cd477a..535160f 100644 --- a/.github/workflows/container-version.yaml +++ b/.github/workflows/container-version.yaml @@ -44,7 +44,7 @@ jobs: platforms: linux/amd64,linux/arm64 push: true tags: | - ghcr.io/${{ github.action_repository }}:${{ env.TAG }} + ghcr.io/${{ github.repository }}:${{ env.TAG }} labels: | action_id=${{ github.action }} action_link=${{ env.LINK }} diff --git a/Dockerfile b/Dockerfile index 0aad675..3e962ac 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,6 +7,7 @@ RUN cargo build --release FROM alpine:3.17.1 COPY --from=builder /src/target/release/clin /bin/clin -RUN apk update && apk add openssl --no-cache +RUN apk update && apk add --no-cache libressl-dev libc6-compat +RUN chmod +x /bin/clin WORKDIR /workdir ENTRYPOINT ["/bin/clin"] diff --git a/README.md b/README.md index 3ae1f28..0cf5115 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,54 @@ > It's actually not and installer, but a downloader, clin just sounds better than cldow IMHO # What's it about? -To be done +It's just a tool to make downloading binaries for different platforms easier. +## For example +If you want to build a docker image, but you want to make it available on different platforms. But your tool needs other tools as dependencies, e.g. `helm`. +To install helm on Alpine you need to use curl, wget, or something. You need to choose a version, an operating system, and an architecture. For me, it was obvious that you must be able to use `uname -m`... +```BASH +uname -m +aarch64 + +uname -m +x86_64 + +uname -m +arm64 +``` + +While release naming is also not very consecutive + +- release_example.amd-macos.zip +- another-release-for-amd64-macos.zip +- linux-aarch64-release.zip + # How to install? -To be done +## Install +### Download + +Get executable from github releases + +Prebuilt binaries exist for **Linux x86_64** and **MacOS arm64** and **x86_64** + +Don't forget to add the binary to $PATH +``` +$ curl https://raw.githubusercontent.com/allanger/clever-install/main/scripts/download_clin.sh | bash +$ clin -h +``` +### Docker + +You can use the `latest` or a `tagged` docker image +``` +$ docker pull ghcr.io/allanger/clever-install:latest +$ docker run ghcr.io/allanger/clever-install:latest clin -h +``` + +### Build from source +1. Build binary +``` +$ cargo build --release +``` +2. Run `gum help` + # How to use? To be done diff --git a/scripts/rename_releases.sh b/scripts/rename_releases.sh index 4b74ca3..8d23969 100755 --- a/scripts/rename_releases.sh +++ b/scripts/rename_releases.sh @@ -1,7 +1,7 @@ #!/bin/bash echo 'renaming clin to clin-$VERSION-$SYSTEM format' mkdir -p release -echo "version - $clin_VERSION" +echo "version - $CLIN_VERSION" for BUILD in build*; do SYSTEM=$(echo $BUILD | sed -e 's/build-//g') echo "system - $SYSTEM" diff --git a/src/main.rs b/src/main.rs index db1a4d9..a48c27d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -11,9 +11,9 @@ use std::{ process::exit, }; -/// Check you helm releaseas managed by Argo +/// Maybe not that clever, but at least not dumb. Download binaries for defferent architectures easier #[derive(Parser)] -#[clap(author = "allanger ", version, about, long_about = None)] +#[clap(author = "allanger ", version, about, long_about = None, arg_required_else_help(true))] struct Args { /// A templated link for downloading #[clap(short, long, env = "CLIN_LINK")]