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