name: Validate PyPy e2e
on: 
  push:
    branches:
      - main
    paths-ignore:
      - '**.md'
  pull_request:
    paths-ignore:
      - '**.md'
  schedule:
    - cron: 30 3 * * *

jobs:
  setup-pypy:
    name: Setup PyPy ${{ matrix.pypy }} ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [macos-latest, windows-latest, ubuntu-18.04, ubuntu-latest]
        pypy:
        - 'pypy-2.7'
        - 'pypy-3.7'
        - 'pypy-2.7-v7.3.4'
        - 'pypy-3.7-v7.3.5'
        - 'pypy-3.7-v7.3.4'
        - 'pypy-3.7-v7.3.x'
        - 'pypy-3.7-v7.x'
        - 'pypy-2.7-v7.3.4rc1'
        - 'pypy-3.7-nightly'

    steps:
      - name: Checkout
        uses: actions/checkout@v2
  
      - name: setup-python ${{ matrix.pypy }}
        uses: ./
        with:
          python-version: ${{ matrix.pypy }}
  
      - name: PyPy and Python version
        run: python --version
  
      - name: Run simple code
        run: python -c 'import math; print(math.factorial(5))'
