Skip to content

Update dependabot.yml #83

Update dependabot.yml

Update dependabot.yml #83

Workflow file for this run

# SPDX-FileCopyrightText: © 2021 Avinal Kumar <[email protected]>
# SPDX-License-Identifier: GPL-2.0-only AND LGPL-2.1-only
name: Build and Test
concurrency:
group: build-${{ github.head_ref }}
cancel-in-progress: true
on:
push:
branches: [master]
pull_request:
branches: [master]
workflow_dispatch:
jobs:
build-test:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
continue-on-error: ${{ matrix.config.experimental }}
env:
DEBIAN_FRONTEND: "noninteractive"
services:
postgres:
image: postgres:15
env:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
strategy:
fail-fast: false
matrix:
config:
- {
name: "Ubuntu 22.04 GCC 9",
os: ubuntu-22.04,
build_type: "Debug",
cc: "gcc-9",
cxx: "g++-9",
php: "8.1",
experimental: false,
}
- {
name: "Ubuntu 22.04 GCC 11",
os: ubuntu-22.04,
build_type: "Debug",
cc: "gcc-11",
cxx: "g++-11",
php: "8.1",
experimental: false,
}
- {
name: "Ubuntu 22.04 CLANG",
os: ubuntu-22.04,
build_type: "Debug",
cc: "clang",
cxx: "clang++",
php: "8.1",
experimental: false,
}
steps:
- name: Setup git
run: |
sudo apt update
sudo apt install -y git
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: Fetch tags
run: |
git fetch --tags
- name: Install Dependencies
run: |
sudo apt update
sudo apt install -y libboost-system-dev libboost-filesystem-dev \
libcppunit-dev libcunit1-dev libdbd-sqlite3-perl libjsoncpp-dev \
libjson-c-dev liblocal-lib-perl libspreadsheet-writeexcel-perl \
libtext-template-perl libgcrypt20-dev lsb-release
sudo ./utils/fo-installdeps --everything -y
echo PATH="/usr/lib/ccache/:$PATH" >> $GITHUB_ENV
echo COMPOSER_HOME="$HOME/.composer/" >> $GITHUB_ENV
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.config.php }}
extensions: gettext, mbstring, gd, json, xml, zip, pgsql, curl, uuid, posix, sqlite3
env:
fail-fast: true
- name: Install additional Dependencies
if: ${{ matrix.config.cc == 'gcc-8' }}
run: sudo apt install -y gcc-8 g++-8
- name: Configure and Generate CMake Project
run: |
mkdir build
cmake -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} -GNinja -DTESTING=ON -S . -B ./build
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
- name: Build Project
run: cmake --build build --config ${{ matrix.config.build_type }} --parallel
- name: Prepare and Run Tests
run: |
./utils/prepare-test -afty -u postgres -p postgres
cd build
ctest --output-on-failure --extra-verbose
env:
POSTGRES_HOST: localhost
POSTGRES_PORT: ${{ job.services.postgres.ports[5432] }}
PGHOST: localhost
PGPORT: ${{ job.services.postgres.ports[5432] }}
php-unit:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
config:
- {
php: "8.1",
phpunit: "^10.0.12",
}
- {
php: "7.4",
phpunit: "^9.6.3",
}
services:
postgres:
image: postgres:15
env:
POSTGRES_PASSWORD: postgres
POSTGRES_HOST_AUTH_METHOD: trust
ports:
- 5432:5432
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: Install Dependencies
run: |
sudo apt update
sudo apt install -y libboost-system-dev libboost-filesystem-dev \
libcppunit-dev libcunit1-dev libdbd-sqlite3-perl libjsoncpp-dev \
libjson-c-dev liblocal-lib-perl libspreadsheet-writeexcel-perl \
libtext-template-perl libgcrypt20-dev gcc-11 g++-11 lsb-release \
openjdk-11-jdk
sudo ./utils/fo-installdeps --everything -y
echo PATH="/usr/lib/ccache/:$PATH" >> $GITHUB_ENV
echo COMPOSER_HOME="$HOME/.composer/" >> $GITHUB_ENV
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.config.php }}
extensions: gettext, mbstring, gd, json, xml, zip, pgsql, curl, uuid, posix, sqlite3
tools: phpunit:${{ matrix.config.phpunit }}
coverage: xdebug
env:
fail-fast: true
- name: Configure and Generate CMake Project
run: |
mkdir build
cmake -DCMAKE_BUILD_TYPE=Debug -GNinja -DTESTING=ON -S . -B ./build
- name: Build Project
run: |
cmake --build build --config Debug --parallel
echo "XDEBUG_MODE=coverage" >> $GITHUB_ENV
- name: Setup test database and build
env:
PGHOST: 127.0.0.1
PGPORT: 5432
run: |
./utils/prepare-test -afty
composer install --working-dir=src
mkdir coverage
- name: PHPUnit test suit
env:
PGHOST: 127.0.0.1
PGPORT: 5432
run: |
phpunit -csrc/phpunit.xml --testsuite="Fossology PhpUnit Test Suite" --colors=always --coverage-clover ./coverage/unit-clover.xml
- name: PHPUnit agent test suit
env:
PGHOST: 127.0.0.1
PGPORT: 5432
run: |
phpunit -csrc/phpunit.xml --testsuite="Fossology PhpUnit Agent Test Suite" --colors=always --coverage-clover ./coverage/agent-clover.xml