Coverage #92
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Coverage | |
on: | |
schedule: | |
- cron: '5 4 3 * *' | |
push: | |
branches: | |
- main | |
paths: | |
- '.shellspec' | |
- 'src/*.sh' | |
- 'tests/*.sh' | |
workflow_dispatch: | |
jobs: | |
coverage: | |
name: Run tests coverage | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/[email protected] | |
- name: Install shellspec | |
run: | | |
mkdir -p ~/shellspec | |
cd ~/shellspec | |
git clone https://github.com/shellspec/shellspec.git | |
ln -s ~/shellspec/shellspec/shellspec /usr/local/bin/shellspec | |
echo -n "shellspec version: " | |
shellspec --version | |
- name: Install kcov | |
run: | | |
sudo apt -y install binutils-dev libssl-dev libcurl4-openssl-dev libelf-dev libstdc++-12-dev zlib1g-dev libdw-dev libiberty-dev | |
git clone https://github.com/SimonKagstrom/kcov.git | |
cd kcov | |
mkdir build | |
cd build | |
cmake .. | |
make | |
sudo make install | |
echo -n "kcov version: " | |
kcov --version | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- name: Generate tests coverage reports | |
run: | | |
bash shellspec --kcov --jobs 50 | |
- name: Upload reports | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage | |
path: coverage | |
- name: Upload coverage reports to Codecov | |
if: ${{ github.ref == 'refs/heads/main' }} | |
uses: codecov/codecov-action@v5 | |
with: | |
directory: coverage | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |