devex: add support for macOS in the CI #3
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: Setup Build Env | |
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: Setup Build Env | |
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: 10 | |
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: Setup Build Env | |
run: sudo ./scripts/install-build-tools.sh | |
- name: Lint with Pylint | |
run: ./scripts/pylint.sh | |
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: Setup Build Env | |
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 "::set-output name=sha_short::$(git rev-parse --short HEAD)" | |
- 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 | |