From c15eb1a1f85832f52d10a6d4909b705b114e5487 Mon Sep 17 00:00:00 2001 From: mappu Date: Mon, 9 Sep 2024 19:47:32 +1200 Subject: [PATCH] ci: add caching, separate windows/linux jobs --- .github/workflows/miqt.yml | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/.github/workflows/miqt.yml b/.github/workflows/miqt.yml index 7d85dc9..9df545a 100644 --- a/.github/workflows/miqt.yml +++ b/.github/workflows/miqt.yml @@ -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'