mirror of
https://github.com/curl/curl.git
synced 2026-07-11 03:27:24 +03:00
By exposing and reusing existing custom type via `vtls/openss.h`.
Also:
- GHA/curl-for-win: test in CI by enabling building tests.
Cost is 45s per job, so limit it to the gcc job.
Seen with Windows x64 gcc (not tested in CI prior to this patch):
```
tests/libtest/lib1587.c:50:7: error: conversion from 'opt1587' {aka 'long long unsigned int'} to 'long int' may change value [-Werror=conversion]
50 | SSL_CTX_set_options(info->internals, opts);
| ^~~~~~~~~~~~~~~~~~~
tests/libtest/lib1587.c:59:7: error: conversion from 'opt1587' {aka 'long long unsigned int'} to 'long int' may change value [-Werror=conversion]
59 | SSL_set_options(info->internals, opts);
| ^~~~~~~~~~~~~~~
```
Ref: https://github.com/curl/curl/actions/runs/28258372229/job/83727170184?pr=22195#step:3:4884
Ref: da2f05e6f6 #22198
Ref: 6163566461 #22197
Follow-up to 3e40ccb875 #21290
Follow-up to 2db8ae480f #17809 #17801
Closes #22195
199 lines
6.6 KiB
YAML
199 lines
6.6 KiB
YAML
# Copyright (C) Viktor Szakats
|
|
#
|
|
# SPDX-License-Identifier: curl
|
|
---
|
|
name: 'curl-for-win'
|
|
|
|
'on':
|
|
push:
|
|
branches:
|
|
- master
|
|
- '*/ci'
|
|
paths-ignore:
|
|
- '**/*.md'
|
|
- '.circleci/**'
|
|
- 'appveyor.*'
|
|
- 'Dockerfile'
|
|
- 'projects/**'
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
paths-ignore:
|
|
- '**/*.md'
|
|
- '.circleci/**'
|
|
- 'appveyor.*'
|
|
- 'Dockerfile'
|
|
- 'projects/**'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
|
|
cancel-in-progress: true
|
|
|
|
permissions: {}
|
|
|
|
env:
|
|
CW_NOGET: 'curl trurl'
|
|
CW_MAP: '0'
|
|
CW_JOBS: '5'
|
|
CW_NOPKG: '1'
|
|
DO_NOT_TRACK: '1'
|
|
|
|
jobs:
|
|
linux-glibc-gcc:
|
|
name: 'Linux gcc glibc (amd64, arm64)'
|
|
runs-on: ubuntu-26.04
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
path: 'curl'
|
|
fetch-depth: 8
|
|
- name: 'build'
|
|
run: |
|
|
git clone --depth 1 https://github.com/curl/curl-for-win
|
|
mv curl-for-win/* .
|
|
export CW_CONFIG='-main-werror-unitybatch-nocertdata-linux-a64-x64-gcc'
|
|
export CW_REVISION="${GITHUB_SHA}"
|
|
. ./_versions.sh
|
|
export CW_CCSUFFIX='-15'
|
|
export CW_GCCSUFFIX='-12'
|
|
sudo podman image trust set --type reject default
|
|
sudo podman image trust set --type accept docker.io/library
|
|
time podman pull "${OCI_IMAGE_DEBIAN_STABLE}"
|
|
podman images --digests
|
|
time podman run --volume "$(pwd):$(pwd)" --workdir "$(pwd)" \
|
|
--env-file <(env | grep -a -E \
|
|
'^(CW_|DO_NOT_TRACK|GITHUB_)') \
|
|
"${OCI_IMAGE_DEBIAN_STABLE}" \
|
|
sh -c ./_ci-linux-debian.sh
|
|
|
|
linux-glibc-gcc-minimal: # use gcc to minimize installed packages
|
|
name: 'Linux gcc glibc minimal (amd64)'
|
|
runs-on: ubuntu-26.04
|
|
timeout-minutes: 5
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
path: 'curl'
|
|
fetch-depth: 8
|
|
- name: 'build'
|
|
run: |
|
|
git clone --depth 1 https://github.com/curl/curl-for-win
|
|
mv curl-for-win/* .
|
|
export CW_CONFIG='-main-werror-unitybatch-nocertdata-prefill-zero-osnotls-osnoidn-nohttp-nocurltool-linux-x64-gcc'
|
|
export CW_REVISION="${GITHUB_SHA}"
|
|
. ./_versions.sh
|
|
sudo podman image trust set --type reject default
|
|
sudo podman image trust set --type accept docker.io/library
|
|
time podman pull "${OCI_IMAGE_DEBIAN}"
|
|
podman images --digests
|
|
time podman run --volume "$(pwd):$(pwd)" --workdir "$(pwd)" \
|
|
--env-file <(env | grep -a -E \
|
|
'^(CW_|DO_NOT_TRACK|GITHUB_)') \
|
|
"${OCI_IMAGE_DEBIAN}" \
|
|
sh -c ./_ci-linux-debian.sh
|
|
|
|
linux-musl-llvm:
|
|
name: 'Linux llvm MUSL (amd64, riscv64)'
|
|
runs-on: ubuntu-26.04
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
path: 'curl'
|
|
fetch-depth: 8
|
|
- name: 'build'
|
|
run: |
|
|
git clone --depth 1 https://github.com/curl/curl-for-win
|
|
mv curl-for-win/* .
|
|
export CW_CONFIG='-main-werror-unitybatch-nocertdata-linux-musl-r64-x64'
|
|
export CW_REVISION="${GITHUB_SHA}"
|
|
. ./_versions.sh
|
|
export CW_CCSUFFIX='-19'
|
|
export CW_GCCSUFFIX='-14'
|
|
sudo podman image trust set --type reject default
|
|
sudo podman image trust set --type accept docker.io/library
|
|
time podman pull "${OCI_IMAGE_DEBIAN_STABLE}"
|
|
podman images --digests
|
|
time podman run --volume "$(pwd):$(pwd)" --workdir "$(pwd)" \
|
|
--env-file <(env | grep -a -E \
|
|
'^(CW_|DO_NOT_TRACK|GITHUB_)') \
|
|
"${OCI_IMAGE_DEBIAN_STABLE}" \
|
|
sh -c ./_ci-linux-debian.sh
|
|
|
|
mac-clang:
|
|
name: 'macOS clang cares (x86_64)'
|
|
runs-on: macos-latest
|
|
timeout-minutes: 10
|
|
env:
|
|
CW_JOBS: '4'
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
path: 'curl'
|
|
fetch-depth: 8
|
|
- name: 'build'
|
|
run: |
|
|
git clone --depth 1 https://github.com/curl/curl-for-win
|
|
mv curl-for-win/* .
|
|
export CW_CONFIG='-main-werror-unitybatch-nocertdata-mac-x64-cares'
|
|
export CW_REVISION="${GITHUB_SHA}"
|
|
sh -c ./_ci-mac-homebrew.sh
|
|
|
|
win-llvm:
|
|
name: 'Windows llvm (x64)'
|
|
runs-on: ubuntu-26.04
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
path: 'curl'
|
|
fetch-depth: 8
|
|
- name: 'build'
|
|
run: |
|
|
git clone --depth 1 https://github.com/curl/curl-for-win
|
|
mv curl-for-win/* .
|
|
export CW_CONFIG='-main-werror-unitybatch-nocertdata-win-x64-noWINE'
|
|
export CW_REVISION="${GITHUB_SHA}"
|
|
. ./_versions.sh
|
|
sudo podman image trust set --type reject default
|
|
sudo podman image trust set --type accept docker.io/library
|
|
time podman pull "${OCI_IMAGE_DEBIAN}"
|
|
podman images --digests
|
|
time podman run --volume "$(pwd):$(pwd)" --workdir "$(pwd)" \
|
|
--env-file <(env | grep -a -E \
|
|
'^(CW_|DO_NOT_TRACK|GITHUB_)') \
|
|
"${OCI_IMAGE_DEBIAN}" \
|
|
sh -c ./_ci-linux-debian.sh
|
|
|
|
win-gcc-zlibold-x64:
|
|
name: 'Windows gcc zlib-classic (x64)'
|
|
runs-on: ubuntu-26.04
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
path: 'curl'
|
|
fetch-depth: 8
|
|
- name: 'build'
|
|
run: |
|
|
git clone --depth 1 https://github.com/curl/curl-for-win
|
|
mv curl-for-win/* .
|
|
export CW_CONFIG='-main-werror-unitybatch-nocertdata-curltests-win-x64-gcc-zlibold-noWINE'
|
|
export CW_REVISION="${GITHUB_SHA}"
|
|
. ./_versions.sh
|
|
sudo podman image trust set --type reject default
|
|
sudo podman image trust set --type accept docker.io/library
|
|
time podman pull "${OCI_IMAGE_DEBIAN}"
|
|
podman images --digests
|
|
time podman run --volume "$(pwd):$(pwd)" --workdir "$(pwd)" \
|
|
--env-file <(env | grep -a -E \
|
|
'^(CW_|DO_NOT_TRACK|GITHUB_)') \
|
|
"${OCI_IMAGE_DEBIAN}" \
|
|
sh -c ./_ci-linux-debian.sh
|