New openapi #108
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: CI | |
'on': | |
pull_request: | |
push: | |
branches: | |
- develop | |
env: | |
UBSAN_OPTIONS: print_stacktrace=1 | |
jobs: | |
posix: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: ubuntu-22.04 | |
make: test-debug | |
info: g++-11 + test-debug | |
- os: ubuntu-22.04 | |
make: test-release | |
info: g++-11 + test-release | |
name: '${{matrix.os}}: ${{matrix.info}}' | |
runs-on: ${{matrix.os}} | |
steps: | |
- name: Cancel Previous Runs | |
uses: styfle/[email protected] | |
- uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- name: add Postgres package repository | |
run: | | |
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' | |
wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null | |
- name: Install packages | |
run: | | |
sudo apt update | |
sudo apt install --allow-downgrades -y pep8 $(cat dependencies/${{matrix.os}}.md | tr '\n' ' ') | |
sudo apt install clang-format-11 | |
sudo pip install $(cat dependencies/python.md) | tr '\n' ' ' | |
- name: install g++11 | |
run: | | |
sudo apt install g++-11 | |
export CXX=/usr/bin/g++-11 | |
- name: Check format sources | |
run: | | |
make check-format | |
- name: Gen list of source and check diffs with commit | |
run: | | |
make gen | |
make unite-api | |
make check-git-status | |
- name: Reuse ccache directory | |
uses: actions/cache@v2 | |
with: | |
path: ~/.ccache | |
key: '${{matrix.os}} ${{matrix.info}} ccache-dir ${{github.ref}} run-${{github.run_number}}' | |
restore-keys: | | |
${{matrix.os}} ${{matrix.info}} ccache-dir ${{github.ref}} run-' | |
${{matrix.os}} ${{matrix.info}} ccache- | |
- name: Setup ccache | |
run: | | |
ccache -M 2.0GB | |
ccache -s | |
- name: Run ${{matrix.make}} | |
run: | | |
make ${{matrix.make}} | |
- name: Test install ${{matrix.make}} | |
if: matrix.make == 'test-release' | |
run: | | |
make dist-clean | |
sudo make install-release | |
- name: Test run after install | |
if: matrix.make == 'test-release' | |
run: | | |
make run-release & | |
- name: Check work run service | |
if: matrix.make == 'test-release' | |
run: | | |
ps aux | grep timetable_vsu_backend_release && curl http://localhost:8080/ping -v | |
- name: Stop all | |
if: matrix.make == 'test-release' | |
run: | | |
killall timetable_vsu_backend_release | |