fix(ci): use Arch Linux container for glib 2.84+ support
- commit
- 4121ef1b7d2ec0f6a5f1fc2ff7223c2eb0c0bf09
- author
- bnema · · 2025-11-30 07:37 UTC
- parent
- a5ed4a4
- signature
- unsigned
1 file · +28 -25
M .github/workflows/ci.yml +28 -25
| @@ -11,12 +11,21 @@ on: | |||
| 11 | 11 | jobs: | |
| 12 | 12 | lint: | |
| 13 | 13 | runs-on: ubuntu-latest | |
| 14 | + | container: | |
| 15 | + | image: archlinux:latest | |
| 14 | 16 | steps: | |
| 17 | + | - name: Install dependencies | |
| 18 | + | run: | | |
| 19 | + | pacman -Syu --noconfirm | |
| 20 | + | pacman -S --noconfirm git go nodejs npm webkitgtk-6.0 gtk4 gobject-introspection base-devel | |
| 15 | 21 | - uses: actions/checkout@v6 | |
| 16 | - | - uses: actions/setup-go@v6 | |
| 22 | + | - name: Cache Go modules | |
| 23 | + | uses: actions/cache@v4 | |
| 17 | 24 | with: | |
| 18 | - | go-version: stable | |
| 19 | - | cache: true | |
| 25 | + | path: ~/go/pkg/mod | |
| 26 | + | key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }} | |
| 27 | + | restore-keys: | | |
| 28 | + | ${{ runner.os }}-go-mod- | |
| 20 | 29 | - name: Cache Go build cache | |
| 21 | 30 | uses: actions/cache@v4 | |
| 22 | 31 | with: | |
| @@ -24,30 +33,31 @@ jobs: | |||
| 24 | 33 | key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }} | |
| 25 | 34 | restore-keys: | | |
| 26 | 35 | ${{ runner.os }}-go-build- | |
| 27 | - | - uses: actions/setup-node@v6 | |
| 28 | - | with: | |
| 29 | - | node-version: '24' | |
| 30 | - | - name: Install WebKitGTK 6.0 dependencies | |
| 31 | - | run: | | |
| 32 | - | sudo apt-get update | |
| 33 | - | sudo apt-get install -y libwebkitgtk-6.0-dev libgtk-4-dev libgirepository1.0-dev | |
| 34 | 36 | - name: Build frontend assets | |
| 35 | 37 | run: make build-frontend | |
| 38 | + | - name: Install golangci-lint | |
| 39 | + | run: | | |
| 40 | + | curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b /usr/local/bin v2.6.2 | |
| 36 | 41 | - name: Run golangci-lint | |
| 37 | - | uses: golangci/golangci-lint-action@v7 | |
| 38 | - | with: | |
| 39 | - | version: v2.6.2 | |
| 40 | - | skip-cache: false | |
| 41 | - | args: --timeout=20m | |
| 42 | + | run: golangci-lint run --timeout=20m | |
| 42 | 43 | ||
| 43 | 44 | test: | |
| 44 | 45 | runs-on: ubuntu-latest | |
| 46 | + | container: | |
| 47 | + | image: archlinux:latest | |
| 45 | 48 | steps: | |
| 49 | + | - name: Install dependencies | |
| 50 | + | run: | | |
| 51 | + | pacman -Syu --noconfirm | |
| 52 | + | pacman -S --noconfirm git go nodejs npm webkitgtk-6.0 gtk4 gobject-introspection base-devel | |
| 46 | 53 | - uses: actions/checkout@v6 | |
| 47 | - | - uses: actions/setup-go@v6 | |
| 54 | + | - name: Cache Go modules | |
| 55 | + | uses: actions/cache@v4 | |
| 48 | 56 | with: | |
| 49 | - | go-version: stable | |
| 50 | - | cache: true | |
| 57 | + | path: ~/go/pkg/mod | |
| 58 | + | key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }} | |
| 59 | + | restore-keys: | | |
| 60 | + | ${{ runner.os }}-go-mod- | |
| 51 | 61 | - name: Cache Go build cache | |
| 52 | 62 | uses: actions/cache@v4 | |
| 53 | 63 | with: | |
| @@ -55,13 +65,6 @@ jobs: | |||
| 55 | 65 | key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }} | |
| 56 | 66 | restore-keys: | | |
| 57 | 67 | ${{ runner.os }}-go-build- | |
| 58 | - | - uses: actions/setup-node@v6 | |
| 59 | - | with: | |
| 60 | - | node-version: '24' | |
| 61 | - | - name: Install WebKitGTK 6.0 dependencies | |
| 62 | - | run: | | |
| 63 | - | sudo apt-get update | |
| 64 | - | sudo apt-get install -y libwebkitgtk-6.0-dev libgtk-4-dev libgirepository1.0-dev | |
| 65 | 68 | - name: Build frontend assets | |
| 66 | 69 | run: make build-frontend | |
| 67 | 70 | - name: Run tests | |
| @@ -11,12 +11,21 @@ on: | |||||
| 11 | jobs: | 11 | jobs: | ||
| 12 | lint: | 12 | lint: | ||
| 13 | runs-on: ubuntu-latest | 13 | runs-on: ubuntu-latest | ||
| 14 | + | container: | |||
| 15 | + | image: archlinux:latest | |||
| 14 | steps: | 16 | steps: | ||
| 17 | + | - name: Install dependencies | |||
| 18 | + | run: | | |||
| 19 | + | pacman -Syu --noconfirm | |||
| 20 | + | pacman -S --noconfirm git go nodejs npm webkitgtk-6.0 gtk4 gobject-introspection base-devel | |||
| 15 | - uses: actions/checkout@v6 | 21 | - uses: actions/checkout@v6 | ||
| 16 | - | - uses: actions/setup-go@v6 | 22 | + | - name: Cache Go modules |
| 23 | + | uses: actions/cache@v4 | |||
| 17 | with: | 24 | with: | ||
| 18 | - | go-version: stable | 25 | + | path: ~/go/pkg/mod |
| 19 | - | cache: true | 26 | + | key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }} |
| 27 | + | restore-keys: | | |||
| 28 | + | ${{ runner.os }}-go-mod- | |||
| 20 | - name: Cache Go build cache | 29 | - name: Cache Go build cache | ||
| 21 | uses: actions/cache@v4 | 30 | uses: actions/cache@v4 | ||
| 22 | with: | 31 | with: | ||
| @@ -24,30 +33,31 @@ jobs: | |||||
| 24 | key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }} | 33 | key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }} | ||
| 25 | restore-keys: | | 34 | restore-keys: | | ||
| 26 | ${{ runner.os }}-go-build- | 35 | ${{ runner.os }}-go-build- | ||
| 27 | - | - uses: actions/setup-node@v6 | |||
| 28 | - | with: | |||
| 29 | - | node-version: '24' | |||
| 30 | - | - name: Install WebKitGTK 6.0 dependencies | |||
| 31 | - | run: | | |||
| 32 | - | sudo apt-get update | |||
| 33 | - | sudo apt-get install -y libwebkitgtk-6.0-dev libgtk-4-dev libgirepository1.0-dev | |||
| 34 | - name: Build frontend assets | 36 | - name: Build frontend assets | ||
| 35 | run: make build-frontend | 37 | run: make build-frontend | ||
| 38 | + | - name: Install golangci-lint | |||
| 39 | + | run: | | |||
| 40 | + | curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b /usr/local/bin v2.6.2 | |||
| 36 | - name: Run golangci-lint | 41 | - name: Run golangci-lint | ||
| 37 | - | uses: golangci/golangci-lint-action@v7 | 42 | + | run: golangci-lint run --timeout=20m |
| 38 | - | with: | |||
| 39 | - | version: v2.6.2 | |||
| 40 | - | skip-cache: false | |||
| 41 | - | args: --timeout=20m | |||
| 42 | 43 | ||||
| 43 | test: | 44 | test: | ||
| 44 | runs-on: ubuntu-latest | 45 | runs-on: ubuntu-latest | ||
| 46 | + | container: | |||
| 47 | + | image: archlinux:latest | |||
| 45 | steps: | 48 | steps: | ||
| 49 | + | - name: Install dependencies | |||
| 50 | + | run: | | |||
| 51 | + | pacman -Syu --noconfirm | |||
| 52 | + | pacman -S --noconfirm git go nodejs npm webkitgtk-6.0 gtk4 gobject-introspection base-devel | |||
| 46 | - uses: actions/checkout@v6 | 53 | - uses: actions/checkout@v6 | ||
| 47 | - | - uses: actions/setup-go@v6 | 54 | + | - name: Cache Go modules |
| 55 | + | uses: actions/cache@v4 | |||
| 48 | with: | 56 | with: | ||
| 49 | - | go-version: stable | 57 | + | path: ~/go/pkg/mod |
| 50 | - | cache: true | 58 | + | key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }} |
| 59 | + | restore-keys: | | |||
| 60 | + | ${{ runner.os }}-go-mod- | |||
| 51 | - name: Cache Go build cache | 61 | - name: Cache Go build cache | ||
| 52 | uses: actions/cache@v4 | 62 | uses: actions/cache@v4 | ||
| 53 | with: | 63 | with: | ||
| @@ -55,13 +65,6 @@ jobs: | |||||
| 55 | key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }} | 65 | key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }} | ||
| 56 | restore-keys: | | 66 | restore-keys: | | ||
| 57 | ${{ runner.os }}-go-build- | 67 | ${{ runner.os }}-go-build- | ||
| 58 | - | - uses: actions/setup-node@v6 | |||
| 59 | - | with: | |||
| 60 | - | node-version: '24' | |||
| 61 | - | - name: Install WebKitGTK 6.0 dependencies | |||
| 62 | - | run: | | |||
| 63 | - | sudo apt-get update | |||
| 64 | - | sudo apt-get install -y libwebkitgtk-6.0-dev libgtk-4-dev libgirepository1.0-dev | |||
| 65 | - name: Build frontend assets | 68 | - name: Build frontend assets | ||
| 66 | run: make build-frontend | 69 | run: make build-frontend | ||
| 67 | - name: Run tests | 70 | - name: Run tests | ||