sintonia/.github/workflows/test.yml

169 lines
4.3 KiB
YAML
Raw Normal View History

name: Tests
2020-12-01 03:00:10 +01:00
on:
push:
branches: [master]
2020-12-01 03:15:42 +01:00
pull_request:
types: [opened, reopened, synchronize, edited]
branches: [master]
2021-05-21 15:30:26 +02:00
2020-12-01 03:00:10 +01:00
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- uses: pre-commit/action@v2.0.3
check-shell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- run: |
python -m venv venv && source venv/bin/activate
pip install gh-release-install
sudo venv/bin/gh-release-install \
koalaman/shellcheck \
shellcheck-{tag}.linux.x86_64.tar.xz --extract shellcheck-{tag}/shellcheck \
/usr/bin/shellcheck
sudo venv/bin/gh-release-install \
mvdan/sh \
shfmt_{tag}_linux_amd64 \
/usr/bin/shfmt
- run: SEVERITY=warning make shell-check
2021-09-07 23:10:34 +02:00
test-tools:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- run: make all
working-directory: tools
2021-10-15 01:40:34 +02:00
lint-legacy:
2021-09-15 15:44:57 +02:00
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: shivammathur/setup-php@v2
with:
php-version: 7.4
2021-10-15 01:40:34 +02:00
- name: Lint
run: make lint
2021-09-15 15:44:57 +02:00
working-directory: legacy
test-legacy:
strategy:
fail-fast: false
matrix:
include:
- runs-on: ubuntu-18.04
php-version: "7.2"
- runs-on: ubuntu-latest
php-version: "7.4"
runs-on: ${{ matrix.runs-on }}
2021-05-21 15:41:06 +02:00
env:
ENVIRONMENT: testing
LIBRETIME_LOG_DIR: /tmp/log/libretime
2020-12-18 15:48:43 +01:00
steps:
- uses: actions/checkout@v2
2020-12-18 15:48:43 +01:00
- name: Setup PostgreSQL
run: |
sudo systemctl start postgresql.service
pg_isready
sudo -u postgres psql -c 'CREATE DATABASE libretime;'
sudo -u postgres psql -c "CREATE USER libretime WITH PASSWORD 'libretime';"
sudo -u postgres psql -c 'GRANT CONNECT ON DATABASE libretime TO libretime;'
sudo -u postgres psql -c 'ALTER USER libretime CREATEDB;'
- name: Setup PHP
2020-12-18 15:48:43 +01:00
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
- name: Get Composer Cache Directory
id: composer-cache
2020-12-18 15:48:43 +01:00
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"
- uses: actions/cache@v2
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Run tests
run: |
sudo mkdir -p "$LIBRETIME_LOG_DIR"
sudo chown runner:runner "$LIBRETIME_LOG_DIR"
make test
2021-10-06 17:32:14 +02:00
working-directory: legacy
# Start lint the code without failing the entire workflow, should be merged
# into 'test' when the entire matrix succeeds.
lint:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
context:
- analyzer
- api
- api_client
- playout
- worker
container: ghcr.io/libretime/libretime-dev:buster
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}
restore-keys: |
${{ runner.os }}-pip-
2021-09-10 14:48:33 +02:00
- name: Add annotations matchers
run: |
echo "::add-matcher::.github/annotations/pylint.json"
- name: Lint
run: make lint
working-directory: ${{ matrix.context }}
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
2021-10-17 02:49:52 +02:00
context: [analyzer, api_client]
release: [bionic, buster]
container: ghcr.io/libretime/libretime-dev:${{ matrix.release }}
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.context }}-${{ hashFiles('**/setup.py') }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.context }}
- name: Test
run: make test
working-directory: ${{ matrix.context }}