<commit_before>name: CI

on:
  push:
    branches:
      - trunk
  pull_request:
    branches:
      - trunk
  schedule:
    - cron: '0 1 * * *'

jobs:
  # Special job which skips duplicate jobs
  pre_job:
    name: Skip Duplicate Jobs Pre Job
    runs-on: ubuntu-latest
    # Map a step output to a job output
    outputs:
      should_skip: ${{ steps.skip_check.outputs.should_skip }}
    steps:
      - name: Checkout code
        uses: actions/checkout@master
        with:
          persist-credentials: false
          submodules: recursive

      - id: skip_check
        # NOTE: We store action as submodule since ASF doesn't allow directly referencing external
        # actions
        uses: ./.github/actions/skip-duplicate-actions # v3.4.1
        with:
          github_token: ${{ github.token }}

  unit_tests:
    name: Run Unit Tests And Install Checks
    runs-on: ${{ matrix.os }}
    timeout-minutes: 8

    needs: pre_job
    if: ${{ needs.pre_job.outputs.should_skip == 'false' || github.ref == 'refs/heads/trunk' }}

    strategy:
      fail-fast: false
      matrix:
        python_version:
          - 3.5
          - 3.6
          - 3.7
          - 3.8
          - 3.9
          - "3.10"
          - pypy3
        os:
          - ubuntu-latest

    steps:
      - uses: actions/checkout@master<commit_msg>Try running unit tests under Pyjion.<commit_after>name: CI

on:
  push:
    branches:
      - trunk
      - pyjion_cicd_tests
  pull_request:
    branches:
      - trunk
  schedule:
    - cron: '0 1 * * *'

jobs:
  # Special job which skips duplicate jobs
  pre_job:
    name: Skip Duplicate Jobs Pre Job
    runs-on: ubuntu-latest
    # Map a step output to a job output
    outputs:
      should_skip: ${{ steps.skip_check.outputs.should_skip }}
    steps:
      - name: Checkout code
        uses: actions/checkout@master
        with:
          persist-credentials: false
          submodules: recursive

      - id: skip_check
        # NOTE: We store action as submodule since ASF doesn't allow directly referencing external
        # actions
        uses: ./.github/actions/skip-duplicate-actions # v3.4.1
        with:
          github_token: ${{ github.token }}

  unit_tests_pyjion:
    name: Run Unit Tests on Pyjion Python 3.10
    runs-on: ubuntu-latest

    needs: pre_job
    if: ${{ needs.pre_job.outputs.should_skip == 'false' || github.ref == 'refs/heads/trunk' }}

    steps:
      - uses: actions/checkout@master
        with:
          fetch-depth: 1

      - name: Use Python 3.10
        uses: actions/setup-python@v2
        with:
          python-version: "3.10"

      # From https://github.com/tonybaloney/Pyjion/blob/develop/main/.github/workflows/benchmark.yml#L26
      - name: Install OS / deb dependencies
        run: |
          sudo DEBIAN_FRONTEND=noninteractive apt-get update
          sudo DEBIAN_FRONTEND=noninteractive apt-get install -yq cmake llvm-9 clang-9 autoconf automake \
          libtool build-essential python curl git lldb-6.0 liblldb-6.0-dev \
          libunwind8 libunwind8-dev gettext libicu-dev liblttng-ust-dev \
          libssl-dev libnuma-dev libkrb5-dev zlib1g-dev

      - name: Setup Dotnet 6
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version: "6.0.100"

      - name: Cache Python Dependencies
        uses: actions/cache@v2
        with:
          path: ~/.cache/pip
          key: ${{ runner.os }}-pip-${{ hashFiles('requirements-tests.txt', '') }}
          restore-keys: |
            ${{ runner.os }}-pip-

      - name: Install Pyjion
        run: |
          pip install --upgrade pyjion

      - name: Install Python Dependencies
        run: |
          pip install "tox==3.24.4"

      - name: Run unit tests tox target
        run: |
         script -e -c "tox -e pypyjion"

  unit_tests:
    name: Run Unit Tests And Install Checks
    runs-on: ${{ matrix.os }}
    timeout-minutes: 8

    needs: pre_job
    if: ${{ needs.pre_job.outputs.should_skip == 'false' || github.ref == 'refs/heads/trunk' }}

    strategy:
      fail-fast: false
      matrix:
        python_version:
          - 3.5
          - 3.6
          - 3.7
          - 3.8
          - 3.9
          - "3.10"
          - pypy3
        os:
          - ubuntu-latest

    steps:
      - uses: actions/checkout@master
{'fraction_non_alphanumeric': 0.10426320667284522, 'fraction_numerical': 0.01737720111214087, 'mean_word_length': 1.7673076923076922, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6057733', 'n_tokens_mistral': 1465, 'n_tokens_neox': 1368, 'n_words': 348}