name: Validate 'versions-manifest.json' file on: push: branches: - main paths: - 'versions-manifest.json' jobs: setup-versions-from-manifest: name: Setup ${{ matrix.python }} ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [macos-latest, windows-latest, ubuntu-16.04, ubuntu-18.04, ubuntu-20.04] python: [3.5.4, 3.6.7, 3.7.5, 3.8.1] steps: - name: setup-python ${{ matrix.python }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python }} - name: Validate version run: | $pythonVersion = (python --version) if ("Python ${{ matrix.python }}" -ne "$pythonVersion"){ Write-Host "The current version is $pythonVersion; expected version is ${{ matrix.python }}" exit 1 } $pythonVersion shell: pwsh - name: Run simple code run: python -c 'import math; print(math.factorial(5))'