mirror of
https://github.com/eth-p/bat-extras.git
synced 2024-12-12 17:20:40 +01:00
104 lines
3.0 KiB
YAML
104 lines
3.0 KiB
YAML
version: 2.1
|
|
|
|
executors:
|
|
linux_alpine:
|
|
docker:
|
|
- image: alpine:latest
|
|
environment:
|
|
TERM: xterm
|
|
|
|
commands:
|
|
setup:
|
|
description: "Set up the environment needed to test and run the scripts."
|
|
steps:
|
|
- run:
|
|
name: "APK: Add repository."
|
|
command: |
|
|
printf "\n%s\n" "http://nl.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
|
|
printf "\n%s\n" "http://nl.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
|
|
- run:
|
|
name: "APK: Update cache."
|
|
command: apk update
|
|
- run:
|
|
name: "Setup: Install build packages."
|
|
command: apk add git openssh bash python2 diffutils ca-certificates curl shfmt
|
|
- run:
|
|
name: "Setup: Install test packages."
|
|
command: apk add util-linux coreutils
|
|
- run:
|
|
name: "Setup: Install runtime packages."
|
|
command: apk add bat ripgrep ncurses
|
|
|
|
build:
|
|
description: "Build the self-contained scripts."
|
|
parameters:
|
|
minify:
|
|
type: string
|
|
default: "lib"
|
|
steps:
|
|
- run:
|
|
name: "Build"
|
|
command: ./build.sh --minify=<<parameters.minify>> --no-verify
|
|
|
|
jobs:
|
|
build:
|
|
executor: linux_alpine
|
|
steps:
|
|
- setup
|
|
- checkout
|
|
- run:
|
|
name: "Build Manuals"
|
|
command: ./build.sh --no-verify --manuals
|
|
- build:
|
|
minify: "all"
|
|
- store_artifacts:
|
|
path: bin
|
|
- store_artifacts:
|
|
path: man
|
|
|
|
test:
|
|
executor: linux_alpine
|
|
steps:
|
|
- setup
|
|
- checkout
|
|
- build:
|
|
minify: "all"
|
|
- run:
|
|
name: "Test: Unit Tests / Snapshots"
|
|
command: ./test.sh --verbose --strict --snapshot:show
|
|
|
|
test-consistency:
|
|
executor: linux_alpine
|
|
steps:
|
|
- setup
|
|
- checkout
|
|
- build:
|
|
minify: "all"
|
|
- run:
|
|
name: "Test: Consistency"
|
|
command: ./test.sh --compiled --verbose --snapshot:show
|
|
|
|
test-symlink:
|
|
executor: linux_alpine
|
|
steps:
|
|
- setup
|
|
- checkout
|
|
- run:
|
|
name: "Symlink"
|
|
command: ln -s "$PWD/src/batgrep.sh" /tmp/batgrep
|
|
- run:
|
|
name: "Test: Symlink"
|
|
command: /tmp/batgrep 'a' >/dev/null
|
|
|
|
workflows:
|
|
version: 2
|
|
default:
|
|
jobs:
|
|
- build
|
|
- test:
|
|
requires: [build]
|
|
- test-consistency:
|
|
requires: [build, test]
|
|
- test-symlink:
|
|
requires: [build]
|