diff options
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/android.yml | 4 | ||||
| -rw-r--r-- | .github/workflows/cifuzz.yml | 4 | ||||
| -rw-r--r-- | .github/workflows/cmake-config.yml | 98 | ||||
| -rw-r--r-- | .github/workflows/cmake_config.yml | 89 | ||||
| -rw-r--r-- | .github/workflows/coverity.yml | 6 | ||||
| -rw-r--r-- | .github/workflows/emscripten.yml | 12 | ||||
| -rw-r--r-- | .github/workflows/fedora-rawhide.yml | 6 | ||||
| -rw-r--r-- | .github/workflows/freebsd.yml | 71 | ||||
| -rw-r--r-- | .github/workflows/linux.yml | 27 | ||||
| -rw-r--r-- | .github/workflows/macos.yml | 4 | ||||
| -rw-r--r-- | .github/workflows/release.yml | 22 | ||||
| -rw-r--r-- | .github/workflows/rust-openssl.yml | 4 | ||||
| -rw-r--r-- | .github/workflows/solaris.yml | 6 | ||||
| -rw-r--r-- | .github/workflows/windows.yml | 15 |
14 files changed, 228 insertions, 140 deletions
diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index d095d6d..976f2d3 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml | |||
| @@ -10,7 +10,7 @@ concurrency: | |||
| 10 | jobs: | 10 | jobs: |
| 11 | test: | 11 | test: |
| 12 | name: "Test ${{ matrix.name }}" | 12 | name: "Test ${{ matrix.name }}" |
| 13 | runs-on: ubuntu-latest | 13 | runs-on: ubuntu-24.04 |
| 14 | permissions: | 14 | permissions: |
| 15 | contents: read | 15 | contents: read |
| 16 | strategy: | 16 | strategy: |
| @@ -25,7 +25,7 @@ jobs: | |||
| 25 | max-nal: 30 | 25 | max-nal: 30 |
| 26 | steps: | 26 | steps: |
| 27 | - name: "Checkout repository" | 27 | - name: "Checkout repository" |
| 28 | uses: actions/checkout@v4 | 28 | uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| 29 | 29 | ||
| 30 | - name: "Run CI script" | 30 | - name: "Run CI script" |
| 31 | run: ./scripts/test | 31 | run: ./scripts/test |
diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml index 966d92a..eaa0681 100644 --- a/.github/workflows/cifuzz.yml +++ b/.github/workflows/cifuzz.yml | |||
| @@ -9,7 +9,7 @@ concurrency: | |||
| 9 | 9 | ||
| 10 | jobs: | 10 | jobs: |
| 11 | Fuzzing: | 11 | Fuzzing: |
| 12 | runs-on: ubuntu-latest | 12 | runs-on: ubuntu-24.04 |
| 13 | steps: | 13 | steps: |
| 14 | - name: Build Fuzzers | 14 | - name: Build Fuzzers |
| 15 | id: build | 15 | id: build |
| @@ -26,7 +26,7 @@ jobs: | |||
| 26 | dry-run: false | 26 | dry-run: false |
| 27 | language: c++ | 27 | language: c++ |
| 28 | - name: Upload Crash | 28 | - name: Upload Crash |
| 29 | uses: actions/upload-artifact@v3 | 29 | uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 |
| 30 | if: failure() && steps.build.outcome == 'success' | 30 | if: failure() && steps.build.outcome == 'success' |
| 31 | with: | 31 | with: |
| 32 | name: artifacts | 32 | name: artifacts |
diff --git a/.github/workflows/cmake-config.yml b/.github/workflows/cmake-config.yml new file mode 100644 index 0000000..0de7b4f --- /dev/null +++ b/.github/workflows/cmake-config.yml | |||
| @@ -0,0 +1,98 @@ | |||
| 1 | # GitHub Actions workflow to check CMake config. | ||
| 2 | name: "CMake Check" | ||
| 3 | |||
| 4 | on: | ||
| 5 | push: {} | ||
| 6 | pull_request: {} | ||
| 7 | |||
| 8 | concurrency: | ||
| 9 | group: "${{ github.workflow }}-${{ github.event.number || github.ref }}" | ||
| 10 | cancel-in-progress: true | ||
| 11 | |||
| 12 | jobs: | ||
| 13 | check: | ||
| 14 | name: "${{ matrix.os }}" | ||
| 15 | runs-on: "${{ matrix.os }}" | ||
| 16 | strategy: | ||
| 17 | fail-fast: true | ||
| 18 | matrix: | ||
| 19 | os: [ "windows-2022", "macos-14", "ubuntu-24.04" ] | ||
| 20 | defaults: | ||
| 21 | run: | ||
| 22 | shell: "bash" | ||
| 23 | permissions: | ||
| 24 | contents: read | ||
| 25 | steps: | ||
| 26 | - name: "Checkout repository" | ||
| 27 | uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | ||
| 28 | |||
| 29 | - name: "Setup Windows dependencies" | ||
| 30 | if: runner.os == 'Windows' | ||
| 31 | uses: msys2/setup-msys2@4f806de0a5a7294ffabaff804b38a9b435a73bda # v2.30.0 | ||
| 32 | with: | ||
| 33 | update: true | ||
| 34 | install: >- | ||
| 35 | autoconf | ||
| 36 | automake | ||
| 37 | diffutils | ||
| 38 | libtool | ||
| 39 | gcc | ||
| 40 | git | ||
| 41 | patch | ||
| 42 | perl | ||
| 43 | |||
| 44 | - name: "Setup macOS dependencies" | ||
| 45 | if: runner.os == 'macOS' | ||
| 46 | run: brew install automake libtool | ||
| 47 | |||
| 48 | - name: "Prepare source tree for build (Windows)" | ||
| 49 | if: runner.os == 'Windows' | ||
| 50 | shell: "msys2 {0}" | ||
| 51 | run: ./autogen.sh | ||
| 52 | |||
| 53 | - name: "Prepare source tree for build (Unix)" | ||
| 54 | if: runner.os != 'Windows' | ||
| 55 | run: ./autogen.sh | ||
| 56 | |||
| 57 | - name: "Configure" | ||
| 58 | run: | | ||
| 59 | cmake -S . \ | ||
| 60 | -B build \ | ||
| 61 | -D CMAKE_BUILD_TYPE=Release \ | ||
| 62 | -D CMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/../local | ||
| 63 | |||
| 64 | - name: "Build" | ||
| 65 | run: cmake --build build --config Release --verbose | ||
| 66 | |||
| 67 | - name: "Install" | ||
| 68 | run: cmake --install build --config Release | ||
| 69 | |||
| 70 | - name: "Consume from the build directory - Configure" | ||
| 71 | run: | | ||
| 72 | cmake -S tests/cmake \ | ||
| 73 | -B consumer-build \ | ||
| 74 | -D CMAKE_BUILD_TYPE=Release \ | ||
| 75 | -D LibreSSL_DIR=$GITHUB_WORKSPACE/build | ||
| 76 | |||
| 77 | - name: "Consume from the build directory - Build" | ||
| 78 | run: cmake --build consumer-build --config Release --verbose | ||
| 79 | |||
| 80 | - name: "Consume from the install directory (CMAKE_PREFIX_PATH) - Configure" | ||
| 81 | run: | | ||
| 82 | cmake -S tests/cmake \ | ||
| 83 | -B consumer-install-prefix \ | ||
| 84 | -D CMAKE_BUILD_TYPE=Release \ | ||
| 85 | -D CMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/../local | ||
| 86 | |||
| 87 | - name: "Consume from the install directory (CMAKE_PREFIX_PATH) - Build" | ||
| 88 | run: cmake --build consumer-install-prefix --config Release --verbose | ||
| 89 | |||
| 90 | - name: "Consume from the install directory (LibreSSL_DIR) - Configure" | ||
| 91 | run: | | ||
| 92 | cmake -S tests/cmake \ | ||
| 93 | -B consumer-install-dir \ | ||
| 94 | -D CMAKE_BUILD_TYPE=Release \ | ||
| 95 | -D LibreSSL_DIR=$GITHUB_WORKSPACE/../local/lib/cmake/LibreSSL | ||
| 96 | |||
| 97 | - name: "Consume from the install directory (LibreSSL_DIR) - Build" | ||
| 98 | run: cmake --build consumer-install-dir --config Release --verbose | ||
diff --git a/.github/workflows/cmake_config.yml b/.github/workflows/cmake_config.yml deleted file mode 100644 index be9f114..0000000 --- a/.github/workflows/cmake_config.yml +++ /dev/null | |||
| @@ -1,89 +0,0 @@ | |||
| 1 | name: cmake_config | ||
| 2 | |||
| 3 | on: [push, pull_request] | ||
| 4 | |||
| 5 | concurrency: | ||
| 6 | group: "${{ github.workflow }}-${{ github.event.number || github.ref }}" | ||
| 7 | cancel-in-progress: true | ||
| 8 | |||
| 9 | jobs: | ||
| 10 | cmake-check: | ||
| 11 | defaults: | ||
| 12 | run: | ||
| 13 | shell: bash | ||
| 14 | strategy: | ||
| 15 | matrix: | ||
| 16 | os: [windows-latest, macos-latest, ubuntu-latest] | ||
| 17 | runs-on: ${{ matrix.os }} | ||
| 18 | continue-on-error: false | ||
| 19 | name: ${{ matrix.os }} | ||
| 20 | steps: | ||
| 21 | - name: Setup Windows dependencies | ||
| 22 | if: runner.os == 'Windows' | ||
| 23 | uses: msys2/setup-msys2@v2 | ||
| 24 | with: | ||
| 25 | update: true | ||
| 26 | install: >- | ||
| 27 | autoconf | ||
| 28 | automake | ||
| 29 | diffutils | ||
| 30 | libtool | ||
| 31 | gcc | ||
| 32 | git | ||
| 33 | patch | ||
| 34 | perl | ||
| 35 | |||
| 36 | - name: Setup macOS dependencies | ||
| 37 | if: runner.os == 'macOS' | ||
| 38 | run: brew install automake libtool | ||
| 39 | |||
| 40 | - uses: actions/checkout@main | ||
| 41 | |||
| 42 | - name: Prepare source tree for build (Windows) | ||
| 43 | if: runner.os == 'Windows' | ||
| 44 | run: ./autogen.sh | ||
| 45 | shell: msys2 {0} | ||
| 46 | |||
| 47 | - name: Prepare source tree for build (Unix) | ||
| 48 | if: runner.os != 'Windows' | ||
| 49 | run: ./autogen.sh | ||
| 50 | |||
| 51 | - name: Configure | ||
| 52 | run: | | ||
| 53 | cmake -S . \ | ||
| 54 | -B build \ | ||
| 55 | -D CMAKE_BUILD_TYPE=Release \ | ||
| 56 | -D CMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/../local | ||
| 57 | |||
| 58 | - name: Build | ||
| 59 | run: cmake --build build --config Release --verbose | ||
| 60 | |||
| 61 | - name: Install | ||
| 62 | run: cmake --install build --config Release | ||
| 63 | |||
| 64 | - name: Consume from the build directory - Configure | ||
| 65 | run: | | ||
| 66 | cmake -S tests/cmake \ | ||
| 67 | -B consumer-build \ | ||
| 68 | -D CMAKE_BUILD_TYPE=Release \ | ||
| 69 | -D LibreSSL_DIR=$GITHUB_WORKSPACE/build | ||
| 70 | - name: Consume from the build directory - Build | ||
| 71 | run: cmake --build consumer-build --config Release --verbose | ||
| 72 | |||
| 73 | - name: Consume from the install directory (CMAKE_PREFIX_PATH) - Configure | ||
| 74 | run: | | ||
| 75 | cmake -S tests/cmake \ | ||
| 76 | -B consumer-install-prefix \ | ||
| 77 | -D CMAKE_BUILD_TYPE=Release \ | ||
| 78 | -D CMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/../local | ||
| 79 | - name: Consume from the install directory (CMAKE_PREFIX_PATH) - Build | ||
| 80 | run: cmake --build consumer-install-prefix --config Release --verbose | ||
| 81 | |||
| 82 | - name: Consume from the install directory (LibreSSL_DIR) - Configure | ||
| 83 | run: | | ||
| 84 | cmake -S tests/cmake \ | ||
| 85 | -B consumer-install-dir \ | ||
| 86 | -D CMAKE_BUILD_TYPE=Release \ | ||
| 87 | -D LibreSSL_DIR=$GITHUB_WORKSPACE/../local/lib/cmake/LibreSSL | ||
| 88 | - name: Consume from the install directory (LibreSSL_DIR) - Build | ||
| 89 | run: cmake --build consumer-install-dir --config Release --verbose | ||
diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml index 112678f..3cc0560 100644 --- a/.github/workflows/coverity.yml +++ b/.github/workflows/coverity.yml | |||
| @@ -13,13 +13,13 @@ concurrency: | |||
| 13 | jobs: | 13 | jobs: |
| 14 | scan: | 14 | scan: |
| 15 | name: "Scan" | 15 | name: "Scan" |
| 16 | runs-on: "ubuntu-latest" | 16 | runs-on: "ubuntu-24.04" |
| 17 | if: github.repository_owner == 'libressl' # Prevent running on forks | 17 | if: github.repository_owner == 'libressl' # Prevent running on forks |
| 18 | permissions: | 18 | permissions: |
| 19 | contents: read | 19 | contents: read |
| 20 | steps: | 20 | steps: |
| 21 | - name: "Checkout repository" | 21 | - name: "Checkout repository" |
| 22 | uses: actions/checkout@v4 | 22 | uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| 23 | 23 | ||
| 24 | - name: "Install dependencies" | 24 | - name: "Install dependencies" |
| 25 | run: | | 25 | run: | |
| @@ -31,7 +31,7 @@ jobs: | |||
| 31 | PROJECT: "libressl-portable%2Fportable" | 31 | PROJECT: "libressl-portable%2Fportable" |
| 32 | COVERITY_SCAN_TOKEN: "${{ secrets.COVERITY_SCAN_TOKEN }}" | 32 | COVERITY_SCAN_TOKEN: "${{ secrets.COVERITY_SCAN_TOKEN }}" |
| 33 | run: | | 33 | run: | |
| 34 | wget -c -N https://scan.coverity.com/download/linux64 --post-data "token=$COVERITY_SCAN_TOKEN&project=$PROJECT" -O coverity_tool.tar.gz | 34 | wget -nv https://scan.coverity.com/download/linux64 --post-data "token=$COVERITY_SCAN_TOKEN&project=$PROJECT" -O coverity_tool.tar.gz |
| 35 | mkdir coverity_tool | 35 | mkdir coverity_tool |
| 36 | tar xzf coverity_tool.tar.gz --strip 1 -C coverity_tool | 36 | tar xzf coverity_tool.tar.gz --strip 1 -C coverity_tool |
| 37 | 37 | ||
diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index 07f140d..2de51e0 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml | |||
| @@ -14,16 +14,16 @@ concurrency: | |||
| 14 | jobs: | 14 | jobs: |
| 15 | test: | 15 | test: |
| 16 | name: "Emscripten" | 16 | name: "Emscripten" |
| 17 | runs-on: "ubuntu-latest" | 17 | runs-on: "ubuntu-24.04" |
| 18 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} | 18 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} |
| 19 | permissions: | 19 | permissions: |
| 20 | contents: read | 20 | contents: read |
| 21 | steps: | 21 | steps: |
| 22 | - name: "Checkout repository" | 22 | - name: "Checkout repository" |
| 23 | uses: actions/checkout@v4 | 23 | uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| 24 | 24 | ||
| 25 | - name: "Setup emsdk" | 25 | - name: "Setup emsdk" |
| 26 | uses: mymindstorm/setup-emsdk@v14 | 26 | uses: mymindstorm/setup-emsdk@6ab9eb1bda2574c4ddb79809fc9247783eaf9021 # v14 |
| 27 | with: | 27 | with: |
| 28 | version: "3.1.60" | 28 | version: "3.1.60" |
| 29 | 29 | ||
| @@ -42,16 +42,16 @@ jobs: | |||
| 42 | # Test ASAN with and without ASM enabled. | 42 | # Test ASAN with and without ASM enabled. |
| 43 | test-asan: | 43 | test-asan: |
| 44 | name: "ASAN (no-asm)" | 44 | name: "ASAN (no-asm)" |
| 45 | runs-on: "ubuntu-latest" | 45 | runs-on: "ubuntu-24.04" |
| 46 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} | 46 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} |
| 47 | permissions: | 47 | permissions: |
| 48 | contents: read | 48 | contents: read |
| 49 | steps: | 49 | steps: |
| 50 | - name: "Checkout repository" | 50 | - name: "Checkout repository" |
| 51 | uses: actions/checkout@v4 | 51 | uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| 52 | 52 | ||
| 53 | - name: "Setup emsdk" | 53 | - name: "Setup emsdk" |
| 54 | uses: mymindstorm/setup-emsdk@v14 | 54 | uses: mymindstorm/setup-emsdk@6ab9eb1bda2574c4ddb79809fc9247783eaf9021 # v14 |
| 55 | with: | 55 | with: |
| 56 | version: "3.1.60" | 56 | version: "3.1.60" |
| 57 | 57 | ||
diff --git a/.github/workflows/fedora-rawhide.yml b/.github/workflows/fedora-rawhide.yml index ec3c63d..fbcf055 100644 --- a/.github/workflows/fedora-rawhide.yml +++ b/.github/workflows/fedora-rawhide.yml | |||
| @@ -18,15 +18,15 @@ jobs: | |||
| 18 | matrix: | 18 | matrix: |
| 19 | cc: [ gcc, clang ] | 19 | cc: [ gcc, clang ] |
| 20 | name: ${{ matrix.cc }} | 20 | name: ${{ matrix.cc }} |
| 21 | runs-on: ubuntu-latest | 21 | runs-on: ubuntu-24.04 |
| 22 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} | 22 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} |
| 23 | container: | 23 | container: |
| 24 | image: fedora:rawhide | 24 | image: fedora:rawhide |
| 25 | steps: | 25 | steps: |
| 26 | - uses: actions/checkout@v3 | 26 | - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| 27 | - name: Install dependencies | 27 | - name: Install dependencies |
| 28 | run: | | 28 | run: | |
| 29 | dnf -y install git make clang cmake ninja-build autoconf automake libtool diffutils patch | 29 | dnf -y install git make clang cmake ninja-build autoconf automake libtool diffutils patch gawk |
| 30 | - name: Pull upstream source | 30 | - name: Pull upstream source |
| 31 | run: | | 31 | run: | |
| 32 | ./update.sh | 32 | ./update.sh |
diff --git a/.github/workflows/freebsd.yml b/.github/workflows/freebsd.yml new file mode 100644 index 0000000..fe6c258 --- /dev/null +++ b/.github/workflows/freebsd.yml | |||
| @@ -0,0 +1,71 @@ | |||
| 1 | # GitHub Actions workflow to run tests on a FreeBSD VM. | ||
| 2 | name: "FreeBSD" | ||
| 3 | |||
| 4 | on: | ||
| 5 | workflow_dispatch: | ||
| 6 | schedule: | ||
| 7 | - cron: "0 0 * * *" # At 00:00 daily. | ||
| 8 | |||
| 9 | concurrency: | ||
| 10 | group: "${{ github.workflow }}-${{ github.event.number || github.ref }}" | ||
| 11 | cancel-in-progress: true | ||
| 12 | |||
| 13 | env: | ||
| 14 | FREEBSD_VERSION: "14.1" | ||
| 15 | |||
| 16 | jobs: | ||
| 17 | autoconf: | ||
| 18 | name: "autoconf" | ||
| 19 | runs-on: ubuntu-24.04 | ||
| 20 | if: github.repository_owner == 'libressl' || github.event_name != 'schedule' | ||
| 21 | permissions: | ||
| 22 | contents: read | ||
| 23 | steps: | ||
| 24 | - name: "Checkout repository" | ||
| 25 | uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | ||
| 26 | |||
| 27 | - name: "Setup" | ||
| 28 | run: | | ||
| 29 | sudo apt-get update | ||
| 30 | sudo apt-get install -y automake autoconf libtool | ||
| 31 | ./autogen.sh | ||
| 32 | |||
| 33 | - name: "Build on VM" | ||
| 34 | uses: vmactions/freebsd-vm@670398e4236735b8b65805c3da44b7a511fb8b27 # v1.3.0 | ||
| 35 | with: | ||
| 36 | release: "${{ env.FREEBSD_VERSION }}" | ||
| 37 | copyback: false | ||
| 38 | prepare: | | ||
| 39 | pkg install -y autoconf automake libtool | ||
| 40 | run: | | ||
| 41 | ./configure | ||
| 42 | make -j2 check || (cat tests/test-suite.log && exit 1) | ||
| 43 | |||
| 44 | cmake: | ||
| 45 | name: "cmake" | ||
| 46 | runs-on: ubuntu-24.04 | ||
| 47 | if: github.repository_owner == 'libressl' || github.event_name != 'schedule' | ||
| 48 | permissions: | ||
| 49 | contents: read | ||
| 50 | steps: | ||
| 51 | - name: "Checkout repository" | ||
| 52 | uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | ||
| 53 | |||
| 54 | - name: "Setup" | ||
| 55 | run: | | ||
| 56 | sudo apt-get update | ||
| 57 | sudo apt-get install -y automake autoconf libtool | ||
| 58 | ./autogen.sh | ||
| 59 | |||
| 60 | - name: "Build on VM" | ||
| 61 | uses: vmactions/freebsd-vm@670398e4236735b8b65805c3da44b7a511fb8b27 # v1.3.0 | ||
| 62 | with: | ||
| 63 | release: "${{ env.FREEBSD_VERSION }}" | ||
| 64 | copyback: false | ||
| 65 | prepare: | | ||
| 66 | pkg install -y cmake ninja | ||
| 67 | run: | | ||
| 68 | export CTEST_OUTPUT_ON_FAILURE=1 | ||
| 69 | cmake -G Ninja -B build | ||
| 70 | ninja -C build | ||
| 71 | ninja -C build test | ||
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 5c85d4b..d901cf9 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml | |||
| @@ -22,30 +22,40 @@ jobs: | |||
| 22 | strategy: | 22 | strategy: |
| 23 | fail-fast: false | 23 | fail-fast: false |
| 24 | matrix: | 24 | matrix: |
| 25 | os: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"] | 25 | os: ["ubuntu-22.04", "ubuntu-24.04"] |
| 26 | arch: ["native", "arm32", "arm64", "mingw32", "mingw64", "mips32", "mips64"] | 26 | arch: ["native", "arm32", "arm64", "mingw32", "mingw64", "mips32", "mips64"] |
| 27 | compiler: ["gcc"] | 27 | compiler: ["gcc"] |
| 28 | include: | 28 | include: |
| 29 | - os: "ubuntu-20.04" | 29 | - os: "ubuntu-22.04" |
| 30 | arch: "native" | 30 | arch: "native" |
| 31 | compiler: "clang" | 31 | compiler: "clang" |
| 32 | - os: "ubuntu-22.04" | 32 | - os: "ubuntu-24.04" |
| 33 | arch: "native" | ||
| 34 | compiler: "clang" | ||
| 35 | - os: "ubuntu-24.04" # loong64 | ||
| 36 | arch: "loong64" | ||
| 37 | compiler: "gcc" | ||
| 38 | - os: "ubuntu-24.04-arm" | ||
| 39 | arch: "native" | ||
| 40 | compiler: "gcc" | ||
| 41 | - os: "ubuntu-24.04-arm" | ||
| 33 | arch: "native" | 42 | arch: "native" |
| 34 | compiler: "clang" | 43 | compiler: "clang" |
| 44 | |||
| 35 | steps: | 45 | steps: |
| 36 | - name: "Checkout repository" | 46 | - name: "Checkout repository" |
| 37 | uses: actions/checkout@v4 | 47 | uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| 38 | 48 | ||
| 39 | - name: "Run tests" | 49 | - name: "Run tests" |
| 40 | run: ./scripts/test | 50 | run: ./scripts/test || (status=$?; cat tests/test-suite.log; exit $status) |
| 41 | env: | 51 | env: |
| 42 | ARCH: "${{ matrix.arch }}" | 52 | ARCH: "${{ matrix.arch }}" |
| 43 | CC: "${{ matrix.compiler }}" | 53 | CC: "${{ matrix.compiler }}" |
| 44 | 54 | ||
| 45 | # Test ASAN with and without ASM enabled. | 55 | # Test ASAN with and without ASM enabled. |
| 46 | test-asan: | 56 | test-asan: |
| 47 | name: "ASAN (${{ matrix.asm == 'ON' && 'asm' || 'no-asm' }})" | 57 | name: "${{ matrix.os }} - ASAN (${{ matrix.asm == 'ON' && 'asm' || 'no-asm' }})" |
| 48 | runs-on: "ubuntu-latest" | 58 | runs-on: "${{ matrix.os }}" |
| 49 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} | 59 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} |
| 50 | permissions: | 60 | permissions: |
| 51 | contents: read | 61 | contents: read |
| @@ -53,9 +63,10 @@ jobs: | |||
| 53 | fail-fast: false | 63 | fail-fast: false |
| 54 | matrix: | 64 | matrix: |
| 55 | asm: [ON, OFF] | 65 | asm: [ON, OFF] |
| 66 | os: ["ubuntu-24.04", "ubuntu-24.04-arm"] | ||
| 56 | steps: | 67 | steps: |
| 57 | - name: "Checkout repository" | 68 | - name: "Checkout repository" |
| 58 | uses: actions/checkout@v4 | 69 | uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| 59 | 70 | ||
| 60 | - name: "Run tests" | 71 | - name: "Run tests" |
| 61 | run: ./scripts/test | 72 | run: ./scripts/test |
diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index d5dd3eb..dad91e3 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml | |||
| @@ -21,14 +21,14 @@ jobs: | |||
| 21 | strategy: | 21 | strategy: |
| 22 | fail-fast: false | 22 | fail-fast: false |
| 23 | matrix: | 23 | matrix: |
| 24 | os: ["macos-14", "macos-13", "macos-12"] | 24 | os: ["macos-15", "macos-14"] |
| 25 | arch: ["arm64", "x86_64"] | 25 | arch: ["arm64", "x86_64"] |
| 26 | steps: | 26 | steps: |
| 27 | - name: "Install required packages" | 27 | - name: "Install required packages" |
| 28 | run: brew install automake libtool | 28 | run: brew install automake libtool |
| 29 | 29 | ||
| 30 | - name: "Checkout repository" | 30 | - name: "Checkout repository" |
| 31 | uses: actions/checkout@v4 | 31 | uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| 32 | 32 | ||
| 33 | - name: "Run tests" | 33 | - name: "Run tests" |
| 34 | run: ./scripts/test | 34 | run: ./scripts/test |
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c2e94b8..a20bf7d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml | |||
| @@ -15,12 +15,12 @@ permissions: | |||
| 15 | jobs: | 15 | jobs: |
| 16 | release: | 16 | release: |
| 17 | name: "Release" | 17 | name: "Release" |
| 18 | runs-on: "ubuntu-latest" | 18 | runs-on: "ubuntu-24.04" |
| 19 | outputs: | 19 | outputs: |
| 20 | upload_url: "${{ steps.create_release.outputs.upload_url }}" | 20 | upload_url: "${{ steps.create_release.outputs.upload_url }}" |
| 21 | steps: | 21 | steps: |
| 22 | - name: "Checkout repository" | 22 | - name: "Checkout repository" |
| 23 | uses: actions/checkout@v4 | 23 | uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| 24 | 24 | ||
| 25 | - name: "Generate version changelog" | 25 | - name: "Generate version changelog" |
| 26 | run: .github/scripts/changelog.sh "$VERSION" > release-changelog.txt | 26 | run: .github/scripts/changelog.sh "$VERSION" > release-changelog.txt |
| @@ -29,7 +29,7 @@ jobs: | |||
| 29 | 29 | ||
| 30 | - name: "Create GitHub release" | 30 | - name: "Create GitHub release" |
| 31 | id: create_release | 31 | id: create_release |
| 32 | uses: softprops/action-gh-release@v1 | 32 | uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0 |
| 33 | with: | 33 | with: |
| 34 | body_path: "${{ github.workspace }}/release-changelog.txt" | 34 | body_path: "${{ github.workspace }}/release-changelog.txt" |
| 35 | 35 | ||
| @@ -43,10 +43,10 @@ jobs: | |||
| 43 | arch: [ "Win32", "x64", "ARM64" ] | 43 | arch: [ "Win32", "x64", "ARM64" ] |
| 44 | steps: | 44 | steps: |
| 45 | - name: "Checkout repository" | 45 | - name: "Checkout repository" |
| 46 | uses: actions/checkout@v4 | 46 | uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| 47 | 47 | ||
| 48 | - name: "Setup MSYS2" | 48 | - name: "Setup MSYS2" |
| 49 | uses: msys2/setup-msys2@v2 | 49 | uses: msys2/setup-msys2@4f806de0a5a7294ffabaff804b38a9b435a73bda # v2.30.0 |
| 50 | with: | 50 | with: |
| 51 | update: true | 51 | update: true |
| 52 | install: >- | 52 | install: >- |
| @@ -72,14 +72,10 @@ jobs: | |||
| 72 | run: cmake --install build --config Release | 72 | run: cmake --install build --config Release |
| 73 | 73 | ||
| 74 | - shell: pwsh | 74 | - shell: pwsh |
| 75 | run: Compress-Archive -Path local\* local.zip | 75 | run: Compress-Archive -Path local\* "libressl_${{ github.ref_name }}_windows_${{ matrix.arch }}.zip" |
| 76 | 76 | ||
| 77 | - name: "Upload release artifact" | 77 | - name: "Upload release artifact" |
| 78 | uses: actions/upload-release-asset@v1 | 78 | uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0 |
| 79 | env: | ||
| 80 | GITHUB_TOKEN: "${{ github.token }}" | ||
| 81 | with: | 79 | with: |
| 82 | upload_url: "${{ needs.release.outputs.upload_url }}" | 80 | files: | |
| 83 | asset_path: "local.zip" | 81 | libressl_${{ github.ref_name }}_windows_${{ matrix.arch }}.zip |
| 84 | asset_name: "libressl_${{ github.ref_name }}_windows_${{ matrix.arch }}.zip" | ||
| 85 | asset_content_type: "application/zip" | ||
diff --git a/.github/workflows/rust-openssl.yml b/.github/workflows/rust-openssl.yml index b707c4b..ed77dbb 100644 --- a/.github/workflows/rust-openssl.yml +++ b/.github/workflows/rust-openssl.yml | |||
| @@ -13,13 +13,13 @@ concurrency: | |||
| 13 | jobs: | 13 | jobs: |
| 14 | test: | 14 | test: |
| 15 | name: "Test" | 15 | name: "Test" |
| 16 | runs-on: "ubuntu-latest" | 16 | runs-on: "ubuntu-24.04" |
| 17 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} | 17 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} |
| 18 | permissions: | 18 | permissions: |
| 19 | contents: read | 19 | contents: read |
| 20 | steps: | 20 | steps: |
| 21 | - name: "Checkout repository" | 21 | - name: "Checkout repository" |
| 22 | uses: actions/checkout@v4 | 22 | uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| 23 | 23 | ||
| 24 | - name: "Build LibreSSL" | 24 | - name: "Build LibreSSL" |
| 25 | run: | | 25 | run: | |
diff --git a/.github/workflows/solaris.yml b/.github/workflows/solaris.yml index f68a2aa..a4355d0 100644 --- a/.github/workflows/solaris.yml +++ b/.github/workflows/solaris.yml | |||
| @@ -13,13 +13,13 @@ concurrency: | |||
| 13 | jobs: | 13 | jobs: |
| 14 | test: | 14 | test: |
| 15 | name: "Solaris" | 15 | name: "Solaris" |
| 16 | runs-on: ubuntu-latest | 16 | runs-on: ubuntu-24.04 |
| 17 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} | 17 | if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} |
| 18 | permissions: | 18 | permissions: |
| 19 | contents: read | 19 | contents: read |
| 20 | steps: | 20 | steps: |
| 21 | - name: "Checkout repository" | 21 | - name: "Checkout repository" |
| 22 | uses: actions/checkout@v4 | 22 | uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| 23 | 23 | ||
| 24 | - name: "Setup" | 24 | - name: "Setup" |
| 25 | run: | | 25 | run: | |
| @@ -28,7 +28,7 @@ jobs: | |||
| 28 | ./autogen.sh | 28 | ./autogen.sh |
| 29 | 29 | ||
| 30 | - name: "Build on VM" | 30 | - name: "Build on VM" |
| 31 | uses: vmactions/solaris-vm@v1 | 31 | uses: vmactions/solaris-vm@47bea106d03acaf91084e52548ee460556011602 # v1.1.8 |
| 32 | with: | 32 | with: |
| 33 | prepare: | | 33 | prepare: | |
| 34 | pkg install gcc make | 34 | pkg install gcc make |
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 6aca153..3880a7b 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml | |||
| @@ -21,20 +21,21 @@ jobs: | |||
| 21 | strategy: | 21 | strategy: |
| 22 | fail-fast: false | 22 | fail-fast: false |
| 23 | matrix: | 23 | matrix: |
| 24 | os: ["windows-2022", "windows-2019"] | 24 | os: ["windows-2022", "windows-2025"] |
| 25 | arch: ["ARM64", "x64", "Win32"] | 25 | arch: ["ARM64", "x64", "Win32"] |
| 26 | shared: ["ON", "OFF"] | 26 | shared: ["ON", "OFF"] |
| 27 | include: | 27 | include: |
| 28 | - os: "windows-2022" | 28 | - os: "windows-2022" |
| 29 | generator: "Visual Studio 17 2022" | 29 | generator: "Visual Studio 17 2022" |
| 30 | - os: "windows-2019" | 30 | - os: "windows-2025" |
| 31 | generator: "Visual Studio 16 2019" | 31 | # XXX - use appropriate value |
| 32 | generator: "Visual Studio 17 2022" | ||
| 32 | steps: | 33 | steps: |
| 33 | - name: "Checkout repository" | 34 | - name: "Checkout repository" |
| 34 | uses: actions/checkout@v4 | 35 | uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| 35 | 36 | ||
| 36 | - name: "Setup MSYS2" | 37 | - name: "Setup MSYS2" |
| 37 | uses: msys2/setup-msys2@v2 | 38 | uses: msys2/setup-msys2@4f806de0a5a7294ffabaff804b38a9b435a73bda # v2.30.0 |
| 38 | with: | 39 | with: |
| 39 | update: true | 40 | update: true |
| 40 | install: >- | 41 | install: >- |
| @@ -50,7 +51,7 @@ jobs: | |||
| 50 | 51 | ||
| 51 | - name: "Configure CMake" | 52 | - name: "Configure CMake" |
| 52 | shell: cmd | 53 | shell: cmd |
| 53 | run: cmake -Bbuild -G "${{ matrix.generator }}" -A ${{ matrix.arch }} DBUILD_SHARED_LIBS=${{ matrix.shared }} -DCMAKE_INSTALL_PREFIX=../local | 54 | run: cmake -Bbuild -G "${{ matrix.generator }}" -A ${{ matrix.arch }} -D BUILD_SHARED_LIBS=${{ matrix.shared }} -D CMAKE_INSTALL_PREFIX=../local |
| 54 | 55 | ||
| 55 | - name: "Build" | 56 | - name: "Build" |
| 56 | shell: cmd | 57 | shell: cmd |
| @@ -63,7 +64,7 @@ jobs: | |||
| 63 | 64 | ||
| 64 | - name: "Upload build artifacts" | 65 | - name: "Upload build artifacts" |
| 65 | if: always() | 66 | if: always() |
| 66 | uses: actions/upload-artifact@v4 | 67 | uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 |
| 67 | with: | 68 | with: |
| 68 | name: "${{ matrix.os }}-${{ matrix.arch }}${{ matrix.shared == 'ON' && '-shared' || '' }}-build-results" | 69 | name: "${{ matrix.os }}-${{ matrix.arch }}${{ matrix.shared == 'ON' && '-shared' || '' }}-build-results" |
| 69 | path: "build" | 70 | path: "build" |
