Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
25 changes: 25 additions & 0 deletions .github/workflows/aws-template.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: aws template

on:
workflow_call:
inputs:
service:
required: true
type: string

jobs:
compare:
runs-on: ubuntu-latest
container: amazon/aws-cli:2.32.2

steps:
- uses: actions/download-artifact@v6
with:
name: carapace-aws
path: /usr/local/bin/

- name: fix permissions
run: chmod +x /usr/local/bin/carapace-aws*

- name: run carapace-aws.test
run: SERVICE=${{ inputs.service }} carapace-aws.test
447 changes: 447 additions & 0 deletions .github/workflows/aws.yml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .github/workflows/go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
run: go generate ./...

- name: Build
run: go build -v ./...
run: ls cmd/ | xargs -I'{}' sh -c "cd ./cmd/{} && go build -v ."

- name: Test
run: go test -v -coverprofile=profile.cov ./...
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
cmd/carapace-aws/carapace-aws
cmd/carapace-aws/carapace-aws.test
cmd/carapace-aws/cmd/botocore/botocore_generated.go
dist
docs/book
Expand Down
62 changes: 62 additions & 0 deletions cmd/carapace-aws/main_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
//go:build integration

package main

import (
"fmt"
"os"
"strings"
"testing"

"github.com/carapace-sh/carapace"
"github.com/carapace-sh/carapace-aws/cmd/carapace-aws/cmd/botocore"
"github.com/carapace-sh/carapace-bridge/pkg/actions/bridge"
)

func TestService(t *testing.T) {
serviceToTest := os.Getenv("SERVICE")
for service := range botocore.Services() {
t.Run(service, func(t *testing.T) {
if serviceToTest != "" && service != serviceToTest { // TODO env var to only test a specific service
t.SkipNow()
}

patch := carapace.DiffPatch(
bridge.ActionAws("aws"),
bridge.ActionCarapaceBin("aws"),
carapace.NewContext(service, ""),
)
for _, line := range patch {
switch {
case strings.HasPrefix(line, "-"):
fmt.Printf("\033[0;31m%v\033[0m\n", line)
t.Fail()
case strings.HasPrefix(line, "+"):
fmt.Printf("\033[0;32m%v\033[0m\n", line)
t.Fail()
}
}

for operation := range botocore.Operations("ec2") {
t.Run(operation, func(t *testing.T) {
t.Parallel()
patch := carapace.DiffPatch(
bridge.ActionAws("aws"),
bridge.ActionCarapaceBin("aws"),
carapace.NewContext(service, operation, "--"),
)
for _, line := range patch {
switch {
case strings.HasPrefix(line, "-"):
fmt.Printf("\033[0;31m%v\033[0m\n", line)
t.Fail()
case strings.HasPrefix(line, "+"):
fmt.Printf("\033[0;32m%v\033[0m\n", line)
t.Fail()
}
}
})
}
})
}
}
3 changes: 2 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ go 1.23.1

require (
github.com/JohannesKaufmann/html-to-markdown/v2 v2.4.0
github.com/carapace-sh/carapace v1.10.2
github.com/carapace-sh/carapace v1.10.3-0.20251121151734-35d09b66ce03
github.com/carapace-sh/carapace-bridge v1.4.9-0.20251121151755-1d6615a99cba
github.com/carapace-sh/carapace-spec v1.3.5
github.com/neurosnap/sentences v1.1.2
github.com/spf13/cobra v1.10.1
Expand Down
6 changes: 4 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ github.com/JohannesKaufmann/dom v0.2.0 h1:1bragmEb19K8lHAqgFgqCpiPCFEZMTXzOIEjux
github.com/JohannesKaufmann/dom v0.2.0/go.mod h1:57iSUl5RKric4bUkgos4zu6Xt5LMHUnw3TF1l5CbGZo=
github.com/JohannesKaufmann/html-to-markdown/v2 v2.4.0 h1:C0/TerKdQX9Y9pbYi1EsLr5LDNANsqunyI/btpyfCg8=
github.com/JohannesKaufmann/html-to-markdown/v2 v2.4.0/go.mod h1:OLaKh+giepO8j7teevrNwiy/fwf8LXgoc9g7rwaE1jk=
github.com/carapace-sh/carapace v1.10.2 h1:2E4i2ZCjjROSinQrS+AIWTYk0YAaolDJppULLZmXmj8=
github.com/carapace-sh/carapace v1.10.2/go.mod h1:gdyqmVIQJFlcHn4D7BkgyjRU5LlluDXBaiRSdV6GY88=
github.com/carapace-sh/carapace v1.10.3-0.20251121151734-35d09b66ce03 h1:KhLGaJ6CV3ly9GD6SeT6fFGzoneeJtF/hqYiNvAF+kY=
github.com/carapace-sh/carapace v1.10.3-0.20251121151734-35d09b66ce03/go.mod h1:gdyqmVIQJFlcHn4D7BkgyjRU5LlluDXBaiRSdV6GY88=
github.com/carapace-sh/carapace-bridge v1.4.9-0.20251121151755-1d6615a99cba h1:wRKtTniKuAb43EBw0YlySaG6kLLp874V0aC7UvK19Kg=
github.com/carapace-sh/carapace-bridge v1.4.9-0.20251121151755-1d6615a99cba/go.mod h1:5pjJSa9xLmJafNACZSoAMs3uGD4KVbXMqzYIk/r8CkA=
github.com/carapace-sh/carapace-shlex v1.1.1 h1:ccmNeetAYZOk4IcV36youFDsXusT9uCNW2Njkw+QS+Q=
github.com/carapace-sh/carapace-shlex v1.1.1/go.mod h1:lJ4ZsdxytE0wHJ8Ta9S7Qq0XpjgjU0mdfCqiI2FHx7M=
github.com/carapace-sh/carapace-spec v1.3.5 h1:F/OS1CQciwTtyZbaPsOz5jQwtzbjHUoPCjCClELbb+s=
Expand Down