Skip to content

fix(assert): reject empty bool assertions (#640) #2236

fix(assert): reject empty bool assertions (#640)

fix(assert): reject empty bool assertions (#640) #2236

Workflow file for this run

name: Tests
on:
pull_request:
paths-ignore:
- 'docs/**'
- 'adrs/**'
- '**/*.md'
- '.github/ISSUE_TEMPLATE/**'
- '.github/PULL_REQUEST_TEMPLATE.md'
push:
branches:
- main
concurrency:
group: tests-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
ubuntu:
name: "Ubuntu - ${{ matrix.name }}"
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
include:
- name: "make test"
command: "make test"
- name: "simple"
command: "./bashunit --simple tests/"
- name: "parallel simple"
command: "./bashunit --parallel --simple tests/"
- name: "parallel extended"
command: "./bashunit --parallel tests/"
- name: "strict"
command: "./bashunit --parallel --simple --strict tests/"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup Config
run: cp .env.example .env
- name: Run Tests
run: ${{ matrix.command }}
localized-ubuntu:
name: "Ubuntu - ${{ matrix.name }} Locale"
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
include:
- name: "Spanish"
lang: "es_ES.UTF-8"
tz: "Europe/Madrid"
language_pack: "language-pack-es-base"
- name: "Brazilian"
lang: "pt_BR.UTF-8"
tz: "America/Sao_Paulo"
language_pack: "language-pack-pt-base"
- name: "Japanese"
lang: "ja_JP.UTF-8"
tz: "Asia/Tokyo"
language_pack: "language-pack-ja-base"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Install locales
run: |
sudo apt-get update
sudo apt-get install -y locales "${{ matrix.language_pack }}"
sudo locale-gen "${{ matrix.lang }}"
- name: Setup Config
run: cp .env.example .env
- name: Run Tests
env:
LANG: ${{ matrix.lang }}
LC_ALL: ${{ matrix.lang }}
TZ: ${{ matrix.tz }}
run: make test
macos:
name: "macOS - latest"
runs-on: macos-latest
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup Config
run: cp .env.example .env
- name: Run Tests
run: make test
windows:
name: "Windows - ${{ matrix.name }}"
timeout-minutes: 10
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
include:
- name: "functional"
test_path: "tests/functional/*_test.sh"
- name: "unit a-b"
test_path: "tests/unit/[a-b]*_test.sh"
- name: "unit c + coverage"
test_path: "tests/unit/ch*_test.sh tests/unit/cl*_test.sh tests/unit/console*_test.sh tests/unit/cu*_test.sh tests/unit/coverage_*_test.sh"
- name: "unit d-g"
test_path: "tests/unit/[d-g]*_test.sh"
- name: "unit h-p"
test_path: "tests/unit/[h-p]*_test.sh"
- name: "unit r-z"
test_path: "tests/unit/[r-z]*_test.sh"
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup Config
shell: bash
run: cp .env.example .env
- name: Run tests
shell: bash
run: ./bashunit --parallel --jobs 4 ${{ matrix.test_path }}
windows-acceptance:
if: github.event_name == 'push'
timeout-minutes: 10
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
include:
- name: "a-e"
test_path: "tests/acceptance/bashunit_[a-e]*_test.sh"
- name: "f-l"
test_path: "tests/acceptance/bashunit_[f-l]*_test.sh"
- name: "m-z"
test_path: "tests/acceptance/bashunit_[m-z]*_test.sh tests/acceptance/[i-p]*_test.sh"
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup Config
shell: bash
run: cp .env.example .env
- name: Run tests
shell: bash
run: ./bashunit --parallel --jobs 4 ${{ matrix.test_path }}
alpine:
name: "Alpine - ${{ matrix.name }}"
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
include:
- name: "sequential"
command: "make test"
- name: "parallel simple"
command: "./bashunit --parallel --simple tests/"
- name: "parallel extended"
command: "./bashunit --parallel tests/"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup Config
run: cp .env.example .env
- name: Run Tests
run: |
docker run --rm -v "$(pwd)":/project alpine:latest /bin/sh -c " \
apk update && \
apk add --no-cache bash make git jq && \
adduser -D builder && \
chown -R builder /project && \
su - builder -c 'cd /project; ${{ matrix.command }}';"