aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/android.yml4
-rw-r--r--.github/workflows/cifuzz.yml4
-rw-r--r--.github/workflows/cmake-config.yml98
-rw-r--r--.github/workflows/cmake_config.yml89
-rw-r--r--.github/workflows/coverity.yml6
-rw-r--r--.github/workflows/emscripten.yml12
-rw-r--r--.github/workflows/fedora-rawhide.yml6
-rw-r--r--.github/workflows/freebsd.yml71
-rw-r--r--.github/workflows/linux.yml27
-rw-r--r--.github/workflows/macos.yml4
-rw-r--r--.github/workflows/release.yml22
-rw-r--r--.github/workflows/rust-openssl.yml4
-rw-r--r--.github/workflows/solaris.yml6
-rw-r--r--.github/workflows/windows.yml15
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:
10jobs: 10jobs:
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
10jobs: 10jobs:
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.
2name: "CMake Check"
3
4on:
5 push: {}
6 pull_request: {}
7
8concurrency:
9 group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
10 cancel-in-progress: true
11
12jobs:
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 @@
1name: cmake_config
2
3on: [push, pull_request]
4
5concurrency:
6 group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
7 cancel-in-progress: true
8
9jobs:
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:
13jobs: 13jobs:
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:
14jobs: 14jobs:
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.
2name: "FreeBSD"
3
4on:
5 workflow_dispatch:
6 schedule:
7 - cron: "0 0 * * *" # At 00:00 daily.
8
9concurrency:
10 group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
11 cancel-in-progress: true
12
13env:
14 FREEBSD_VERSION: "14.1"
15
16jobs:
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:
15jobs: 15jobs:
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:
13jobs: 13jobs:
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:
13jobs: 13jobs:
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"