diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml new file mode 100644 index 0000000..a578fc6 --- /dev/null +++ b/.github/workflows/linux.yml @@ -0,0 +1,43 @@ +name: linux + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +# Set permissions at the job level. +permissions: {} + +jobs: + linux: + runs-on: ubuntu-20.04 + permissions: + contents: read + strategy: + matrix: + compiler: [clang, gcc] + steps: + - uses: actions/checkout@v2 + with: + persist-credentials: false + - uses: actions/setup-python@v2 + with: + python-version: '3.9' + - name: Install dependencies + run: | + python -m pip install --upgrade meson + sudo apt install -y \ + doxygen libxcb-xkb-dev valgrind ninja-build \ + libwayland-dev wayland-protocols bison graphviz + - name: Setup + run: | + meson setup build + env: + CC: ${{ matrix.compiler }} + - name: Build + run: | + meson compile -C build + - name: Test + run: + meson test -C build --print-errorlogs --setup=valgrind --no-suite python-tests diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml new file mode 100644 index 0000000..077c8ed --- /dev/null +++ b/.github/workflows/macos.yml @@ -0,0 +1,40 @@ +name: macos + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +# Set permissions at the job level. +permissions: {} + +jobs: + macos: + runs-on: macos-10.15 + permissions: + contents: read + steps: + - uses: actions/checkout@v2 + with: + persist-credentials: false + - uses: actions/setup-python@v2 + with: + python-version: '3.9' + - name: Install dependencies + run: | + python -m pip install --upgrade meson + brew install libxml2 doxygen bison ninja + brew link bison --force + env: + HOMEBREW_NO_AUTO_UPDATE: 1 + HOMEBREW_NO_INSTALL_CLEANUP: 1 + - name: Setup + run: | + PATH="/usr/local/opt/bison/bin:${PATH}" meson setup -Denable-wayland=false -Denable-x11=false build + - name: Build + run: | + PATH="/usr/local/opt/bison/bin:${PATH}" meson compile -C build + - name: Test + run: + meson test -C build --print-errorlogs diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index cbae406..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: CI - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -# Set permissions at the job level. -permissions: {} - -jobs: - linux: - runs-on: ubuntu-20.04 - permissions: - contents: read - strategy: - matrix: - compiler: [clang, gcc] - steps: - - uses: actions/checkout@v2 - with: - persist-credentials: false - - uses: actions/setup-python@v2 - with: - python-version: '3.9' - - name: Install dependencies - run: | - python -m pip install --upgrade meson - sudo apt install -y \ - doxygen libxcb-xkb-dev valgrind ninja-build \ - libwayland-dev wayland-protocols bison graphviz - - name: Setup - run: | - meson setup build - env: - CC: ${{ matrix.compiler }} - - name: Build - run: | - meson compile -C build - - name: Test - run: - meson test -C build --print-errorlogs --setup=valgrind --no-suite python-tests - - macos: - runs-on: macos-10.15 - permissions: - contents: read - steps: - - uses: actions/checkout@v2 - with: - persist-credentials: false - - uses: actions/setup-python@v2 - with: - python-version: '3.9' - - name: Install dependencies - run: | - python -m pip install --upgrade meson - brew install libxml2 doxygen bison ninja - brew link bison --force - env: - HOMEBREW_NO_AUTO_UPDATE: 1 - HOMEBREW_NO_INSTALL_CLEANUP: 1 - - name: Setup - run: | - PATH="/usr/local/opt/bison/bin:${PATH}" meson setup -Denable-wayland=false -Denable-x11=false build - - name: Build - run: | - PATH="/usr/local/opt/bison/bin:${PATH}" meson compile -C build - - name: Test - run: - meson test -C build --print-errorlogs - - windows: - runs-on: windows-2019 - permissions: - contents: read - steps: - - uses: actions/checkout@v2 - with: - persist-credentials: false - - uses: actions/setup-python@v2 - with: - python-version: '3.9' - - name: Install dependencies - shell: powershell - run: | - python -m pip install --upgrade meson - Invoke-WebRequest -Uri https://github.com/ninja-build/ninja/releases/download/v1.10.1/ninja-win.zip -OutFile ninja.zip - Invoke-WebRequest -Uri https://github.com/lexxmark/winflexbison/releases/download/v2.5.23/win_flex_bison-2.5.23.zip -OutFile win_flex_bison.zip - Expand-Archive -Path win_flex_bison.zip -DestinationPath bin - Expand-Archive -Path ninja.zip -DestinationPath bin - Write-Output ((Get-Location).ToString() + "./bin") | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - - name: Setup - shell: cmd - run: | - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 - meson setup -Denable-wayland=false -Denable-x11=false -Denable-docs=false -Denable-xkbregistry=false build - env: - CC: cl - - name: Build - shell: cmd - run: | - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 - meson compile -C build - - name: Test - run: - meson test -C build --print-errorlogs diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml new file mode 100644 index 0000000..e7a2856 --- /dev/null +++ b/.github/workflows/windows.yml @@ -0,0 +1,47 @@ +name: windows + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +# Set permissions at the job level. +permissions: {} + +jobs: + windows: + runs-on: windows-2019 + permissions: + contents: read + steps: + - uses: actions/checkout@v2 + with: + persist-credentials: false + - uses: actions/setup-python@v2 + with: + python-version: '3.9' + - name: Install dependencies + shell: powershell + run: | + python -m pip install --upgrade meson + Invoke-WebRequest -Uri https://github.com/ninja-build/ninja/releases/download/v1.10.1/ninja-win.zip -OutFile ninja.zip + Invoke-WebRequest -Uri https://github.com/lexxmark/winflexbison/releases/download/v2.5.23/win_flex_bison-2.5.23.zip -OutFile win_flex_bison.zip + Expand-Archive -Path win_flex_bison.zip -DestinationPath bin + Expand-Archive -Path ninja.zip -DestinationPath bin + Write-Output ((Get-Location).ToString() + "./bin") | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 + - name: Setup + shell: cmd + run: | + call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 + meson setup -Denable-wayland=false -Denable-x11=false -Denable-docs=false -Denable-xkbregistry=false build + env: + CC: cl + - name: Build + shell: cmd + run: | + call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 + meson compile -C build + - name: Test + run: + meson test -C build --print-errorlogs