Skip to content

Add pruning feature to remove obsolete permission files #332

Add pruning feature to remove obsolete permission files

Add pruning feature to remove obsolete permission files #332

Workflow file for this run

name: CI
on:
push:
paths-ignore:
- "dockerfiles/**"
- ".gitignore"
- "dev_tools.sh"
- "docker-compose.yml"
- "Makefile"
- "README.md"
- "test_all_in_ubuntu"
pull_request:
paths-ignore:
- "dockerfiles/**"
- ".gitignore"
- "dev_tools.sh"
- "docker-compose.yml"
- "Makefile"
- "README.md"
- "test_all_in_ubuntu"
permissions: read-all
defaults:
run:
shell: bash
working-directory: "./"
jobs:
shellcheck:
name: ShellCheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install the prerequisites
run: |
sudo apt-get update -y
sudo apt-get install -y --no-install-recommends shellcheck
- name: Run ShellCheck
run: |
shellcheck --version
bin/shellcheck
test-macos:
name: Tests for MacOS
strategy:
matrix:
os: [macos-13, macos-14, macos-15]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install prerequisites
run: brew install coreutils bash
- name: Run the tests
run: |
zsh --version
bash --version
script time make test
test-linux:
name: Tests for Linux
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install the prerequisites
run: |
sudo apt-get update -y
sudo apt-get install -y --no-install-recommends zsh
- name: Run the tests for Bash
run: |
bash --version
script -q -e -c 'make test_bash'
- name: Run the tests for Zsh
run: |
zsh --version
make test_zsh
test-minimum-supported-shell-versions:
name: Tests for the minimum supported Bash and Zsh versions
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Cache Bash and Zsh source
uses: actions/cache@v4
id: shell-cache
with:
path: |
bash-4.3
zsh-5.3.1
key: bash-4.3-and-zsh-5.3.1-source-${{ runner.os }}
- name: Install Bash 4.3
run: |
if [ ! -d "bash-4.3" ]; then
wget http://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
tar -xvzf bash-4.3.tar.gz
fi
cd bash-4.3
./configure
make
sudo make install
echo "============================================"
bash --version # Verify the installed Bash version
- name: Run the tests for Bash
run: script -q -e -c 'make test_bash'
- name: Install Zsh 5.3.1
run: |
if [ ! -d "zsh-5.3.1" ]; then
wget -O zsh-5.3.1.tar.gz https://sourceforge.net/projects/zsh/files/zsh/5.3.1/zsh-5.3.1.tar.gz/download
tar xf zsh-5.3.1.tar.gz
wget -O zsh-5.3.1/config.guess 'https://git.savannah.gnu.org/cgit/config.git/plain/config.guess'
wget -O zsh-5.3.1/config.sub 'https://git.savannah.gnu.org/cgit/config.git/plain/config.sub'
chmod +x zsh-5.3.1/config.guess zsh-5.3.1/config.sub
fi
cd zsh-5.3.1
./configure --without-tcsetpgrp
make
sudo make install
echo "============================================"
zsh --version # Verify the installed Zsh version
- name: Run the tests for Zsh
run: make test_zsh