From df2c4539b01280a20a72cc961871e95fb4b467bd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 26 Mar 2026 09:26:27 +0000 Subject: [PATCH 1/4] Initial plan From 15f9e13904b7f1e9c2cde5ea3a24807f7e63444a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 26 Mar 2026 09:28:50 +0000 Subject: [PATCH 2/4] Skip install of OpenSSL - no longer required in latest buildcache release Co-authored-by: magnesj <1793152+magnesj@users.noreply.github.com> Agent-Logs-Url: https://github.com/CeetronSolutions/setup-buildcache-action/sessions/0a37a659-c1b1-4348-b1f4-eec1ee536688 --- README.md | 1 - action.yml | 12 ------------ test-basic.sh | 8 ++++---- 3 files changed, 4 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 8708295..a006094 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,6 @@ The action extracts buildcache to a version-specific directory in the user's hom - Avoids requiring administrator privileges for binary installation - Supports multiple buildcache versions simultaneously - Keeps installations isolated and manageable -- Automatically installs required system dependencies (OpenSSL libraries on Linux) ## Using buildcache with CMake diff --git a/action.yml b/action.yml index 25a4278..b2dfb46 100644 --- a/action.yml +++ b/action.yml @@ -42,18 +42,6 @@ runs: VERSION="${{ steps.version.outputs.version }}" echo "Installing buildcache $VERSION for Linux..." - # Install required dependencies - echo "Installing required dependencies..." - sudo apt-get update -qq - # Install OpenSSL 1.1 libraries (buildcache requires libcrypto.so.1.1) - if ! sudo apt-get install -y libssl1.1; then - echo "libssl1.1 not available in default repos, adding focal repo for compatibility..." - echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 - sudo apt-get update -qq - sudo apt-get install -y libssl1.1 - fi - # Determine download URL based on version # v0.31.4+ uses buildcache-linux-amd64.tar.gz # v0.31.3 and earlier use buildcache-linux.tar.gz diff --git a/test-basic.sh b/test-basic.sh index 80d7ec3..91fd285 100644 --- a/test-basic.sh +++ b/test-basic.sh @@ -151,11 +151,11 @@ fi # Test 10: Validate archive extraction and PATH logic echo "📋 Test 10: Validating archive extraction and PATH logic..." -# Check Linux dependency installation -if grep -q "apt-get.*libssl" action.yml; then - echo "✅ Linux installs required dependencies" +# Check Linux does NOT install OpenSSL (no longer required) +if ! grep -q "apt-get.*libssl" action.yml; then + echo "✅ Linux does not install OpenSSL (no longer required)" else - echo "❌ Linux dependency installation missing" + echo "❌ Linux still installs OpenSSL which is no longer required" exit 1 fi From aae6daa28f507274c7f35665c45bf78345710aba Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 26 Mar 2026 09:50:38 +0000 Subject: [PATCH 3/4] Blacklist v0.31.5 and v0.31.6 from tests - still require OpenSSL on ubuntu-24.04 Co-authored-by: magnesj <1793152+magnesj@users.noreply.github.com> Agent-Logs-Url: https://github.com/CeetronSolutions/setup-buildcache-action/sessions/b426ed9a-00d4-43e6-952f-f9b72199c041 --- .github/workflows/test.yml | 10 ++++------ test-basic.sh | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 05ac2b2..9f6d96b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -54,7 +54,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest] - version: [v0.31.5, v0.31.3, v0.30.0, v0.28.5] + version: [v0.31.3, v0.30.0, v0.28.5] runs-on: ${{ matrix.os }} steps: - name: Checkout repository @@ -204,13 +204,13 @@ jobs: - name: Install second version (upgrade) uses: ./ with: - version: v0.31.5 + version: v0.31.4 - name: Verify upgrade run: | VERSION=$(buildcache --version) - if [[ ! "$VERSION" =~ BuildCache.*version.*0\.31\.5 ]]; then - echo "Error: Upgrade failed - expected 0.31.5 but got: $VERSION" + if [[ ! "$VERSION" =~ BuildCache.*version.*0\.31\.4 ]]; then + echo "Error: Upgrade failed - expected 0.31.4 but got: $VERSION" exit 1 fi echo "✅ Upgrade successful" @@ -221,8 +221,6 @@ jobs: strategy: matrix: include: - - version: v0.31.5 - format: "new (v0.31.4+)" - version: v0.31.4 format: "new (v0.31.4+)" - version: v0.31.3 diff --git a/test-basic.sh b/test-basic.sh index 91fd285..fe56517 100644 --- a/test-basic.sh +++ b/test-basic.sh @@ -117,7 +117,7 @@ fi # Test 7: Check for version compatibility in tests echo "📋 Test 7: Checking test version coverage..." -if grep -q "v0.31.5" .github/workflows/test.yml && \ +if grep -q "v0.31.4" .github/workflows/test.yml && \ grep -q "v0.31.3" .github/workflows/test.yml && \ grep -q "v0.28.5" .github/workflows/test.yml; then echo "✅ Test workflow covers multiple buildcache versions" From 413a1620a6f1e2a0e0afc4286608e644056fcd08 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 26 Mar 2026 09:53:08 +0000 Subject: [PATCH 4/4] Always include latest version in tests Co-authored-by: magnesj <1793152+magnesj@users.noreply.github.com> Agent-Logs-Url: https://github.com/CeetronSolutions/setup-buildcache-action/sessions/b426ed9a-00d4-43e6-952f-f9b72199c041 --- .github/workflows/test.yml | 47 ++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9f6d96b..4f32d3f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -54,7 +54,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest] - version: [v0.31.3, v0.30.0, v0.28.5] + version: [v0.31.3, v0.30.0, v0.28.5, latest] runs-on: ${{ matrix.os }} steps: - name: Checkout repository @@ -71,13 +71,21 @@ jobs: VERSION=$(buildcache --version) echo "Installed version: $VERSION" EXPECTED="${{ matrix.version }}" - # Remove 'v' prefix for comparison - EXPECTED_NUM="${EXPECTED#v}" - if [[ ! "$VERSION" =~ BuildCache.*version.*$EXPECTED_NUM ]]; then - echo "Error: Expected version $EXPECTED_NUM but got $VERSION" - exit 1 + if [ "$EXPECTED" = "latest" ]; then + if [[ ! "$VERSION" =~ BuildCache.*version.*[0-9]+\.[0-9]+\.[0-9]+ ]]; then + echo "Error: Expected a valid version but got $VERSION" + exit 1 + fi + echo "✅ Latest version installed" + else + # Remove 'v' prefix for comparison + EXPECTED_NUM="${EXPECTED#v}" + if [[ ! "$VERSION" =~ BuildCache.*version.*$EXPECTED_NUM ]]; then + echo "Error: Expected version $EXPECTED_NUM but got $VERSION" + exit 1 + fi + echo "✅ Correct version $EXPECTED installed" fi - echo "✅ Correct version $EXPECTED installed" test-invalid-version: name: Test invalid version handling @@ -204,16 +212,16 @@ jobs: - name: Install second version (upgrade) uses: ./ with: - version: v0.31.4 + version: latest - name: Verify upgrade run: | VERSION=$(buildcache --version) - if [[ ! "$VERSION" =~ BuildCache.*version.*0\.31\.4 ]]; then - echo "Error: Upgrade failed - expected 0.31.4 but got: $VERSION" + if [[ ! "$VERSION" =~ BuildCache.*version.*[0-9]+\.[0-9]+\.[0-9]+ ]]; then + echo "Error: Upgrade to latest failed - invalid version: $VERSION" exit 1 fi - echo "✅ Upgrade successful" + echo "✅ Upgrade to latest version successful" test-url-formats: name: Test different URL formats @@ -221,6 +229,8 @@ jobs: strategy: matrix: include: + - version: latest + format: "new (latest)" - version: v0.31.4 format: "new (v0.31.4+)" - version: v0.31.3 @@ -242,10 +252,17 @@ jobs: run: | VERSION=$(buildcache --version) EXPECTED="${{ matrix.version }}" - EXPECTED_NUM="${EXPECTED#v}" - if [[ ! "$VERSION" =~ BuildCache.*version.*$EXPECTED_NUM ]]; then - echo "Error: Expected version $EXPECTED_NUM but got $VERSION" - exit 1 + if [ "$EXPECTED" = "latest" ]; then + if [[ ! "$VERSION" =~ BuildCache.*version.*[0-9]+\.[0-9]+\.[0-9]+ ]]; then + echo "Error: Expected a valid version but got $VERSION" + exit 1 + fi + else + EXPECTED_NUM="${EXPECTED#v}" + if [[ ! "$VERSION" =~ BuildCache.*version.*$EXPECTED_NUM ]]; then + echo "Error: Expected version $EXPECTED_NUM but got $VERSION" + exit 1 + fi fi echo "✅ ${{ matrix.version }} installed correctly using ${{ matrix.format }} URL format"