ci: add caching, separate windows/linux jobs

This commit is contained in:
mappu 2024-09-09 19:47:32 +12:00
parent 0bcdf08fc0
commit c15eb1a1f8

View File

@ -1,4 +1,4 @@
name: miqt.yml
name: CI
on:
push:
@ -7,7 +7,7 @@ on:
branches: [ "**" ]
jobs:
build:
miqt_linux64:
runs-on: ubuntu-22.04
steps:
@ -17,17 +17,42 @@ jobs:
- name: Linux64 docker build
run: cd docker && docker build -t miqt/linux64:latest -f linux64-go1.19-qt5.15-dynamic.Dockerfile .
- name: Cache clang ASTs
uses: actions/cache@v4
with:
path: cmd/genbindings/cachedir
key: linux64-clang-cache
- name: Cache GOCACHE
uses: actions/cache@v4
with:
path: ~/.cache/go-build
key: linux64-gocache
- name: Rebuild binding source
run: docker run -v $PWD:/src -w /src miqt/linux64:latest /bin/bash -c 'cd cmd/genbindings && go build && ./genbindings'
run: docker run -v ~/.cache/go-build:/root/.cache/go-build -v $PWD:/src -w /src miqt/linux64:latest /bin/bash -c 'cd cmd/genbindings && go build && ./genbindings'
- name: Assert no changes
run: git update-index --really-refresh && git diff-index HEAD
- name: Linux64 bindings compile
run: docker run -v $PWD:/src -w /src miqt/linux64:latest /bin/bash -c 'cd qt && go build'
run: docker run -v ~/.cache/go-build:/root/.cache/go-build -v $PWD:/src -w /src miqt/linux64:latest /bin/bash -c 'cd qt && go build'
miqt_win64:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache GOCACHE
uses: actions/cache@v4
with:
path: ~/.cache/go-build
key: win64-gocache
- name: Win64 docker build
run: cd docker && docker build -t miqt/win64:latest -f win64-cross-go1.23-qt5.15-static.Dockerfile .
- name: Win64 bindings compile
run: docker run -v $PWD:/src -w /src miqt/win64:latest /bin/bash -c 'cd qt && go build'
run: docker run -v ~/.cache/go-build:/root/.cache/go-build -v $PWD:/src -w /src miqt/win64:latest /bin/bash -c 'cd qt && go build'