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: on:
push: push:
@ -7,7 +7,7 @@ on:
branches: [ "**" ] branches: [ "**" ]
jobs: jobs:
build: miqt_linux64:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
@ -17,17 +17,42 @@ jobs:
- name: Linux64 docker build - name: Linux64 docker build
run: cd docker && docker build -t miqt/linux64:latest -f linux64-go1.19-qt5.15-dynamic.Dockerfile . 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 - 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 - name: Assert no changes
run: git update-index --really-refresh && git diff-index HEAD run: git update-index --really-refresh && git diff-index HEAD
- name: Linux64 bindings compile - 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 - name: Win64 docker build
run: cd docker && docker build -t miqt/win64:latest -f win64-cross-go1.23-qt5.15-static.Dockerfile . run: cd docker && docker build -t miqt/win64:latest -f win64-cross-go1.23-qt5.15-static.Dockerfile .
- name: Win64 bindings compile - 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'