51 lines
1.2 KiB
YAML
51 lines
1.2 KiB
YAML
pipeline:
|
|
lint:
|
|
image: alpine:3.19
|
|
commands:
|
|
- apk add --no-cache shellcheck git
|
|
- git clone ${CI_REPO_REMOTE} .
|
|
- shellcheck $(find . -type f -name "*.sh")
|
|
|
|
setup:
|
|
image: ubuntu:24.04
|
|
depends_on:
|
|
- lint
|
|
commands:
|
|
- apt-get update -y
|
|
- apt-get install -y --no-install-recommends curl sudo gnupg2 libx11-dev nscd
|
|
- curl https://mise.run | sh
|
|
- export PATH="$HOME/.local/share/mise/bin:$HOME/.local/share/mise/shims:$PATH"
|
|
- mise install
|
|
|
|
golangci-lint:
|
|
image: golangci/golangci-lint:v1.64.2
|
|
depends_on:
|
|
- setup
|
|
commands:
|
|
- git clone ${CI_REPO_REMOTE} .
|
|
- golangci-lint run ./...
|
|
|
|
check_gomod:
|
|
image: ubuntu:24.04
|
|
depends_on:
|
|
- golangci-lint
|
|
commands:
|
|
- export PATH="$HOME/.local/share/mise/bin:$HOME/.local/share/mise/shims:$PATH"
|
|
- mise run check_gomod
|
|
|
|
test:
|
|
image: ubuntu:24.04
|
|
depends_on:
|
|
- check_gomod
|
|
commands:
|
|
- export PATH="$HOME/.local/share/mise/bin:$HOME/.local/share/mise/shims:$PATH"
|
|
- mise run test_ci
|
|
|
|
test_integration:
|
|
image: ubuntu:24.04
|
|
depends_on:
|
|
- test
|
|
commands:
|
|
- export PATH="$HOME/.local/share/mise/bin:$HOME/.local/share/mise/shims:$PATH"
|
|
- mise run test_integration_ci
|