Skip to content
Snippets Groups Projects
ci.yaml 2.96 KiB
name: "ci"

on:
  - "push"

jobs:
  macos-unit-tests:
    runs-on: "macos-latest"
    strategy:
      matrix:
        python-version:
          - "2.7"

    steps:
      # Get tags not fetched by the checkout action, needed for auto-versioning.
    - name: "Finish checkout"
      run: |
        git fetch --tags

    - name: "Upgrade Pip"
      run: |
        python -m pip install -v --upgrade pip

    - name: "Install CI Dependencies"
      run: |
        python -m pip install -v wheel coverage

    - name: "Install Test Dependencies"
      run: |
        python -m pip install -v -r test-requirements.txt

    - name: "Install ZKAPAuthorizer"
      run: |
        python -m pip install -v ./

    - name: "Dump Python Environment"
      run: |
        pip freeze

    - name: "Run Tests"
      env:
        MAGIC_FOLDER_HYPOTHESIS_PROFILE: "ci"
      run: |
        python -m coverage run --debug=config -m twisted.trial _zkapauthorizer

    - name: "Convert Coverage"
      run: |
        echo "Files:"
        dir
        echo "Combining"
        coverage combine
        echo "Reporting"
        coverage report
        echo "Converting to XML"
        coverage xml

    - uses: codecov/codecov-action@v1
      with:
        file: "./coverage.xml"

  windows-unit-tests:
    runs-on: "windows-latest"
    strategy:
      matrix:
        python-version:
          - "2.7"

    steps:
    # Avoid letting Windows newlines confusing milksnake.
    - run: "git config --global core.autocrlf false"