summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColomban Wendling <[email protected]>2023-11-07 16:47:30 +0100
committerColomban Wendling <[email protected]>2025-03-12 09:45:10 +0100
commit226a93c08ed599960d618082485aa6749f2e1d03 (patch)
treec1d7e9f98c62c06b9825f2b91788205a68543bc4
parente2065669e8e992ebaf23433dfc979caea171ed89 (diff)
downloadmate-panel-226a93c08ed599960d618082485aa6749f2e1d03.tar.bz2
mate-panel-226a93c08ed599960d618082485aa6749f2e1d03.tar.xz
Enable a github actions build
-rw-r--r--.github/workflows/build.yml147
1 files changed, 147 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 00000000..ba54ca9e
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,147 @@
+name: CI Build
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+ workflow_dispatch:
+
+# cancel already running builds of the same branch or pull request
+concurrency:
+ group: ci-${{ github.head_ref }} || concat(${{ github.ref }}
+ cancel-in-progress: true
+
+env:
+ CFLAGS: -g -O2 -Werror=pointer-arith -Werror=implicit-function-declaration
+ JOBS: 2
+ DEBUG: 1
+ LIBRARY_DEPS: |
+ libatk1.0-dev
+ libcairo2-dev
+ libdconf-dev
+ libgirepository1.0-dev
+ libglib2.0-dev
+ libgtk-3-dev
+ libgtk-layer-shell-dev
+ libice-dev
+ libmate-desktop-dev
+ libmate-menu-dev
+ libmateweather-dev
+ libpango1.0-dev
+ libsm-dev
+ libsoup2.4-dev
+ libwnck-3-dev
+ libx11-dev
+ libxrandr-dev
+ libgirepository1.0-dev
+ BUILD_DEPS: |
+ ccache
+ autoconf-archive
+ autopoint
+ gir1.2-freedesktop
+ git
+ gobject-introspection
+ gtk-doc-tools
+ lsb-release
+ make
+ mate-common
+ meson
+ yelp-tools
+ iso-codes
+ gobject-introspection
+ # TODO
+ SCAN_BUILD_DEPS: |
+ clang
+ clang-tools
+
+jobs:
+ build:
+ name: Build on Ubuntu
+ runs-on: ubuntu-latest
+
+ env:
+ CC: ccache gcc
+ CXX: ccache g++
+ BASE_INSTALL_PATH: ${{github.workspace}}/_install
+
+ steps:
+ - name: Setup environment
+ run: |
+ echo "PATH=${BASE_INSTALL_PATH}/bin:${PATH}" >> "$GITHUB_ENV"
+ echo "PKG_CONFIG_PATH=${BASE_INSTALL_PATH}/lib/pkgconfig:${PKG_CONFIG_PATH}" >> "$GITHUB_ENV"
+
+ - name: Show environment
+ run: env | sort
+ if: ${{ env.DEBUG == '1' }}
+
+ - uses: actions/checkout@v3
+ with:
+ path: mate-panel
+ submodules: true
+
+ - name: Checkout mate-desktop
+ uses: actions/checkout@v3
+ with:
+ repository: mate-desktop/mate-desktop
+ ref: v1.27.1
+ path: mate-desktop
+ submodules: true
+
+ - name: Install dependencies
+ run: |
+ sudo apt-get update -qq
+ sudo apt-get install --assume-yes --no-install-recommends \
+ ${BUILD_DEPS} ${LIBRARY_DEPS}
+
+ - name: ccache
+ uses: hendrikmuhs/[email protected]
+
+ - name: Configure mate-desktop
+ run: |
+ cd mate-desktop
+ NOCONFIGURE=1 ./autogen.sh
+ { ./configure --prefix="$BASE_INSTALL_PATH" || { cat config.log; exit 1; } ; }
+
+ - name: Build mate-desktop
+ run: make -C mate-desktop -j ${{ env.JOBS }}
+
+ - name: Install mate-desktop
+ run: make -C mate-desktop -j ${{ env.JOBS }} install
+
+ - name: Configure
+ run: |
+ cd mate-panel
+ NOCONFIGURE=1 ./autogen.sh
+ { ./configure || { cat config.log; exit 1; } ; }
+
+ - name: Build
+ run: make -C mate-panel -j ${{ env.JOBS }}
+
+ - name: Run Tests
+ run: make -C mate-panel -j ${{ env.JOBS }} check
+
+ - name: Run distcheck
+ run: make -C mate-panel -j ${{ env.JOBS }} distcheck
+
+ # Do we need the real build for cppcheck run? I don't think so
+ cppcheck:
+ name: Run cppcheck
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ submodules: true
+
+ # Install code dependencies so that cppcheck has more info
+ - name: Install dependencies
+ run: |
+ sudo apt-get update -qq
+ sudo apt-get install --assume-yes --no-install-recommends \
+ cppcheck ${LIBRARY_DEPS}
+
+ - name: cppcheck
+ run: cppcheck --enable=warning,style,performance,portability,information,missingInclude -i'gtk-layer-shell-build' .