Merge bitcoin-core/secp256k1#1398: ci, gha: Add Windows jobs based on Linux image
87d35f30c0a322e9b4bc5ee1addc1d0cd463562a ci: Rename `cirrus.sh` to more general `ci.sh` (Hennadii Stepanov) d6281dd0086a37c77311b4acbbacad89738163c7 ci: Remove Windows tasks from Cirrus CI (Hennadii Stepanov) 2b6f9cd546ce688005184f1400bfded7a4a4bbf0 ci, gha: Add Windows jobs based on Linux image (Hennadii Stepanov) Pull request description: ACKs for top commit: real-or-random: ACK 87d35f30c0a322e9b4bc5ee1addc1d0cd463562a jonasnick: ACK 87d35f30c0a322e9b4bc5ee1addc1d0cd463562a Tree-SHA512: bab005041692f52ed26899d50ee9114e6dd57a21ffa36b4d0b99e8b5b394a64a956cbc99ae2767fdf64f242970ebbeb0df4f5b373e059ecb187174f471b1a95e
This commit is contained in:
commit
6b9507adf6
39
.cirrus.yml
39
.cirrus.yml
@ -93,7 +93,7 @@ task:
|
|||||||
- env:
|
- env:
|
||||||
CC: clang-snapshot
|
CC: clang-snapshot
|
||||||
test_script:
|
test_script:
|
||||||
- ./ci/cirrus.sh
|
- ./ci/ci.sh
|
||||||
<< : *CAT_LOGS
|
<< : *CAT_LOGS
|
||||||
|
|
||||||
task:
|
task:
|
||||||
@ -111,7 +111,7 @@ task:
|
|||||||
- env:
|
- env:
|
||||||
CC: clang --target=i686-pc-linux-gnu -isystem /usr/i686-linux-gnu/include
|
CC: clang --target=i686-pc-linux-gnu -isystem /usr/i686-linux-gnu/include
|
||||||
test_script:
|
test_script:
|
||||||
- ./ci/cirrus.sh
|
- ./ci/ci.sh
|
||||||
<< : *CAT_LOGS
|
<< : *CAT_LOGS
|
||||||
|
|
||||||
task:
|
task:
|
||||||
@ -130,7 +130,7 @@ task:
|
|||||||
test_script:
|
test_script:
|
||||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=27008
|
# https://sourceware.org/bugzilla/show_bug.cgi?id=27008
|
||||||
- rm /etc/ld.so.cache
|
- rm /etc/ld.so.cache
|
||||||
- ./ci/cirrus.sh
|
- ./ci/ci.sh
|
||||||
<< : *CAT_LOGS
|
<< : *CAT_LOGS
|
||||||
|
|
||||||
task:
|
task:
|
||||||
@ -150,7 +150,7 @@ task:
|
|||||||
- env: {}
|
- env: {}
|
||||||
- env: {EXPERIMENTAL: yes, ASM: arm32}
|
- env: {EXPERIMENTAL: yes, ASM: arm32}
|
||||||
test_script:
|
test_script:
|
||||||
- ./ci/cirrus.sh
|
- ./ci/ci.sh
|
||||||
<< : *CAT_LOGS
|
<< : *CAT_LOGS
|
||||||
|
|
||||||
task:
|
task:
|
||||||
@ -167,7 +167,7 @@ task:
|
|||||||
ELLSWIFT: yes
|
ELLSWIFT: yes
|
||||||
CTIMETESTS: no
|
CTIMETESTS: no
|
||||||
test_script:
|
test_script:
|
||||||
- ./ci/cirrus.sh
|
- ./ci/ci.sh
|
||||||
<< : *CAT_LOGS
|
<< : *CAT_LOGS
|
||||||
|
|
||||||
task:
|
task:
|
||||||
@ -184,28 +184,7 @@ task:
|
|||||||
ELLSWIFT: yes
|
ELLSWIFT: yes
|
||||||
CTIMETESTS: no
|
CTIMETESTS: no
|
||||||
test_script:
|
test_script:
|
||||||
- ./ci/cirrus.sh
|
- ./ci/ci.sh
|
||||||
<< : *CAT_LOGS
|
|
||||||
|
|
||||||
task:
|
|
||||||
<< : *LINUX_CONTAINER
|
|
||||||
env:
|
|
||||||
WRAPPER_CMD: wine
|
|
||||||
WITH_VALGRIND: no
|
|
||||||
ECDH: yes
|
|
||||||
RECOVERY: yes
|
|
||||||
SCHNORRSIG: yes
|
|
||||||
ELLSWIFT: yes
|
|
||||||
CTIMETESTS: no
|
|
||||||
matrix:
|
|
||||||
- name: "x86_64 (mingw32-w64): Windows (Debian stable, Wine)"
|
|
||||||
env:
|
|
||||||
HOST: x86_64-w64-mingw32
|
|
||||||
- name: "i686 (mingw32-w64): Windows (Debian stable, Wine)"
|
|
||||||
env:
|
|
||||||
HOST: i686-w64-mingw32
|
|
||||||
test_script:
|
|
||||||
- ./ci/cirrus.sh
|
|
||||||
<< : *CAT_LOGS
|
<< : *CAT_LOGS
|
||||||
|
|
||||||
# Sanitizers
|
# Sanitizers
|
||||||
@ -249,7 +228,7 @@ task:
|
|||||||
HOST: i686-linux-gnu
|
HOST: i686-linux-gnu
|
||||||
CC: i686-linux-gnu-gcc
|
CC: i686-linux-gnu-gcc
|
||||||
test_script:
|
test_script:
|
||||||
- ./ci/cirrus.sh
|
- ./ci/ci.sh
|
||||||
<< : *CAT_LOGS
|
<< : *CAT_LOGS
|
||||||
|
|
||||||
# Memory sanitizers
|
# Memory sanitizers
|
||||||
@ -276,7 +255,7 @@ task:
|
|||||||
ECMULTWINDOW: 2
|
ECMULTWINDOW: 2
|
||||||
CFLAGS: "-fsanitize=memory -g -O3"
|
CFLAGS: "-fsanitize=memory -g -O3"
|
||||||
test_script:
|
test_script:
|
||||||
- ./ci/cirrus.sh
|
- ./ci/ci.sh
|
||||||
<< : *CAT_LOGS
|
<< : *CAT_LOGS
|
||||||
|
|
||||||
task:
|
task:
|
||||||
@ -292,7 +271,7 @@ task:
|
|||||||
SCHNORRSIG: yes
|
SCHNORRSIG: yes
|
||||||
ELLSWIFT: yes
|
ELLSWIFT: yes
|
||||||
test_script:
|
test_script:
|
||||||
- ./ci/cirrus.sh
|
- ./ci/ci.sh
|
||||||
<< : *CAT_LOGS
|
<< : *CAT_LOGS
|
||||||
|
|
||||||
task:
|
task:
|
||||||
|
37
.github/actions/run-in-docker-action/action.yml
vendored
Normal file
37
.github/actions/run-in-docker-action/action.yml
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
name: 'Run in Docker with environment'
|
||||||
|
description: 'Run a command in a Docker container, while passing explicitly set environment variables into the container.'
|
||||||
|
inputs:
|
||||||
|
dockerfile:
|
||||||
|
description: 'A Dockerfile that defines an image'
|
||||||
|
required: true
|
||||||
|
tag:
|
||||||
|
description: 'A tag of an image'
|
||||||
|
required: true
|
||||||
|
command:
|
||||||
|
description: 'A command to run in a container'
|
||||||
|
required: true
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- uses: docker/setup-buildx-action@v2
|
||||||
|
with:
|
||||||
|
# See: https://github.com/moby/buildkit/issues/3969.
|
||||||
|
driver-opts: |
|
||||||
|
network=host
|
||||||
|
|
||||||
|
- uses: docker/build-push-action@v4
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: ${{ inputs.dockerfile }}
|
||||||
|
tags: ${{ inputs.tag }}
|
||||||
|
load: true
|
||||||
|
cache-from: type=gha
|
||||||
|
|
||||||
|
- # Tell Docker to pass environment variables in `env` into the container.
|
||||||
|
run: >
|
||||||
|
docker run \
|
||||||
|
$(echo '${{ toJSON(env) }}' | jq -r 'keys[] | "--env \(.) "') \
|
||||||
|
--volume ${{ github.workspace }}:${{ github.workspace }} \
|
||||||
|
--workdir ${{ github.workspace }} \
|
||||||
|
${{ inputs.tag }} bash -c "${{ inputs.command }}"
|
||||||
|
shell: bash
|
78
.github/workflows/ci.yml
vendored
78
.github/workflows/ci.yml
vendored
@ -42,6 +42,82 @@ env:
|
|||||||
EXAMPLES: 'yes'
|
EXAMPLES: 'yes'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
docker_cache:
|
||||||
|
name: "Build Docker image"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v2
|
||||||
|
with:
|
||||||
|
# See: https://github.com/moby/buildkit/issues/3969.
|
||||||
|
driver-opts: |
|
||||||
|
network=host
|
||||||
|
|
||||||
|
- name: Build container
|
||||||
|
uses: docker/build-push-action@v4
|
||||||
|
with:
|
||||||
|
file: ./ci/linux-debian.Dockerfile
|
||||||
|
tags: linux-debian-image
|
||||||
|
cache-from: type=gha
|
||||||
|
cache-to: type=gha,mode=min
|
||||||
|
|
||||||
|
mingw_debian:
|
||||||
|
name: ${{ matrix.configuration.job_name }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: docker_cache
|
||||||
|
|
||||||
|
env:
|
||||||
|
WRAPPER_CMD: 'wine'
|
||||||
|
WITH_VALGRIND: 'no'
|
||||||
|
ECDH: 'yes'
|
||||||
|
RECOVERY: 'yes'
|
||||||
|
SCHNORRSIG: 'yes'
|
||||||
|
ELLSWIFT: 'yes'
|
||||||
|
CTIMETESTS: 'no'
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
configuration:
|
||||||
|
- job_name: 'x86_64 (mingw32-w64): Windows (Debian stable, Wine)'
|
||||||
|
env_vars:
|
||||||
|
HOST: 'x86_64-w64-mingw32'
|
||||||
|
- job_name: 'i686 (mingw32-w64): Windows (Debian stable, Wine)'
|
||||||
|
env_vars:
|
||||||
|
HOST: 'i686-w64-mingw32'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: CI script
|
||||||
|
env: ${{ matrix.configuration.env_vars }}
|
||||||
|
uses: ./.github/actions/run-in-docker-action
|
||||||
|
with:
|
||||||
|
dockerfile: ./ci/linux-debian.Dockerfile
|
||||||
|
tag: linux-debian-image
|
||||||
|
command: >
|
||||||
|
git config --global --add safe.directory ${{ github.workspace }} &&
|
||||||
|
./ci/ci.sh
|
||||||
|
|
||||||
|
- run: cat tests.log || true
|
||||||
|
if: ${{ always() }}
|
||||||
|
- run: cat noverify_tests.log || true
|
||||||
|
if: ${{ always() }}
|
||||||
|
- run: cat exhaustive_tests.log || true
|
||||||
|
if: ${{ always() }}
|
||||||
|
- run: cat ctime_tests.log || true
|
||||||
|
if: ${{ always() }}
|
||||||
|
- run: cat bench.log || true
|
||||||
|
if: ${{ always() }}
|
||||||
|
- run: cat config.log || true
|
||||||
|
if: ${{ always() }}
|
||||||
|
- run: cat test_env.log || true
|
||||||
|
if: ${{ always() }}
|
||||||
|
- name: CI env
|
||||||
|
run: env
|
||||||
|
if: ${{ always() }}
|
||||||
|
|
||||||
macos-native:
|
macos-native:
|
||||||
name: "x86_64: macOS Ventura"
|
name: "x86_64: macOS Ventura"
|
||||||
# See: https://github.com/actions/runner-images#available-images.
|
# See: https://github.com/actions/runner-images#available-images.
|
||||||
@ -80,7 +156,7 @@ jobs:
|
|||||||
|
|
||||||
- name: CI script
|
- name: CI script
|
||||||
env: ${{ matrix.env_vars }}
|
env: ${{ matrix.env_vars }}
|
||||||
run: ./ci/cirrus.sh
|
run: ./ci/ci.sh
|
||||||
|
|
||||||
- run: cat tests.log || true
|
- run: cat tests.log || true
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user