From ac245b1ec10d565730e4a17215f9e3249a14ec28 Mon Sep 17 00:00:00 2001 From: Brock Allen Date: Sat, 3 Feb 2024 01:02:37 +0000 Subject: [PATCH 01/15] ops: Use cached docker image --- .gitea/workflows/ci.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index d025518..2316cf6 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -67,16 +67,11 @@ jobs: with: path: /tmp/docker key: ${{ runner.os }}-docker-${{ steps.dockerfile-hash.outputs.hash }} - - - name: Load image - run: | - docker load --input /tmp/docker/${{ runner.os }}-builder-image.tar - docker image ls -a - name: Build library uses: https://github.com/addnab/docker-run-action@v3 with: - image: cproject-builder:latest + image: /tmp/docker/${{ runner.os }}-builder-image.tar options: --volumes-from ${{ env.JOB_CONTAINER_NAME }} run: | /bin/bash -c "cd ${{ github.workspace }}; rm -rf build; cmake -B build; cmake --build build" -- 2.49.1 From fdcd8ecc8bedd20d040c26d06d147bb75621bd8d Mon Sep 17 00:00:00 2001 From: Brock Allen Date: Sat, 3 Feb 2024 01:14:34 +0000 Subject: [PATCH 02/15] ops: Use fork of docer-run-action --- .gitea/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 2316cf6..756d7b1 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -69,7 +69,7 @@ jobs: key: ${{ runner.os }}-docker-${{ steps.dockerfile-hash.outputs.hash }} - name: Build library - uses: https://github.com/addnab/docker-run-action@v3 + uses: https://git.brocklobsta.net/brock/docker-run-action@v3 with: image: /tmp/docker/${{ runner.os }}-builder-image.tar options: --volumes-from ${{ env.JOB_CONTAINER_NAME }} @@ -77,7 +77,7 @@ jobs: /bin/bash -c "cd ${{ github.workspace }}; rm -rf build; cmake -B build; cmake --build build" - name: Test library - uses: https://github.com/addnab/docker-run-action@v3 + uses: https://git.brocklobsta.net/brock/docker-run-action@v3 with: image: cproject-builder:latest options: --volumes-from ${{ env.JOB_CONTAINER_NAME }} -- 2.49.1 From a96bdd6730742e3d7c4062ef8e2592bf151e8df5 Mon Sep 17 00:00:00 2001 From: Brock Allen Date: Sat, 3 Feb 2024 01:23:43 +0000 Subject: [PATCH 03/15] ops: set tarball --- .gitea/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 756d7b1..8d9043c 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -71,7 +71,8 @@ jobs: name: Build library uses: https://git.brocklobsta.net/brock/docker-run-action@v3 with: - image: /tmp/docker/${{ runner.os }}-builder-image.tar + tarball: /tmp/docker/${{ runner.os }}-builder-image.tar + image: cproject-builder:latest options: --volumes-from ${{ env.JOB_CONTAINER_NAME }} run: | /bin/bash -c "cd ${{ github.workspace }}; rm -rf build; cmake -B build; cmake --build build" @@ -79,6 +80,7 @@ jobs: name: Test library uses: https://git.brocklobsta.net/brock/docker-run-action@v3 with: + tarball: /tmp/docker/${{ runner.os }}-builder-image.tar image: cproject-builder:latest options: --volumes-from ${{ env.JOB_CONTAINER_NAME }} run: | -- 2.49.1 From 2c9bb098c6915b0b472764a3c03ea17c038da143 Mon Sep 17 00:00:00 2001 From: Brock Allen Date: Sat, 3 Feb 2024 01:33:21 +0000 Subject: [PATCH 04/15] ops: bump docker-run-action@v4 --- .gitea/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 8d9043c..5d59502 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -69,7 +69,7 @@ jobs: key: ${{ runner.os }}-docker-${{ steps.dockerfile-hash.outputs.hash }} - name: Build library - uses: https://git.brocklobsta.net/brock/docker-run-action@v3 + uses: https://git.brocklobsta.net/brock/docker-run-action@v4 with: tarball: /tmp/docker/${{ runner.os }}-builder-image.tar image: cproject-builder:latest @@ -78,7 +78,7 @@ jobs: /bin/bash -c "cd ${{ github.workspace }}; rm -rf build; cmake -B build; cmake --build build" - name: Test library - uses: https://git.brocklobsta.net/brock/docker-run-action@v3 + uses: https://git.brocklobsta.net/brock/docker-run-action@v4 with: tarball: /tmp/docker/${{ runner.os }}-builder-image.tar image: cproject-builder:latest -- 2.49.1 From 39b80e370d2a9922bfeb063d97acaca2577bda84 Mon Sep 17 00:00:00 2001 From: Brock Allen Date: Sun, 4 Feb 2024 01:11:29 +0000 Subject: [PATCH 05/15] ops: upload/download docker image --- .gitea/workflows/ci.yml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 5d59502..2a3beac 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -44,6 +44,14 @@ jobs: file: builder.Dockerfile tags: cproject-builder:latest outputs: type=docker,dest=/tmp/docker/${{ runner.os }}-builder-image.tar + - + name: Upload docker image + if: steps.cache-docker.outputs.cache-hit != 'true' + uses: actions/upload-artifact@v3 + with: + name: ${{ runner.os }}-docker-${{ steps.dockerfile-hash.outputs.hash }} + path: /tmp/docker/${{ runner.os }}-builder-image.tar + retention-days: 3 build-and-test: runs-on: ubuntu-latest @@ -61,12 +69,11 @@ jobs: with: patterns: builder.Dockerfile - - name: Restore docker image - id: cache-docker - uses: actions/cache@v3 + name: Downlaod docker image + uses: actions/download-artifact@v3 with: - path: /tmp/docker - key: ${{ runner.os }}-docker-${{ steps.dockerfile-hash.outputs.hash }} + name: ${{ runner.os }}-docker-${{ steps.dockerfile-hash.outputs.hash }} + path: /tmp/docker/${{ runner.os }}-builder-image.tar - name: Build library uses: https://git.brocklobsta.net/brock/docker-run-action@v4 -- 2.49.1 From 3b78bf69755afebb928ff818276adf47cfcb59b6 Mon Sep 17 00:00:00 2001 From: Brock Allen Date: Sun, 4 Feb 2024 01:15:01 +0000 Subject: [PATCH 06/15] ops: force hash change --- .gitea/workflows/ci.yml | 2 +- builder.Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 2a3beac..21f5876 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -69,7 +69,7 @@ jobs: with: patterns: builder.Dockerfile - - name: Downlaod docker image + name: Download docker image uses: actions/download-artifact@v3 with: name: ${{ runner.os }}-docker-${{ steps.dockerfile-hash.outputs.hash }} diff --git a/builder.Dockerfile b/builder.Dockerfile index fb468a7..036837b 100644 --- a/builder.Dockerfile +++ b/builder.Dockerfile @@ -30,7 +30,7 @@ RUN echo "alias ll='ls -laGFh'" >> /root/.bashrc VOLUME ["/builder/mnt"] WORKDIR /builder/mnt -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # +# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # install clang tools ARG base_tag=bullseye -- 2.49.1 From e56b5ac666966d8091f8194d8f3a7e8e117b0dfc Mon Sep 17 00:00:00 2001 From: Brock Allen Date: Mon, 4 Mar 2024 06:16:01 +0000 Subject: [PATCH 07/15] fix: Use docker-run-action@v5 --- .gitea/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 21f5876..53e4508 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -76,7 +76,7 @@ jobs: path: /tmp/docker/${{ runner.os }}-builder-image.tar - name: Build library - uses: https://git.brocklobsta.net/brock/docker-run-action@v4 + uses: https://git.brocklobsta.net/brock/docker-run-action@v5 with: tarball: /tmp/docker/${{ runner.os }}-builder-image.tar image: cproject-builder:latest @@ -85,7 +85,7 @@ jobs: /bin/bash -c "cd ${{ github.workspace }}; rm -rf build; cmake -B build; cmake --build build" - name: Test library - uses: https://git.brocklobsta.net/brock/docker-run-action@v4 + uses: https://git.brocklobsta.net/brock/docker-run-action@v5 with: tarball: /tmp/docker/${{ runner.os }}-builder-image.tar image: cproject-builder:latest -- 2.49.1 From 4d7e2bc57c34d5b08771208aff5e5b1382034123 Mon Sep 17 00:00:00 2001 From: Brock Allen Date: Mon, 4 Mar 2024 06:34:30 +0000 Subject: [PATCH 08/15] fix: Combine jobs to allow for docker usage --- .gitea/workflows/ci.yml | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 53e4508..d367edb 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -11,7 +11,7 @@ on: # https://docs.docker.com/build/ci/github-actions/share-image-jobs/ # just using caches instead of artifact upload. jobs: - docker-build: + docker-build-and-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -52,28 +52,6 @@ jobs: name: ${{ runner.os }}-docker-${{ steps.dockerfile-hash.outputs.hash }} path: /tmp/docker/${{ runner.os }}-builder-image.tar retention-days: 3 - - build-and-test: - runs-on: ubuntu-latest - needs: docker-build - steps: - - uses: actions/checkout@v3 - - uses: docker/setup-buildx-action@v2 - - uses: actions/setup-go@v3 - with: - go-version: '1.20' - - - name: Hash dockerfile - id: dockerfile-hash - uses: https://gitea.com/actions/go-hashfiles@v0.0.1 - with: - patterns: builder.Dockerfile - - - name: Download docker image - uses: actions/download-artifact@v3 - with: - name: ${{ runner.os }}-docker-${{ steps.dockerfile-hash.outputs.hash }} - path: /tmp/docker/${{ runner.os }}-builder-image.tar - name: Build library uses: https://git.brocklobsta.net/brock/docker-run-action@v5 @@ -108,5 +86,3 @@ jobs: name: reports-${{github.run_number}} path: ${{ env.ASSET }} retention-days: 3 - -# TODO: delete cache on merge. -- 2.49.1 From 39bc8ca45765e704db8e335938b1274545f6feab Mon Sep 17 00:00:00 2001 From: Brock Allen Date: Mon, 4 Mar 2024 06:38:28 +0000 Subject: [PATCH 09/15] use https://github.com/addnab/docker-run-action@v3 --- .gitea/workflows/ci.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index d367edb..5890b32 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -43,6 +43,7 @@ jobs: context: . file: builder.Dockerfile tags: cproject-builder:latest + push: false outputs: type=docker,dest=/tmp/docker/${{ runner.os }}-builder-image.tar - name: Upload docker image @@ -54,18 +55,16 @@ jobs: retention-days: 3 - name: Build library - uses: https://git.brocklobsta.net/brock/docker-run-action@v5 + uses: https://github.com/addnab/docker-run-action@v3 with: - tarball: /tmp/docker/${{ runner.os }}-builder-image.tar image: cproject-builder:latest options: --volumes-from ${{ env.JOB_CONTAINER_NAME }} run: | /bin/bash -c "cd ${{ github.workspace }}; rm -rf build; cmake -B build; cmake --build build" - name: Test library - uses: https://git.brocklobsta.net/brock/docker-run-action@v5 + uses: https://github.com/addnab/docker-run-action@v3 with: - tarball: /tmp/docker/${{ runner.os }}-builder-image.tar image: cproject-builder:latest options: --volumes-from ${{ env.JOB_CONTAINER_NAME }} run: | -- 2.49.1 From 7c5f27d83c6e35ae499bd559e2ad566d41cd9f65 Mon Sep 17 00:00:00 2001 From: Brock Allen Date: Mon, 4 Mar 2024 06:40:51 +0000 Subject: [PATCH 10/15] fix: Remove docker image caching --- .gitea/workflows/ci.yml | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 5890b32..37410cd 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -8,36 +8,17 @@ on: schedule: - cron: '0 1 * * 0' -# https://docs.docker.com/build/ci/github-actions/share-image-jobs/ -# just using caches instead of artifact upload. jobs: docker-build-and-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: docker/setup-buildx-action@v2 - - uses: actions/setup-go@v3 - with: - go-version: '1.20' - name: Create docker cache folder run: mkdir -p /tmp/docker - - - name: Hash dockerfile - id: dockerfile-hash - uses: https://gitea.com/actions/go-hashfiles@v0.0.1 - with: - patterns: builder.Dockerfile - - - name: Restore docker image - id: cache-docker - uses: actions/cache@v3 - with: - path: /tmp/docker - key: ${{ runner.os }}-docker-${{ steps.dockerfile-hash.outputs.hash }} - name: Build docker builder-image - if: steps.cache-docker.outputs.cache-hit != 'true' uses: docker/build-push-action@v4 with: context: . @@ -47,7 +28,6 @@ jobs: outputs: type=docker,dest=/tmp/docker/${{ runner.os }}-builder-image.tar - name: Upload docker image - if: steps.cache-docker.outputs.cache-hit != 'true' uses: actions/upload-artifact@v3 with: name: ${{ runner.os }}-docker-${{ steps.dockerfile-hash.outputs.hash }} -- 2.49.1 From a256d1d9159d73700a7844f1e3ebd6407513cccd Mon Sep 17 00:00:00 2001 From: Brock Allen Date: Mon, 4 Mar 2024 06:54:37 +0000 Subject: [PATCH 11/15] fix: enable load and caching of docker image --- .gitea/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 37410cd..2bf7c1d 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -25,7 +25,9 @@ jobs: file: builder.Dockerfile tags: cproject-builder:latest push: false - outputs: type=docker,dest=/tmp/docker/${{ runner.os }}-builder-image.tar + load: true + cache-from: type=local,src=/tmp/docker/${{ runner.os }}-builder-image.tar + cache-to: type=local,src=/tmp/docker/${{ runner.os }}-builder-image.tar - name: Upload docker image uses: actions/upload-artifact@v3 -- 2.49.1 From 47f4cab3085156cee8d98124165aafc885142bb5 Mon Sep 17 00:00:00 2001 From: Brock Allen Date: Mon, 4 Mar 2024 06:56:17 +0000 Subject: [PATCH 12/15] fix: fix cache-to --- .gitea/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 2bf7c1d..0cf3b83 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -27,7 +27,7 @@ jobs: push: false load: true cache-from: type=local,src=/tmp/docker/${{ runner.os }}-builder-image.tar - cache-to: type=local,src=/tmp/docker/${{ runner.os }}-builder-image.tar + cache-to: type=local,dest=/tmp/docker/${{ runner.os }}-builder-image.tar - name: Upload docker image uses: actions/upload-artifact@v3 -- 2.49.1 From dc48828a918b75da7312da15bd0d4349689a5ecb Mon Sep 17 00:00:00 2001 From: Brock Allen Date: Mon, 4 Mar 2024 07:05:12 +0000 Subject: [PATCH 13/15] fix cache directory --- .gitea/workflows/ci.yml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 0cf3b83..5c3e4bb 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -26,15 +26,8 @@ jobs: tags: cproject-builder:latest push: false load: true - cache-from: type=local,src=/tmp/docker/${{ runner.os }}-builder-image.tar - cache-to: type=local,dest=/tmp/docker/${{ runner.os }}-builder-image.tar - - - name: Upload docker image - uses: actions/upload-artifact@v3 - with: - name: ${{ runner.os }}-docker-${{ steps.dockerfile-hash.outputs.hash }} - path: /tmp/docker/${{ runner.os }}-builder-image.tar - retention-days: 3 + cache-from: type=local,src=/tmp/docker + cache-to: type=local,dest=/tmp/docker - name: Build library uses: https://github.com/addnab/docker-run-action@v3 -- 2.49.1 From 7efae537cf9da805dd8057652939d5fd0b0eef02 Mon Sep 17 00:00:00 2001 From: Brock Allen Date: Mon, 4 Mar 2024 07:24:42 +0000 Subject: [PATCH 14/15] cleanup --- .gitea/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 5c3e4bb..5b35a0a 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -28,6 +28,7 @@ jobs: load: true cache-from: type=local,src=/tmp/docker cache-to: type=local,dest=/tmp/docker + outputs: type=docker,dest=/tmp/docker/${{ runner.os }}-builder-image.tar - name: Build library uses: https://github.com/addnab/docker-run-action@v3 -- 2.49.1 From 034a249976fa9505511b1a9f8950accfbaa7e83e Mon Sep 17 00:00:00 2001 From: Brock Allen Date: Mon, 4 Mar 2024 07:33:35 +0000 Subject: [PATCH 15/15] remove cache --- .gitea/workflows/ci.yml | 6 ------ builder.Dockerfile | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 5b35a0a..9715bf8 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -14,9 +14,6 @@ jobs: steps: - uses: actions/checkout@v3 - uses: docker/setup-buildx-action@v2 - - - name: Create docker cache folder - run: mkdir -p /tmp/docker - name: Build docker builder-image uses: docker/build-push-action@v4 @@ -26,9 +23,6 @@ jobs: tags: cproject-builder:latest push: false load: true - cache-from: type=local,src=/tmp/docker - cache-to: type=local,dest=/tmp/docker - outputs: type=docker,dest=/tmp/docker/${{ runner.os }}-builder-image.tar - name: Build library uses: https://github.com/addnab/docker-run-action@v3 diff --git a/builder.Dockerfile b/builder.Dockerfile index 036837b..fb468a7 100644 --- a/builder.Dockerfile +++ b/builder.Dockerfile @@ -30,7 +30,7 @@ RUN echo "alias ll='ls -laGFh'" >> /root/.bashrc VOLUME ["/builder/mnt"] WORKDIR /builder/mnt -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # +# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # install clang tools ARG base_tag=bullseye -- 2.49.1