summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2022-01-17 14:05:41 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2022-01-17 21:44:48 +1000
commit121cd377539da3d91c8d44556d0962331444f3b4 (patch)
treef9d65fe69c4c11213719abc37cf3c6b2ef71d5ff /.github
parent9bbe629aad691c9ad6a58a3f011ece0d94e08f21 (diff)
downloadxorg-lib-libxkbcommon-121cd377539da3d91c8d44556d0962331444f3b4.tar.gz
CI: split and rename the workflows to windows/macos/linux
"main" is a bit non-descriptive, let's name them after the platforms we run them on. Splitting them up allows us to be less selective on how we run the various workflows, e.g. always running the linux one.
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/linux.yml43
-rw-r--r--.github/workflows/macos.yml40
-rw-r--r--.github/workflows/main.yml108
-rw-r--r--.github/workflows/windows.yml47
4 files changed, 130 insertions, 108 deletions
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