New openapi #153
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' ' ') | |
- name: Install python packages | |
run: | | |
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: Gen list of source and format all | |
run: | | |
make gen | |
make format-all | |
- name: Check format sources | |
run: | | |
make check-format | |
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 | |