• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) Viktor Szakats
2#
3# SPDX-License-Identifier: curl
4---
5name: curl-for-win
6
7'on':
8  push:
9    branches:
10      - master
11      - '*/ci'
12    paths-ignore:
13      - '**/*.md'
14      - '.circleci/**'
15      - 'appveyor.*'
16      - 'packages/**'
17      - 'plan9/**'
18      - 'projects/**'
19      - 'winbuild/**'
20  pull_request:
21    branches:
22      - master
23    paths-ignore:
24      - '**/*.md'
25      - '.circleci/**'
26      - 'appveyor.*'
27      - 'packages/**'
28      - 'plan9/**'
29      - 'projects/**'
30      - 'winbuild/**'
31
32concurrency:
33  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
34  cancel-in-progress: true
35
36permissions: {}
37
38env:
39  CW_NOGET: 'curl trurl'
40  CW_MAP: '0'
41  CW_JOBS: '5'
42  CW_NOPKG: '1'
43
44jobs:
45  linux-glibc-llvm:
46    runs-on: ubuntu-latest
47    timeout-minutes: 30
48    steps:
49      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
50        with:
51          persist-credentials: false
52          path: 'curl'
53          fetch-depth: 8
54      - name: 'build'
55        run: |
56          git clone --depth 1 https://github.com/curl/curl-for-win
57          mv curl-for-win/* .
58          export CW_CONFIG='-main-werror-linux-a64-x64'
59          export CW_REVISION='${{ github.sha }}'
60          DOCKER_IMAGE='debian:bookworm-slim'
61          export DOCKER_CONTENT_TRUST=1
62          export CW_CCSUFFIX='-15'
63          export CW_GCCSUFFIX='-12'
64          docker trust inspect --pretty "${DOCKER_IMAGE}"
65          time docker pull "${DOCKER_IMAGE}"
66          docker images --digests
67          time docker run --volume "$(pwd):$(pwd)" --workdir "$(pwd)" \
68            --env-file <(env | grep -a -E \
69              '^(CW_|GITHUB_)') \
70            "${DOCKER_IMAGE}" \
71            sh -c ./_ci-linux-debian.sh
72
73  linux-musl-llvm:
74    runs-on: ubuntu-latest
75    timeout-minutes: 30
76    steps:
77      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
78        with:
79          persist-credentials: false
80          path: 'curl'
81          fetch-depth: 8
82      - name: 'build'
83        run: |
84          git clone --depth 1 https://github.com/curl/curl-for-win
85          mv curl-for-win/* .
86          export CW_CONFIG='-main-werror-linux-musl-r64-x64'
87          export CW_REVISION='${{ github.sha }}'
88          . ./_versions.sh
89          docker trust inspect --pretty "${DOCKER_IMAGE}"
90          time docker pull "${DOCKER_IMAGE}"
91          docker images --digests
92          time docker run --volume "$(pwd):$(pwd)" --workdir "$(pwd)" \
93            --env-file <(env | grep -a -E \
94              '^(CW_|GITHUB_)') \
95            "${DOCKER_IMAGE}" \
96            sh -c ./_ci-linux-debian.sh
97
98  mac-clang:
99    runs-on: macos-latest
100    timeout-minutes: 30
101    env:
102      CW_JOBS: '4'
103    steps:
104      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
105        with:
106          persist-credentials: false
107          path: 'curl'
108          fetch-depth: 8
109      - name: 'build'
110        run: |
111          git clone --depth 1 https://github.com/curl/curl-for-win
112          mv curl-for-win/* .
113          export CW_CONFIG='-main-werror-mac-x64'
114          export CW_REVISION='${{ github.sha }}'
115          sh -c ./_ci-mac-homebrew.sh
116
117  win-llvm:
118    runs-on: ubuntu-latest
119    steps:
120      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
121        with:
122          persist-credentials: false
123          path: 'curl'
124          fetch-depth: 8
125      - name: 'build'
126        run: |
127          git clone --depth 1 https://github.com/curl/curl-for-win
128          mv curl-for-win/* .
129          export CW_CONFIG='-main-werror-win-x64'
130          export CW_REVISION='${{ github.sha }}'
131          . ./_versions.sh
132          docker trust inspect --pretty "${DOCKER_IMAGE}"
133          time docker pull "${DOCKER_IMAGE}"
134          docker images --digests
135          time docker run --volume "$(pwd):$(pwd)" --workdir "$(pwd)" \
136            --env-file <(env | grep -a -E \
137              '^(CW_|GITHUB_)') \
138            "${DOCKER_IMAGE}" \
139            sh -c ./_ci-linux-debian.sh
140