Skip to content

Python 3.6 in macOS 11, tkinter error: macOS 11 (1107) or later required, have instead 11 (1106) #580

Description

@carlosperate

Description:
Looks like Tkinter from Python 3.6 is not compatible with the current macos-11 runner.

Action version:
v4, which at the time of writting is v4.4.0

Platform:

  • Ubuntu
  • macOS
  • Windows

Runner type:

  • Hosted
  • Self-hosted

Tools version:

  • Python 3.6
    • 3.6.15, 3.6.7, 3.6.8, 3.6.10 and others I've tested but didn't write down
  • Current runner version: '2.299.1'

Repro steps:

This simple script opens a tkinter window and closes it after 5 seconds:

import tkinter as tk

root = tk.Tk()
label = tk.Label(root, text="Hello World!")
label.pack(padx=20, pady=20)
root.after(5000, root.destroy)    # Close the Window after 5 seconds
root.mainloop()

With this workflow:

name: Test Python Tk

on: [push, pull_request]

jobs:
  tests-poetry:
    strategy:
      matrix:
        os: [ubuntu-20.04, macos-11, windows-latest]
        python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"]
      fail-fast: false
    name: Py ${{ matrix.python-version }} - ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v3
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
      - name: Prepare Ubuntu xvfb
        if: runner.os == 'Linux'
        run: |
          sudo apt-get update
          sudo apt-get install -y libxkbcommon-x11-0 xvfb
      - name: Run tk script (closes itself after 5 seconds) - Ubuntu
        if: runner.os == 'Linux'
        run: xvfb-run python tk_min.py
      - name: Run tk script (closes itself after 5 seconds)
        if: runner.os != 'Linux'
        run: python tk_min.py

Works in the other Python versions and operating systems except 3.6 on macOS 11:

image

Expected behavior:
The Python script to run without Python aborting.

Actual behavior:

Python aborts:

Run python tk_min.py
  python tk_min.py
  shell: /bin/bash -e {0}
  env:
    pythonLocation: /Users/runner/hostedtoolcache/Python/3.6.15/x64
    PKG_CONFIG_PATH: /Users/runner/hostedtoolcache/Python/3.6.15/x64/lib/pkgconfig
    Python_ROOT_DIR: /Users/runner/hostedtoolcache/Python/3.6.15/x64
    Python2_ROOT_DIR: /Users/runner/hostedtoolcache/Python/3.6.15/x64
    Python3_ROOT_DIR: /Users/runner/hostedtoolcache/Python/3.6.15/x64
macOS 11 (1107) or later required, have instead 11 (1106) !
/Users/runner/work/_temp/465490bc-d5c3-4408-957f-f9a46c582a34.sh: line 1:  2417 Abort trap: 6           python tk_min.py
Error: Process completed with exit code 134.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions