Modify 'out-of-source-and-install' to work with a read-only source tree
authorRichard Levitte <levitte@openssl.org>
Tue, 28 Nov 2023 14:55:43 +0000 (15:55 +0100)
committerRichard Levitte <levitte@openssl.org>
Fri, 8 Dec 2023 07:58:30 +0000 (08:58 +0100)
Fixes #22907

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22934)

.github/workflows/ci.yml

index 830e2d75f7a76048fd73d717112bbc03bd44246a..00be6562451fa7cfb1b2374356fed2d12adc6edb 100644 (file)
@@ -251,19 +251,30 @@ jobs:
     - name: make test
       run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
 
-  out-of-source-and-install:
+  # out-of-source-and-install checks multiple things at the same time:
+  # - That building, testing and installing works from an out-of-source
+  #   build tree
+  # - That building, testing and installing works with a read-only source
+  #   tree
+  out-of-readonly-source-and-install:
     strategy:
       matrix:
         os: [ubuntu-latest, macos-latest ]
     runs-on: ${{matrix.os}}
     steps:
     - uses: actions/checkout@v4
-    - name: extra preparations
+      with:
+        path: ./source
+    - name: make source read-only
+      run: chmod -R a-w ./source
+    - name: create build and install directories
       run: |
         mkdir ./build
         mkdir ./install
     - name: config
-      run: ../config --banner=Configured enable-fips enable-acvp-tests --strict-warnings --prefix=$(cd ../install; pwd) && perl configdata.pm --dump
+      run: |
+        ../source/config --banner=Configured enable-fips enable-acvp-tests --strict-warnings --prefix=$(cd ../install; pwd)
+        perl configdata.pm --dump
       working-directory: ./build
     - name: make
       run: make -s -j4