name: Easy Docker Tests on: push: branches: - main paths: - "easy-docker.sh" - "scripts/easy-docker/**" - "tests/easy-docker/**" - ".github/workflows/easy-docker.yml" pull_request: branches: - main paths: - "easy-docker.sh" - "scripts/easy-docker/**" - "tests/easy-docker/**" - ".github/workflows/easy-docker.yml" jobs: bats: name: Bats (${{ matrix.name }}) runs-on: ubuntu-latest timeout-minutes: 10 strategy: fail-fast: false matrix: include: - name: Ubuntu 24.04 image: ubuntu:24.04 install_cmd: | apt-get update DEBIAN_FRONTEND=noninteractive apt-get install -y bash ca-certificates curl gawk git gzip tar ncurses-bin update-alternatives --set awk /usr/bin/gawk - name: Debian 12 image: debian:12 install_cmd: | apt-get update DEBIAN_FRONTEND=noninteractive apt-get install -y bash ca-certificates curl gawk git gzip tar ncurses-bin update-alternatives --set awk /usr/bin/gawk - name: Fedora 43 image: fedora:43 install_cmd: | dnf install -y bash ca-certificates curl gawk git gzip tar ncurses container: image: ${{ matrix.image }} env: TERM: xterm-256color steps: - name: Install distro dependencies run: ${{ matrix.install_cmd }} - name: Checkout uses: actions/checkout@v6 - name: Install Bats run: | BATS_VERSION="v1.11.1" curl -fsSL "https://github.com/bats-core/bats-core/archive/refs/tags/${BATS_VERSION}.tar.gz" -o bats-core.tar.gz tar -xzf bats-core.tar.gz "./bats-core-${BATS_VERSION#v}/install.sh" /usr/local - name: Run easy-docker Bats tests run: bats --recursive tests/easy-docker