Skip to content

Commit

Permalink
GitHub Action to replace Travis CI
Browse files Browse the repository at this point in the history
  • Loading branch information
cclauss committed May 11, 2024
1 parent 54d86fd commit 7a842d2
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 6 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: ci
on: [push, pull_request]
jobs:
ci:
strategy:
fail-fast: false
matrix:
os: ['ubuntu-latest']
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
include:
- os: macos-latest
python-version: '3.13'
# - os: windows-latest # TODO: Fix the Windows test that runs in an infinite loop.
# python-version: '3.13'
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- run: pip install --upgrade pip
- run: pip install --upgrade pytest
- run: pip install --editable .
- if: runner.os == 'macOS'
run: brew install libmagic
- if: runner.os == 'Windows'
run: pip install python-magic-bin
- run: LC_ALL=en_US.UTF-8 pytest
shell: bash
timeout-minutes: 15 # Limit Windows infinite loop.
18 changes: 12 additions & 6 deletions test/python_magic_test.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
import tempfile
import os
import os.path
import shutil
import sys
import tempfile
import unittest

import pytest

# for output which reports a local time
os.environ["TZ"] = "GMT"
Expand All @@ -9,12 +15,8 @@
# necessary for some tests
raise Exception("must run `export LC_ALL=en_US.UTF-8` before running test suite")

import shutil
import os.path
import unittest

import magic
import sys


# magic_descriptor is broken (?) in centos 7, so don't run those tests
SKIP_FROM_DESCRIPTOR = bool(os.environ.get("SKIP_FROM_DESCRIPTOR"))
Expand Down Expand Up @@ -118,6 +120,8 @@ def test_mime_types(self):
finally:
os.unlink(dest)

# TODO: Fix this failing test on Ubuntu
@pytest.mark.skipif(sys.platform == "linux", reason="'JSON data' not found")
def test_descriptions(self):
m = magic.Magic()
os.environ["TZ"] = "UTC" # To get last modified date of test.gz in UTC
Expand Down Expand Up @@ -157,6 +161,8 @@ def test_descriptions(self):
finally:
del os.environ["TZ"]

# TODO: Fix this failing test on Ubuntu
@pytest.mark.skipif(sys.platform == "linux", reason="'JSON data' not found")
def test_descriptions_no_soft(self):
m = magic.Magic(check_soft=False)
self.assert_values(
Expand Down

0 comments on commit 7a842d2

Please sign in to comment.