summaryrefslogtreecommitdiff
path: root/portmidi/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to 'portmidi/.github/workflows')
-rw-r--r--portmidi/.github/workflows/build.yml47
-rw-r--r--portmidi/.github/workflows/docs.yml28
2 files changed, 75 insertions, 0 deletions
diff --git a/portmidi/.github/workflows/build.yml b/portmidi/.github/workflows/build.yml
new file mode 100644
index 0000000..351b5cb
--- /dev/null
+++ b/portmidi/.github/workflows/build.yml
@@ -0,0 +1,47 @@
+name: build
+
+on:
+ push:
+ pull_request:
+
+jobs:
+ build:
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - name: Ubuntu
+ os: ubuntu-latest
+ install_dir: ~/portmidi
+ cmake_extras: -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - name: macOS
+ os: macos-latest
+ install_dir: ~/portmidi
+ cmake_extras: -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - name: Windows
+ os: windows-latest
+ install_dir: C:\portmidi
+ cmake_config: --config RelWithDebInfo
+
+ name: ${{ matrix.name }}
+ runs-on: ${{ matrix.os }}
+ steps:
+ - name: Check out Git repository
+ uses: actions/checkout@v2
+ - name: "[Ubuntu] Install dependencies"
+ run: sudo apt install -y libasound2-dev
+ if: runner.os == 'Linux'
+ - name: Configure
+ run: cmake -D CMAKE_INSTALL_PREFIX=${{ matrix.install_dir }} ${{ matrix.cmake_extras }} -S . -B build
+ - name: Build
+ run: cmake --build build ${{ matrix.cmake_config }}
+ env:
+ CMAKE_BUILD_PARALLEL_LEVEL: 2
+ - name: Install
+ run: cmake --install . ${{ matrix.cmake_config }}
+ working-directory: build
+ - name: Upload Build Artifact
+ uses: actions/upload-artifact@v2
+ with:
+ name: ${{ matrix.name }} portmidi build
+ path: ${{ matrix.install_dir }}
diff --git a/portmidi/.github/workflows/docs.yml b/portmidi/.github/workflows/docs.yml
new file mode 100644
index 0000000..d0e251b
--- /dev/null
+++ b/portmidi/.github/workflows/docs.yml
@@ -0,0 +1,28 @@
+name: Generate Docs
+
+on:
+ push:
+ branches:
+ - main
+ workflow_dispatch:
+
+jobs:
+ doxygen:
+ name: Doxygen
+ runs-on: ubuntu-latest
+ steps:
+ - name: "Check out repository"
+ uses: actions/checkout@v2
+
+ - name: Install Doxygen
+ run: sudo apt-get update && sudo apt-get install -y --no-install-recommends doxygen
+
+ - name: Generate Documentation
+ run: doxygen
+ working-directory: .
+
+ - name: Deploy to GitHub Pages
+ uses: peaceiris/actions-gh-pages@v3
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: docs/html