ci, gha: Add Windows jobs based on Linux image
This commit is contained in:
parent
48b1d939b5
commit
2b6f9cd546
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
|
76
.github/workflows/ci.yml
vendored
76
.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/cirrus.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.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user