From 4460a953f0cdf8f01a1ac8a205a8d8cb04bb207b Mon Sep 17 00:00:00 2001 From: Brendan <2bndy5@gmail.com> Date: Mon, 26 Aug 2024 19:57:03 -0700 Subject: [PATCH 1/6] reduce test CI workflow run time This involves saving a build per OS that can be as large as 2GB. --- .github/workflows/run-dev-tests.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/run-dev-tests.yml b/.github/workflows/run-dev-tests.yml index fcb5464..0c74f42 100644 --- a/.github/workflows/run-dev-tests.yml +++ b/.github/workflows/run-dev-tests.yml @@ -37,6 +37,19 @@ jobs: path: ~/.cargo key: ${{ runner.os }}-test-cargo-${{ hashFiles('Cargo.lock') }} - run: cargo fetch + - run: rustup component add llvm-tools-preview + - name: Install third-party binaries + uses: taiki-e/install-action@v2 + with: + tool: cargo-nextest,cargo-llvm-cov,cargo-binstall,just + - run: just test + continue-on-error: true + - name: save build as artifact + uses: actions/upload-artifact@v4 + with: + path: target/llvm-cov-target + name: cpp-linter-lib_tests-${{ runner.os }}-${{ github.run_id }} + retention-days: 1 test: needs: [cache-deps] @@ -113,6 +126,12 @@ jobs: path: ~/.cargo key: ${{ runner.os }}-test-cargo-${{ hashFiles('Cargo.lock') }} + - name: restore build from artifact + uses: actions/download-artifact@v4 + with: + path: target/llvm-cov-target + name: cpp-linter-lib_tests-${{ runner.os }}-${{ github.run_id }} + - name: Collect Coverage working-directory: cpp-linter-lib env: From 57b02dc96b35fb574ff3714c39bb0d7cb4d8675b Mon Sep 17 00:00:00 2001 From: Brendan <2bndy5@gmail.com> Date: Mon, 26 Aug 2024 20:09:16 -0700 Subject: [PATCH 2/6] install meson for successful caching build artifacts --- .github/workflows/run-dev-tests.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/run-dev-tests.yml b/.github/workflows/run-dev-tests.yml index 0c74f42..44b6812 100644 --- a/.github/workflows/run-dev-tests.yml +++ b/.github/workflows/run-dev-tests.yml @@ -42,8 +42,13 @@ jobs: uses: taiki-e/install-action@v2 with: tool: cargo-nextest,cargo-llvm-cov,cargo-binstall,just + - uses: actions/setup-python@v5 + with: + python-version: 3.x + - name: Install workflow deps + run: python3 -m pip install meson - run: just test - continue-on-error: true + # continue-on-error: true - name: save build as artifact uses: actions/upload-artifact@v4 with: From 022720f063f7e1fc9d7a88d6f376f3ec772e3806 Mon Sep 17 00:00:00 2001 From: Brendan <2bndy5@gmail.com> Date: Mon, 26 Aug 2024 20:12:24 -0700 Subject: [PATCH 3/6] install ninja for success as well --- .github/workflows/run-dev-tests.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/run-dev-tests.yml b/.github/workflows/run-dev-tests.yml index 44b6812..f0786d2 100644 --- a/.github/workflows/run-dev-tests.yml +++ b/.github/workflows/run-dev-tests.yml @@ -47,6 +47,12 @@ jobs: python-version: 3.x - name: Install workflow deps run: python3 -m pip install meson + - name: Install ninja (Linux) + if: runner.os == 'Linux' + run: sudo apt-get install ninja-build + - name: Install ninja (Windows) + if: runner.os == 'Windows' + run: choco install ninja - run: just test # continue-on-error: true - name: save build as artifact From 15a213e5fb0b972ebf13207d32c6885a83e33997 Mon Sep 17 00:00:00 2001 From: Brendan <2bndy5@gmail.com> Date: Mon, 26 Aug 2024 20:29:37 -0700 Subject: [PATCH 4/6] try to preserve file permissions in artifact --- .github/workflows/run-dev-tests.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run-dev-tests.yml b/.github/workflows/run-dev-tests.yml index f0786d2..feafe4f 100644 --- a/.github/workflows/run-dev-tests.yml +++ b/.github/workflows/run-dev-tests.yml @@ -55,10 +55,12 @@ jobs: run: choco install ninja - run: just test # continue-on-error: true + - name: Tar build assets + run: tar -cvf llvm-cov-target.tar target/llvm-cov-target - name: save build as artifact uses: actions/upload-artifact@v4 with: - path: target/llvm-cov-target + path: llvm-cov-target.tar name: cpp-linter-lib_tests-${{ runner.os }}-${{ github.run_id }} retention-days: 1 @@ -140,8 +142,9 @@ jobs: - name: restore build from artifact uses: actions/download-artifact@v4 with: - path: target/llvm-cov-target name: cpp-linter-lib_tests-${{ runner.os }}-${{ github.run_id }} + - name: Un-Tar build assets + run: tar -xvf llvm-cov-assets.tar - name: Collect Coverage working-directory: cpp-linter-lib From d17b5c977bb139d29cf4f610dbbcfd22cab002bf Mon Sep 17 00:00:00 2001 From: Brendan <2bndy5@gmail.com> Date: Mon, 26 Aug 2024 20:39:03 -0700 Subject: [PATCH 5/6] fix typo --- .github/workflows/run-dev-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-dev-tests.yml b/.github/workflows/run-dev-tests.yml index feafe4f..c6baff3 100644 --- a/.github/workflows/run-dev-tests.yml +++ b/.github/workflows/run-dev-tests.yml @@ -60,7 +60,7 @@ jobs: - name: save build as artifact uses: actions/upload-artifact@v4 with: - path: llvm-cov-target.tar + path: llvm-cov-assets.tar name: cpp-linter-lib_tests-${{ runner.os }}-${{ github.run_id }} retention-days: 1 From 5d99c6bfe6c6378852fedc34e6994a30bb029497 Mon Sep 17 00:00:00 2001 From: Brendan <2bndy5@gmail.com> Date: Mon, 26 Aug 2024 20:43:19 -0700 Subject: [PATCH 6/6] same typo --- .github/workflows/run-dev-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-dev-tests.yml b/.github/workflows/run-dev-tests.yml index c6baff3..39bf6e1 100644 --- a/.github/workflows/run-dev-tests.yml +++ b/.github/workflows/run-dev-tests.yml @@ -56,7 +56,7 @@ jobs: - run: just test # continue-on-error: true - name: Tar build assets - run: tar -cvf llvm-cov-target.tar target/llvm-cov-target + run: tar -cvf llvm-cov-assets.tar target/llvm-cov-target - name: save build as artifact uses: actions/upload-artifact@v4 with: