Skip to content

Commit

Permalink
Merge pull request #33 from spyder-ide/upgrade-infra-packaging
Browse files Browse the repository at this point in the history
Add tests and CIs, upgrade packaging and metafiles, drop Py2 and add Py3.10, standardize infra and config, and more
  • Loading branch information
CAM-Gerlach authored Jan 13, 2022
2 parents ae4b9a3 + c4fb5e7 commit ce67c9a
Show file tree
Hide file tree
Showing 25 changed files with 890 additions and 274 deletions.
304 changes: 304 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,304 @@
# Standard gitattributes config

# Set the default behavior, in case people don't have core.autocrlf set.
* text eol=lf

# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.

*.txt text

# Source code
*.bash text eol=lf
*.c text
*.cpp text
*.csh text eol=lf
*.fish text eol=lf
*.inc text
*.ipynb text
*.h text
*.ksh text eol=lf
*.ps1 text
*.pxd text diff=python
*.py text diff=python
*.py3 text diff=python
*.pyi text diff=python
*.pyw text diff=python
*.pyx text diff=python
*.qss text
*.r text
*.R text
*.rb text
*.rmd text
*.Rmd text
*.rnw text
*.Rnw text
*.sh text eol=lf
*.zsh text eol=lf

# Documentation
*.adoc text
*.latex text
*.LaTeX text
*.markdown text
*.md text
*.po text
*.pot text
*.rd text
*.Rd text
*.rst text
*.tex text
*.TeX text
*.tmpl text
*.tpl text

# Web
*.atom text
*.css text
*.htm text
*.html text
*.js text
*.jsx text
*.json text
*.php text
*.pl text
*.rss text
*.sass text
*.scss text
*.xht text
*.xhtml text

# Configuration
*.cfg text
*.cnf text
*.conf text
*.config text
*.desktop text
*.inf text
*.ini text
*.plist text
*.toml text
*.xml text
*.yml text
*.yaml text

# Plain text data
*.cdl text
*.csv text
*.dif text
*.geojson text
*.gml text
*.kml text
*.sql text
*.tab text
*.tsv text
*.wkt text

# Other text files
*.diff -text
*.patch -text

# Special files
.*rc text
.checkignore text
.ciocheck text
.ciocopyright text
.editorconfig text
.gitattributes export-ignore
.gitconfig export-ignore
.gitignore export-ignore
.gitmodules export-ignore
.gitkeep export-ignore
*.lektorproject text
.nojekyll text
.project text

AUTHORS text
CHANGELOG text
CHANGES text
CONTRIBUTING text
INSTALL text
license text
LICENSE text
NEWS text
NOTICES text
readme text
*README* text
RELEASE text
TODO text

browserslist text
contents.lr text
makefile text
Makefile text
MANIFEST.in text


# Declare files that will always have CRLF line endings on checkout.
*.bat text eol=crlf
*.cmd text eol=crlf
*.vbs text eol=crlf
*.vb text eol=crlf


# Denote all files that are truly binary and should not be modified.

# Executable
*.app binary
*.bin binary
*.deb binary
*.dll binary
*.dylib binary
*.elf binary
*.exe binary
*.ko binary
*.lib binary
*.msi binary
*.o binary
*.obj binary
*.pyc binary
*.pyd binary
*.pyo binary
*.rdb binary
*.Rdb binary
*.rdx binary
*.Rdx binary
*.rpm binary
*.so binary
*.sys binary

# Data
*.cdf binary
*.db binary
*.dta binary
*.feather binary
*.fit binary
*.fits binary
*.fts binary
*.fods binary
*.geotiff binary
*.gpkg binary
*.h4 binary
*.h5 binary
*.hdf binary
*.hdf4 binary
*.hdf5 binary
*.mat binary
*.nc binary
*.npy binary
*.npz binary
*.odb binary
*.ods binary
*.p binary
*.parquet binary
*.pickle binary
*.pkl binary
*.rdata binary
*.Rdata binary
*.RData binary
*.rda binary
*.Rda binary
*.rds binary
*.Rds binary
*.sav binary
*.sqlite binary
*.wkb binary
*.xls binary
*.XLS binary
*.xlsx binary
*.XLSX binary

# Documents
*.doc binary
*.DOC binary
*.docx binary
*.DOCX binary
*.epub binary
*.fodp binary
*.fodt binary
*.odp binary
*.odt binary
*.pdf binary
*.PDF binary
*.ppt binary
*.PPT binary
*.pptx binary
*.PPTX binary
*.rtf binary
*.RTF binary

# Graphics
*.ai binary
*.bmp binary
*.eps binary
*.fodg binary
*.gif binary
*.icns binary
*.ico binary
*.jp2 binary
*.jpeg binary
*.jpg binary
*.mo binary
*.pdn binary
*.png binary
*.PNG binary
*.psd binary
*.odg binary
*.svg binary
*.svgz binary
*.tif binary
*.tiff binary
*.webp binary
*.xcf binary

# Fonts
*.eot binary
*.otc binary
*.otf binary
*.ttc binary
*.ttf binary
*.woff binary
*.woff2 binary

# Audio/Video
*.aac binary
*.flac binary
*.mka binary
*.mkv binary
*.mp3 binary
*.mp4 binary
*.oga binary
*.ogg binary
*.ogv binary
*.opus binary
*.wav binary
*.webm binary


# Archives
*.7z binary
*.bz2 binary
*.dmg binary
*.gz binary
*.lz binary
*.lzma binary
*.pyz binary
*.rar binary
*.sz binary
*.tar binary
*.tbz2 binary
*.tgz binary
*.tlz binary
*.txz binary
*.xz binary
*.zip binary

# Spyder-related
*.results binary
*.spydata binary

# Other
*.bak binary
*.lnk binary
*.temp binary
*.tmp binary
File renamed without changes.
54 changes: 54 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Run the project's test suite
name: Tests

on:
push:
branches:
- master
- main
- '*.x'
pull_request:
branches:
- master
- main
- '*.x'

jobs:
test:
name: Test Python ${{ matrix.python-version }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ['3.6', '3.10']
steps:
- name: Checkout branch
uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Print basic Python info
shell: python
run: |
import sys
print(sys.executable, sys.version, sep='\n')
- name: Install baseline deps
run: python -m pip install --upgrade pip setuptools wheel
- name: Install build deps
run: python -m pip install --upgrade --upgrade-strategy eager build pip setuptools wheel
- name: Build package
run: python -bb -X dev -W error -m build
- name: Install wheel
shell: bash
run: 'echo dist/*.whl | xargs -I % python -bb -X dev -W error -W ignore::DeprecationWarning:pip._internal.locations._distutils -W ignore::DeprecationWarning:distutils.command.install -m pip install --upgrade %[test]'
- name: List packages in environment
run: pip list
- name: Run tests
shell: bash
run: python -I -bb -X dev -W error -m pytest
- name: Twine check
run: pipx run twine check --strict dist/*
- name: Pip check
run: pip check -v
Loading

0 comments on commit ce67c9a

Please sign in to comment.