summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorDmitry Misharov <dmitry@openssl.org>2023-12-14 12:29:23 +0100
committerTomas Mraz <tomas@openssl.org>2023-12-19 11:11:28 +0100
commit834a2d7088a042a4f8f95fa2b8327fd388556151 (patch)
tree6c24672bb63e8275962f3f8dcaa1abc645d00e53 /.github
parent625287bc80129deedab7484ee4c0ac112ae874a0 (diff)
run GitHub CI workflow on self-hosted runners
Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/23042)
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/ci.yml114
1 files changed, 83 insertions, 31 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 165f435c69..ae9ad6a269 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -23,7 +23,7 @@ permissions:
jobs:
check_update:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- name: install unifdef
run: |
@@ -42,7 +42,7 @@ jobs:
run: git diff --exit-code
check_docs:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
- name: config
@@ -62,7 +62,7 @@ jobs:
# We are not as strict with libraries, but rather adapt to what's
# expected to be available in a certain version of each platform.
check-ansi:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
- name: config
@@ -71,7 +71,7 @@ jobs:
run: make -s -j4
basic_gcc:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
- name: checkout fuzz/corpora submodule
@@ -91,7 +91,7 @@ jobs:
run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
basic_clang:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
- name: checkout fuzz/corpora submodule
@@ -127,7 +127,7 @@ jobs:
run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
minimal:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
- name: checkout fuzz/corpora submodule
@@ -144,7 +144,7 @@ jobs:
run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
no-deprecated:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
- name: checkout fuzz/corpora submodule
@@ -160,11 +160,8 @@ jobs:
- name: make test
run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
- no-shared:
- strategy:
- matrix:
- os: [ ubuntu-latest, macos-latest ]
- runs-on: ${{matrix.os}}
+ no-shared-ubuntu:
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
- name: checkout fuzz/corpora submodule
@@ -174,12 +171,32 @@ jobs:
- name: make
run: make -s -j4
- name: get cpu info
- run: ./util/opensslwrap.sh version -c
+ run: |
+ cat /proc/cpuinfo
+ ./util/opensslwrap.sh version -c
+ - name: make test
+ run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
+
+ no-shared-macos:
+ runs-on: macos-latest
+ if: github.server_url == 'https://github.com'
+ steps:
+ - uses: actions/checkout@v4
+ - name: checkout fuzz/corpora submodule
+ run: git submodule update --init --depth 1 fuzz/corpora
+ - name: config
+ run: ./config --banner=Configured --strict-warnings no-shared no-fips && perl configdata.pm --dump
+ - name: make
+ run: make -s -j4
+ - name: get cpu info
+ run: |
+ sysctl machdep.cpu
+ ./util/opensslwrap.sh version -c
- name: make test
run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
non-caching:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
- name: checkout fuzz/corpora submodule
@@ -196,7 +213,7 @@ jobs:
run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} OPENSSL_TEST_RAND_ORDER=0 TESTS="-test_fuzz* -test_ssl_* -test_sslapi -test_evp -test_cmp_http -test_verify -test_cms -test_store -test_enc -[01][0-9]"
address_ub_sanitizer:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
- name: checkout fuzz/corpora submodule
@@ -213,7 +230,7 @@ jobs:
run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} OPENSSL_TEST_RAND_ORDER=0
fuzz_tests:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
- name: checkout fuzz/corpora submodule
@@ -230,7 +247,7 @@ jobs:
run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} OPENSSL_TEST_RAND_ORDER=0 TESTS="test_fuzz*"
memory_sanitizer:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
- name: checkout fuzz/corpora submodule
@@ -248,7 +265,7 @@ jobs:
run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} OPENSSL_TEST_RAND_ORDER=0
threads_sanitizer:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
- name: checkout fuzz/corpora submodule
@@ -265,7 +282,7 @@ jobs:
run: make V=1 TESTS="test_threads test_internal_provider test_provfetch test_provider test_pbe test_evp_kdf test_pkcs12 test_store test_evp test_quic*" test HARNESS_JOBS=${HARNESS_JOBS:-4}
enable_non-default_options:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
- name: checkout fuzz/corpora submodule
@@ -284,7 +301,7 @@ jobs:
run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
full_featured:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
- name: checkout fuzz/corpora submodule
@@ -309,7 +326,7 @@ jobs:
run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
no-legacy:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
- name: checkout fuzz/corpora submodule
@@ -326,7 +343,7 @@ jobs:
run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
legacy:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
- name: checkout fuzz/corpora submodule
@@ -347,11 +364,8 @@ jobs:
# 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}}
+ out-of-readonly-source-and-install-ubuntu:
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
with:
@@ -374,7 +388,45 @@ jobs:
run: make -s -j4
working-directory: ./build
- name: get cpu info
- run: ./util/opensslwrap.sh version -c
+ run: |
+ cat /proc/cpuinfo
+ ./util/opensslwrap.sh version -c
+ working-directory: ./build
+ - name: make test
+ run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
+ working-directory: ./build
+ - name: make install
+ run: make install
+ working-directory: ./build
+
+ out-of-readonly-source-and-install-macos:
+ runs-on: macos-latest
+ if: github.server_url == 'https://github.com'
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ path: ./source
+ - name: checkout fuzz/corpora submodule
+ run: git submodule update --init --depth 1 fuzz/corpora
+ working-directory: ./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: |
+ ../source/config --banner=Configured enable-fips enable-quic enable-acvp-tests --strict-warnings --prefix=$(cd ../install; pwd)
+ perl configdata.pm --dump
+ working-directory: ./build
+ - name: make
+ run: make -s -j4
+ working-directory: ./build
+ - name: get cpu info
+ run: |
+ sysctl machdep.cpu
+ ./util/opensslwrap.sh version -c
working-directory: ./build
- name: make test
run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
@@ -384,7 +436,7 @@ jobs:
working-directory: ./build
external-tests:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
with:
@@ -417,7 +469,7 @@ jobs:
run: make test TESTS="test_external_oqsprovider"
external-test-pyca:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
strategy:
matrix:
RUST:
@@ -450,7 +502,7 @@ jobs:
run: make test TESTS="test_external_pyca" VERBOSE=1
external-test-cf-quiche:
- runs-on: ubuntu-latest
+ runs-on: ${{ github.server_url == 'https://github.com' && 'ubuntu-latest' || 'ubuntu-22.04-self-hosted' }}
steps:
- uses: actions/checkout@v4
with: