Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
18f4c44
transitioning to explicit argument passing (#284)
digitalghost-dev May 7, 2026
05b45dd
transitioning to explicit argument passing (#284)
digitalghost-dev May 7, 2026
0dd6b49
transitioning to explicit argument passing (#284)
digitalghost-dev May 7, 2026
45ace9c
transitioning to explicit argument passing (#284)
digitalghost-dev May 7, 2026
8766c52
transitioning to explicit argument passing (#284)
digitalghost-dev May 7, 2026
2d742f3
transitioning to explicit argument passing (#284)
digitalghost-dev May 7, 2026
c0bd2d0
transitioning to explicit argument passing (#284)
digitalghost-dev May 7, 2026
59ad37f
transitioning to explicit argument passing (#284)
digitalghost-dev May 7, 2026
c4ab69d
transitioning to explicit argument passing (#284)
digitalghost-dev May 7, 2026
878b9fb
transitioning to explicit argument passing (#284)
digitalghost-dev May 7, 2026
285ebeb
transitioning to explicit argument passing (#284)
digitalghost-dev May 7, 2026
5417a7b
transitioning to explicit argument passing (#284)
digitalghost-dev May 7, 2026
031e68f
transitioning to explicit argument passing (#284)
digitalghost-dev May 7, 2026
f92013e
updating version numbers
digitalghost-dev May 7, 2026
41f7ac8
removing binary name call, only `args` now (#284)
digitalghost-dev May 7, 2026
0acef1d
updating argument positions
digitalghost-dev May 7, 2026
4de8f30
updating docs
digitalghost-dev May 7, 2026
0cd904d
hardening API and HTTP request handling (#285)
digitalghost-dev May 7, 2026
a0d742e
centralizing `http` timeout variable (#286)
digitalghost-dev May 7, 2026
c04b32c
updating typos
digitalghost-dev May 17, 2026
aa8d04b
asserting errors in Command tests instead of discarding them
digitalghost-dev May 17, 2026
fce0612
fixing linting errors
digitalghost-dev May 17, 2026
4809fe9
updating docs
digitalghost-dev May 17, 2026
64e95d3
replacing brittle args slice with `const` endpoint in types command
digitalghost-dev May 17, 2026
170dcb8
updating actions that support node `v24`
digitalghost-dev May 17, 2026
0a32ff7
updating actions that support node `v24`
digitalghost-dev May 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 34 additions & 34 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ on:
- main

env:
VERSION_NUMBER: 'v1.10.1'
VERSION_NUMBER: 'v1.10.2'
DOCKERHUB_REGISTRY_NAME: 'digitalghostdev/poke-cli'
AWS_REGION: 'us-west-2'

Expand Down Expand Up @@ -94,7 +94,7 @@ jobs:
uses: actions/checkout@v6

- name: Set up Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version: '1.25.9'

Expand Down Expand Up @@ -140,7 +140,7 @@ jobs:
--target dist/poke-cli_${{ env.VERSION_NUMBER }}_linux_${{ matrix.arch }}.apk

- name: Upload packages as artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: linux-packages-${{ matrix.arch }}
path: dist/*
Expand All @@ -156,13 +156,13 @@ jobs:

steps:
- name: Download package artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: linux-packages-${{ matrix.arch }}
path: packages/

- name: Install Cloudsmith CLI
uses: cloudsmith-io/cloudsmith-cli-action@v1.0.8
uses: cloudsmith-io/cloudsmith-cli-action@v2
with:
api-key: ${{ secrets.CLOUDSMITH_API_KEY }}

Expand All @@ -184,13 +184,13 @@ jobs:

steps:
- name: Download package artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: linux-packages-${{ matrix.arch }}
path: packages/

- name: Install Cloudsmith CLI
uses: cloudsmith-io/cloudsmith-cli-action@v1.0.8
uses: cloudsmith-io/cloudsmith-cli-action@v2
with:
api-key: ${{ secrets.CLOUDSMITH_API_KEY }}

Expand All @@ -212,13 +212,13 @@ jobs:

steps:
- name: Download package artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: linux-packages-${{ matrix.arch }}
path: packages/

- name: Install Cloudsmith CLI
uses: cloudsmith-io/cloudsmith-cli-action@v1.0.8
uses: cloudsmith-io/cloudsmith-cli-action@v2
with:
api-key: ${{ secrets.CLOUDSMITH_API_KEY }}

Expand Down Expand Up @@ -267,7 +267,7 @@ jobs:

- name: Upload Report
if: always()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: lychee-report
path: ./lychee-report.md
Expand All @@ -285,23 +285,23 @@ jobs:
docs

- name: Set up Docker Buildx
uses: 'docker/setup-buildx-action@v3.0.0'
uses: 'docker/setup-buildx-action@v4'

- name: Prepare Docker Build Context
run: |
mkdir docker-context
rsync -av --exclude=docker-context . docker-context/

- name: Build and Export
uses: 'docker/build-push-action@v5.0.0'
uses: 'docker/build-push-action@v7'
with:
context: ./docker-context
file: ./docker-context/docs/Dockerfile
tags: docs:latest
outputs: type=docker,dest=/tmp/docs.tar

- name: Upload Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: docs
path: /tmp/docs.tar
Expand All @@ -316,7 +316,7 @@ jobs:
uses: actions/checkout@v6

- name: Configure AWS
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v6
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
Expand All @@ -327,7 +327,7 @@ jobs:
uses: aws-actions/amazon-ecr-login@v2

- name: Download Artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: docs
path: /tmp
Expand Down Expand Up @@ -365,22 +365,22 @@ jobs:
uses: actions/checkout@v6

- name: Set up Docker Buildx
uses: 'docker/setup-buildx-action@v3.0.0'
uses: 'docker/setup-buildx-action@v4'

- name: Prepare Docker Build Context
run: |
mkdir docker-context
rsync -av --exclude=docker-context . docker-context/

- name: Build and Export
uses: 'docker/build-push-action@v5.0.0'
uses: 'docker/build-push-action@v7'
with:
context: ./docker-context
tags: poke-cli:${{ env.VERSION_NUMBER }}
outputs: type=docker,dest=/tmp/poke-cli.tar

- name: Upload Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: poke-cli
path: /tmp/poke-cli.tar
Expand All @@ -396,7 +396,7 @@ jobs:
uses: actions/checkout@v6

- name: Configure AWS
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v6
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
Expand All @@ -422,10 +422,10 @@ jobs:
uses: actions/checkout@v6

- name: Set up Docker Buildx
uses: 'docker/setup-buildx-action@v3.0.0'
uses: 'docker/setup-buildx-action@v4'

- name: Download Artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: poke-cli
path: /tmp
Expand All @@ -451,13 +451,13 @@ jobs:

steps:
- name: Download SBOM
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: poke-cli-sbom-${{ env.VERSION_NUMBER }}.spdx.json
path: /tmp

- name: Scan SBOM
uses: anchore/scan-action@v5
uses: anchore/scan-action@v7
id: scan
with:
sbom: /tmp/poke-cli-sbom-${{ env.VERSION_NUMBER }}.spdx.json
Expand Down Expand Up @@ -486,25 +486,25 @@ jobs:

- name: Docker Meta
id: meta
uses: 'docker/metadata-action@v5.0.0'
uses: 'docker/metadata-action@v6'
with:
images: ${{ env.DOCKERHUB_REGISTRY_NAME }}

- name: Set up QEMU
uses: 'docker/setup-qemu-action@v3'
uses: 'docker/setup-qemu-action@v4'

- name: Set up Docker Buildx
uses: 'docker/setup-buildx-action@v3.0.0'
uses: 'docker/setup-buildx-action@v4'

- name: Login to Docker Hub
uses: 'docker/login-action@v3'
uses: 'docker/login-action@v4'
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and Push by Digest
id: build
uses: 'docker/build-push-action@v5.0.0'
uses: 'docker/build-push-action@v7'
with:
context: .
platforms: ${{ matrix.platform }}
Expand All @@ -519,7 +519,7 @@ jobs:

- name: Upload Digest for AMD64
if: matrix.platform == 'linux/amd64'
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: digests-amd64
path: /tmp/digests/*
Expand All @@ -528,7 +528,7 @@ jobs:

- name: Upload Digest for ARM64
if: matrix.platform == 'linux/arm64'
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: digests-arm64
path: /tmp/digests/*
Expand All @@ -541,24 +541,24 @@ jobs:

steps:
- name: Download Digests
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
pattern: digests-*
path: /tmp/digests
merge-multiple: true

- name: Set up Docker Buildx
uses: 'docker/setup-buildx-action@v3.0.0'
uses: 'docker/setup-buildx-action@v4'

- name: Docker meta
id: meta
uses: 'docker/metadata-action@v5.0.0'
uses: 'docker/metadata-action@v6'
with:
images: ${{ env.DOCKERHUB_REGISTRY_NAME }}
tags: ${{ env.VERSION_NUMBER }}

- name: Login to Docker Hub
uses: 'docker/login-action@v3'
uses: 'docker/login-action@v4'
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ builds:
- windows
- darwin
ldflags:
- -s -w -X main.version=v1.10.1
- -s -w -X main.version=v1.10.2

archives:
- formats: [ 'zip' ]
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ RUN go mod download

COPY . .

RUN go build -ldflags "-X main.version=v1.10.1" -o poke-cli .
RUN go build -ldflags "-X main.version=v1.10.2" -o poke-cli .

# build 2
FROM --platform=$BUILDPLATFORM alpine:3.23
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<img width="425" src="poke-cli.png" alt="pokemon-logo"/>
<h4></h4>
<img src="https://img.shields.io/github/v/release/digitalghost-dev/poke-cli?style=flat-square&logo=git&logoColor=FFCC00&label=Release%20Version&labelColor=EEE&color=FFCC00" alt="version-label">
<img src="https://img.shields.io/docker/image-size/digitalghostdev/poke-cli/v1.10.1?arch=arm64&style=flat-square&logo=docker&logoColor=FFCC00&labelColor=EEE&color=FFCC00" alt="docker-image-size">
<img src="https://img.shields.io/docker/image-size/digitalghostdev/poke-cli/v1.10.2?arch=arm64&style=flat-square&logo=docker&logoColor=FFCC00&labelColor=EEE&color=FFCC00" alt="docker-image-size">
<img src="https://img.shields.io/github/actions/workflow/status/digitalghost-dev/poke-cli/ci.yml?branch=main&style=flat-square&logo=github&logoColor=FFCC00&label=CI&labelColor=EEE&color=FFCC00" alt="ci-status-badge">
</div>
<div align="center">
Expand Down Expand Up @@ -99,11 +99,11 @@ Cloudsmith is a fully cloud-based service that lets you easily create, store, an
3. Choose how to interact with the container:
* Run a single command and exit:
```bash
docker run --rm -it digitalghostdev/poke-cli:v1.10.1 <command> [subcommand] [flag]
docker run --rm -it digitalghostdev/poke-cli:v1.10.2 <command> [subcommand] [flag]
```
* Enter the container and use its shell:
```bash
docker run --rm -it --name poke-cli --entrypoint /bin/sh digitalghostdev/poke-cli:v1.10.1 -c "cd /app && exec sh"
docker run --rm -it --name poke-cli --entrypoint /bin/sh digitalghostdev/poke-cli:v1.10.2 -c "cd /app && exec sh"
# placed into the /app directory, run the program with './poke-cli'
# example: ./poke-cli ability swift-swim
```
Expand All @@ -112,13 +112,13 @@ Cloudsmith is a fully cloud-based service that lets you easily create, store, an
> The `card` command renders TCG card images using your terminal's graphics protocol. When running inside Docker, pass your terminal's environment variables so image rendering works correctly:
> ```bash
> # Kitty
> docker run --rm -it -e TERM -e KITTY_WINDOW_ID digitalghostdev/poke-cli:v1.10.1 card
> docker run --rm -it -e TERM -e KITTY_WINDOW_ID digitalghostdev/poke-cli:v1.10.2 card
>
> # WezTerm, iTerm2, Ghostty, Konsole, Rio, Tabby
> docker run --rm -it -e TERM -e TERM_PROGRAM digitalghostdev/poke-cli:v1.10.1 card
> docker run --rm -it -e TERM -e TERM_PROGRAM digitalghostdev/poke-cli:v1.10.2 card
>
> # Windows Terminal (Sixel)
> docker run --rm -it -e WT_SESSION digitalghostdev/poke-cli:v1.10.1 card
> docker run --rm -it -e WT_SESSION digitalghostdev/poke-cli:v1.10.2 card
> ```
> If your terminal is not listed above, image rendering is not supported inside Docker.

Expand Down
2 changes: 1 addition & 1 deletion card_data/pipelines/poke_cli_dbt/dbt_project.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: 'poke_cli_dbt'
version: '1.10.1'
version: '1.10.2'

profile: 'poke_cli_dbt'

Expand Down
2 changes: 1 addition & 1 deletion card_data/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "card-data"
version = "v1.10.1"
version = "v1.10.2"
description = "File directory to store all data related processes for the Pokémon TCG."
readme = "README.md"
requires-python = ">=3.12"
Expand Down
27 changes: 14 additions & 13 deletions cli.go
Original file line number Diff line number Diff line change
Expand Up @@ -123,18 +123,19 @@ func runCLI(args []string) int {

remainingArgs := mainFlagSet.Args()

commands := map[string]func() int{
"ability": utils.HandleCommandOutput(ability.AbilityCommand),
"berry": utils.HandleCommandOutput(berry.BerryCommand),
"card": utils.HandleCommandOutput(card.CardCommand),
"item": utils.HandleCommandOutput(item.ItemCommand),
"move": utils.HandleCommandOutput(move.MoveCommand),
"natures": utils.HandleCommandOutput(natures.NaturesCommand),
"pokemon": utils.HandleCommandOutput(pokemon.PokemonCommand),
"speed": utils.HandleCommandOutput(speed.SpeedCommand),
"tcg": utils.HandleCommandOutput(tcg.TcgCommand),
"types": utils.HandleCommandOutput(types.TypesCommand),
"search": utils.HandleCommandOutput(search.SearchCommand),
type commandFunc func([]string) (string, error)
commands := map[string]commandFunc{
"ability": ability.AbilityCommand,
"berry": berry.BerryCommand,
"card": card.CardCommand,
"item": item.ItemCommand,
"move": move.MoveCommand,
"natures": natures.NaturesCommand,
"pokemon": pokemon.PokemonCommand,
"speed": speed.SpeedCommand,
"tcg": tcg.TcgCommand,
"types": types.TypesCommand,
"search": search.SearchCommand,
}

cmdArg := ""
Expand All @@ -157,7 +158,7 @@ func runCLI(args []string) int {
currentVersion()
return 0
case exists:
return cmdFunc()
return utils.HandleCommandOutput(cmdFunc, remainingArgs)()
default:
msg := fmt.Sprintf("\t%-15s", fmt.Sprintf("'%s' is not a valid command.\n", cmdArg)) +
styling.StyleBold.Render("\nCommands:") +
Expand Down
4 changes: 0 additions & 4 deletions cli_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,6 @@ func TestRunCLI(t *testing.T) {

for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
originalArgs := os.Args
os.Args = append([]string{"poke-cli"}, tt.args...)
defer func() { os.Args = originalArgs }()

var exitCode int
output := captureOutput(func() {
exitCode = runCLI(tt.args)
Expand Down
Loading
Loading