aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/ci_build.yml
blob: a24888ace990e1edfa4bd451c308b36fe3d652c3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

name: voidlinux glibc

jobs:
  default_build:
    name: default build
    runs-on: ubuntu-latest
    container: voidlinux/voidlinux:latest

    steps:
      - name: install deps
        run: |
          xbps-install -Sy xbps
          xbps-install -uy
          # wayland/wlroots dependencies as well as we build from source
          xbps-install -y MesaLib-devel libseat-devel eudev-libudev-devel libdrm-devel \
            libinput-devel libxkbcommon-devel pixman-devel expat-devel libxml2-devel \
            libffi-devel wayland-protocols xcb-util-errors-devel xcb-util-wm-devel \
            xcb-util-renderutil-devel libxcb-devel xcb-util-cursor-devel xcb-util-devel \
            xcb-util-image-devel xcb-util-keysyms-devel xcb-util-xrm-devel \
            xorg-server-xwayland pkg-config meson git gcc zig pkgconf scdoc

          git clone https://gitlab.freedesktop.org/wayland/wayland.git
          cd wayland
          git checkout 1.20.0
          meson build -Ddocumentation=false -Dtests=false --prefix /usr
          ninja -C build install
          cd ..

          git clone https://gitlab.freedesktop.org/wlroots/wlroots.git
          cd wlroots
          git checkout 0.15.0
          meson build --auto-features=enabled -Drenderers=gles2 -Dexamples=false \
            -Dwerror=false -Db_ndebug=false --prefix /usr
          ninja -C build install
      - name: checkout
        uses: actions/checkout@v2
        with:
          submodules: true

      - name: build
        run: |
          zig build

      - name: test
        run: |
          zig build test

  xwayland_build:
    name: xwayland build
    runs-on: ubuntu-latest
    container: voidlinux/voidlinux:latest

    steps:
      - name: install deps
        run: |
          xbps-install -Sy xbps
          xbps-install -uy
          # wayland/wlroots dependencies as well as we build from source
          xbps-install -y MesaLib-devel libseat-devel eudev-libudev-devel libdrm-devel \
            libinput-devel libxkbcommon-devel pixman-devel expat-devel libxml2-devel \
            libffi-devel wayland-protocols xcb-util-errors-devel xcb-util-wm-devel \
            xcb-util-renderutil-devel libxcb-devel xcb-util-cursor-devel xcb-util-devel \
            xcb-util-image-devel xcb-util-keysyms-devel xcb-util-xrm-devel \
            xorg-server-xwayland pkg-config meson git gcc zig pkgconf scdoc

          git clone https://gitlab.freedesktop.org/wayland/wayland.git
          cd wayland
          git checkout 1.20.0
          meson build -Ddocumentation=false -Dtests=false --prefix /usr
          ninja -C build install
          cd ..

          git clone https://gitlab.freedesktop.org/wlroots/wlroots.git
          cd wlroots
          git checkout 0.15.0
          meson build --auto-features=enabled -Drenderers=gles2 -Dexamples=false \
            -Dwerror=false -Db_ndebug=false --prefix /usr
          ninja -C build install
      - name: checkout
        uses: actions/checkout@v2
        with:
          submodules: true

      - name: build
        run: |
          zig build -Dxwayland=true

      - name: test
        run: |
          zig build -Dxwayland=true test

  zig_fmt:
    name: zig fmt
    runs-on: ubuntu-latest
    container: voidlinux/voidlinux:latest

    steps:
      - name: install deps
        run: |
          xbps-install -Sy xbps
          xbps-install -uy zig git

      - name: checkout
        uses: actions/checkout@v2
        with:
          submodules: true

      - name: fmt
        run: |
          zig fmt --check river/
          zig fmt --check riverctl/
          zig fmt --check rivertile/
          zig fmt --check build.zig