mirror of
https://github.com/curl/curl.git
synced 2026-04-11 12:01:42 +08:00
To avoid rate limits when accessing GH APIs during the build.
Aiming to avoid (while trying to retrieve a file timestamp):
```
++ [[ 2026-02-11-1a84aee6387d2f9c9531c655edeea4a80aa0fcfa =~ (.+)-([a-f0-9]{40,}) ]]
++ ver=2026-02-11
++ commit=1a84aee6387d2f9c9531c655edeea4a80aa0fcfa
++ set +x
curl: (22) The requested URL returned error: 403
curl: (22) The requested URL returned error: 403
curl: (22) The requested URL returned error: 403
curl: (22) The requested URL returned error: 403
[...]
```
Ref: https://github.com/curl/curl/actions/runs/23598912140/job/68723120977?pr=21104
Follow-up to:
a26898fe48
17f2fb3ead
6dd6e47e98
b461404b5a
Closes #21105
198 lines
6.4 KiB
YAML
198 lines
6.4 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:
|
|
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
CW_NOGET: 'curl trurl'
|
|
CW_MAP: '0'
|
|
CW_JOBS: '5'
|
|
CW_NOPKG: '1'
|
|
|
|
jobs:
|
|
linux-glibc-gcc:
|
|
name: 'Linux gcc glibc (amd64, arm64)'
|
|
runs-on: ubuntu-latest
|
|
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-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_|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-latest
|
|
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-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_|GITHUB_)') \
|
|
"${OCI_IMAGE_DEBIAN}" \
|
|
sh -c ./_ci-linux-debian.sh
|
|
|
|
linux-musl-llvm:
|
|
name: 'Linux llvm MUSL (amd64, riscv64)'
|
|
runs-on: ubuntu-latest
|
|
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-linux-musl-r64-x64'
|
|
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_|GITHUB_)') \
|
|
"${OCI_IMAGE_DEBIAN}" \
|
|
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-cares-unitybatch-mac-x64'
|
|
export CW_REVISION="${GITHUB_SHA}"
|
|
sh -c ./_ci-mac-homebrew.sh
|
|
|
|
win-llvm:
|
|
name: 'Windows llvm (x64)'
|
|
runs-on: ubuntu-latest
|
|
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-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_|GITHUB_)') \
|
|
"${OCI_IMAGE_DEBIAN}" \
|
|
sh -c ./_ci-linux-debian.sh
|
|
|
|
win-gcc-zlibold-x64:
|
|
name: 'Windows gcc zlib-classic (x64)'
|
|
runs-on: ubuntu-latest
|
|
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-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_|GITHUB_)') \
|
|
"${OCI_IMAGE_DEBIAN}" \
|
|
sh -c ./_ci-linux-debian.sh
|