ci: add shellcheck gh action, lint fixes, parallel acts #951
Workflow file for this run
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: | |
branches: | |
- trunk | |
push: | |
branches: | |
- trunk | |
defaults: | |
run: | |
shell: bash | |
env: | |
BUILD_DIR: x86_64 | |
jobs: | |
build-release: | |
name: Build Release Candidate | |
runs-on: ubuntu-22.04 | |
env: | |
BUILD_RELEASE: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Install Build Tools | |
run: sudo ./scripts/install-build-tools.sh | |
- name: Setup Local Dependencies | |
run: ./scripts/setup-dependencies.sh | |
- name: Build | |
run: ./scripts/build.sh | |
lint: | |
name: Lint | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Install Build Tools | |
run: sudo ./scripts/install-build-tools.sh | |
- name: Setup Local Dependencies | |
run: ./scripts/setup-dependencies.sh | |
- name: Build | |
run: ./scripts/build.sh | |
- name: Lint | |
run: ./scripts/lint.sh | |
pylint: | |
name: Pylint | |
runs-on: ubuntu-22.04 | |
continue-on-error: true | |
timeout-minutes: 5 | |
strategy: | |
matrix: | |
python-version: ["3.10"] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Build Tools | |
run: sudo ./scripts/install-build-tools.sh | |
- name: Lint with Pylint | |
run: ./scripts/pylint.sh | |
shellcheck: | |
name: Shellcheck | |
runs-on: ubuntu-22.04 | |
continue-on-error: true | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Install Build Tools | |
run: sudo ./scripts/install-build-tools.sh | |
- name: Lint with Shellcheck | |
run: ./scripts/shellcheck.sh view | |
unit-and-integration-test: | |
name: Unit and Integration Tests | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Install Build Tools | |
run: sudo ./scripts/install-build-tools.sh | |
- name: Setup Local Dependencies | |
run: ./scripts/setup-dependencies.sh | |
- name: Build | |
run: ./scripts/build.sh | |
- name: Run Unit Tests | |
run: ./scripts/test.sh | |
- name: Shorten SHA | |
id: vars | |
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_ENV | |
- uses: actions/upload-artifact@v4 | |
if: ${{ !env.ACT }} | |
name: Archive Test Results | |
with: | |
name: Test Results for ${{ steps.vars.outputs.sha_short }} | |
path: | | |
${{env.BUILD_DIR}}/unit_tests_coverage/output/* | |
${{env.BUILD_DIR}}/integration_tests_coverage/output/* | |
retention-days: 7 | |
doxygen: | |
name: doxygen | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Install Doxygen | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y doxygen graphviz | |
- name: Run Doxygen | |
run: doxygen Doxyfile | |
- name: Upload Docs artifacts | |
if: ${{ !env.ACT }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: OpenCBDC Transaction Processor docs for ${{ steps.vars.outputs.sha_short }} | |
path: ./doxygen_generated/html/* | |
retention-days: 7 |