name: CI (Windows-mingw)

on: [push, pull_request]

env:
  OPENSSL_DIR: d:\a\_temp\msys\msys64\usr

jobs:
  build_and_test:
    strategy:
      fail-fast: false
      matrix:
        version:
          - stable
          - nightly

    name: ${{ matrix.version }} - x86_64-pc-windows-gnu
    runs-on: windows-latest

    steps:
      - uses: actions/checkout@master

      - name: Install ${{ matrix.version }}
        uses: actions-rs/toolchain@v1
        with:
          toolchain: ${{ matrix.version }}-x86_64-pc-windows-gnu
          profile: minimal
          override: true

      - name: Install MSYS2
        uses: numworks/setup-msys2@v1

      - name: Install OpenSSL
        run: |
          msys2do pacman --noconfirm -S openssl-devel pkg-config

      - name: Copy and check libs
        run: |
          Copy-Item d:\a\_temp\msys\msys64\usr\lib\libssl.dll.a d:\a\_temp\msys\msys64\usr\lib\libssl.dll
          Copy-Item d:\a\_temp\msys\msys64\usr\lib\libcrypto.dll.a d:\a\_temp\msys\msys64\usr\lib\libcrypto.dll
          Get-ChildItem d:\a\_temp\msys\msys64\usr\lib
          Get-ChildItem d:\a\_temp\msys\msys64\usr

      - name: check build
        uses: actions-rs/cargo@v1
        with:
          command: check
          args: --all --bins --examples --tests

      - name: tests
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --all --all-features --no-fail-fast -- --nocapture