Skip to content

Commit

Permalink
utiles initial ci
Browse files Browse the repository at this point in the history
  • Loading branch information
jessekrubin committed May 30, 2023
0 parents commit a9643b1
Show file tree
Hide file tree
Showing 66 changed files with 8,590 additions and 0 deletions.
67 changes: 67 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Editor config is quite quite nice.
# For more info see: http://editorconfig.org
root = true

[*]
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space
indent_size = 4
charset = utf-8

[Makefile]
# Use tabs for indentation (Makefiles require tabs)
indent_style = tab

# Bash Files
[*.sh]
end_of_line = lf

# Markdown Files
[*.{md,mdx}]
trim_trailing_whitespace = false

[*.{bat,cmd,ps1}]
end_of_line = crlf

[*.{py,pyi,pyx}]
indent_style = space
indent_size = 4

[*.{js,jsx,ts,tsx,cjs,mjs,cts,mts}]
indent_style = space
indent_size = 2
max_line_length = 120

[*.{graphql,gqp}]
indent_style = space
indent_size = 2
max_line_length = 120

[*.{json,json5,ndjson,jsonc,webmanifest}]
indent_size = 2
indent_style = space

[*.{yml,yaml}]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = false
insert_final_newline = true

[*.xml]
indent_size = 2

# Misc webfiles
[*.{htm,html,js,jsm,ts,tsx,cjs,cts,ctsx,mjs,mts,mtsx,css,sass,scss,less,pcss,svg,vue}]
indent_size = 2

# Visual studio solution file(s)
[*.sln]
indent_style = tab

# Visual Studio XML Project Files
[*.{csproj,vbproj,vcxproj.filters,proj,projitems,shproj}]
indent_size = 2
59 changes: 59 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Set the default behavior, in case people don't have core.autocrlf set.
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
* text=auto eol=lf
*.c text eol=lf
*.gitattributes text eol=lf
*.gitignore text eol=lf
*.eslintignore text eol=lf
*.in text eol=lf
*.cfg text eol=lf
*.h text eol=lf
*.py text eol=lf
*.js text eol=lf
*.cjs text eol=lf
*.jsx text eol=lf
*.ts text eol=lf
*.tsx text eol=lf
*.sh text eol=lf
*.json text eol=lf
*.conf text eol=lf
*.prod text eol=lf
*.txt text eol=lf
*.rst text eol=lf
*.md text eol=lf
*.toml text eol=lf
*.yaml text eol=lf
*.yml text eol=lf
*.prisma text eol=lf
*.sql text eol=lf

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

*.dat text eol=lf
*.pdat text eol=lf
*.path text eol=lf
# Denote all files that are truly binary and should not be modified.
*.map binary
*.bin binary
*.kmz binary
*.docx binary
*.png binary
*.tif binary
*.jpg binary
*.jpeg binary
*.stack
*.whl binary
*.tar.gz binary

# EXE
*.exe binary

# RUSH
pnpm-lock.yaml merge=binary
shrinkwrap.yaml merge=binary
npm-shrinkwrap.json merge=binary
yarn.lock merge=binary
*.json linguist-language=JSON-with-Comments
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
153 changes: 153 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
on:
push:
branches:
- main
- master
tags:
- "*"
pull_request:
workflow_dispatch:

permissions:
contents: read

jobs:
linux:
runs-on: ubuntu-latest
strategy:
matrix:
target: [x86_64, x86, aarch64, armv7, s390x, ppc64le]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
sccache: "true"
manylinux: auto
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
- name: pytest
if: ${{ startsWith(matrix.target, 'x86_64') }}
shell: bash
run: |
set -e
pip install utiles --find-links dist --force-reinstall
pip install -r requirements/dev.txt
pytest
# - name: pytest
# if: ${{ !startsWith(matrix.target, 'x86') && matrix.target != 'ppc64' }}
# uses: uraimo/[email protected]
# with:
# arch: ${{ matrix.target }}
# distro: ubuntu22.04
# githubToken: ${{ github.token }}
# install: |
# apt-get update
# apt-get install -y --no-install-recommends python3 python3-pip
# pip3 install -U pytest
# pip3 install -r requirements/dev.txt
# run: |
# set -e
# pip3 install utiles --find-links dist --force-reinstall
# pip3 install -r requirements/dev.txt

windows:
runs-on: windows-latest
strategy:
matrix:
target: [x64, x86]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
architecture: ${{ matrix.target }}
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
sccache: "true"
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
- name: pytest
if: ${{ !startsWith(matrix.target, 'aarch64') }}
shell: bash
run: |
set -e
pip install utiles --find-links dist --force-reinstall
pip install -r requirements/dev.txt
pytest
macos:
runs-on: macos-latest
strategy:
matrix:
target: [x86_64, aarch64]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
sccache: "true"
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
- name: pytest
if: ${{ !startsWith(matrix.target, 'aarch64') }}
shell: bash
run: |
set -e
pip install utiles --find-links dist --force-reinstall
pip install -r requirements/dev.txt
pytest
sdist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist
- name: Upload sdist
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist

release:
name: Release
runs-on: ubuntu-latest
if: "startsWith(github.ref, 'refs/tags/')"
needs: [linux, windows, macos, sdist]
steps:
- uses: actions/download-artifact@v3
with:
name: wheels
- name: Publish to PyPI
uses: PyO3/maturin-action@v1
env:
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
with:
command: upload
args: --skip-existing *
53 changes: 53 additions & 0 deletions .github/workflows/dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
on:
push:
branches:
- dev
pull_request:
workflow_dispatch:

permissions:
contents: read

jobs:
linux:
runs-on: ubuntu-latest
strategy:
matrix:
target: [x86_64, x86, aarch64, armv7]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
sccache: "true"
manylinux: auto

- name: pytest
if: ${{ startsWith(matrix.target, 'x86_64') }}
shell: bash
run: |
set -e
pip install utiles --find-links dist --force-reinstall
pip install -r requirements/dev.txt
pytest
# - name: pytest
# if: ${{ !startsWith(matrix.target, 'x86') && matrix.target != 'ppc64' }}
# uses: uraimo/[email protected]
# with:
# arch: ${{ matrix.target }}
# distro: ubuntu22.04
# githubToken: ${{ github.token }}
# install: |
# apt-get update
# apt-get install -y --no-install-recommends python3 python3-pip
# pip3 install -U pip pytest
# pip3 install -r requirements/dev.txt
# run: |
# set -e
# pip3 install utiles --find-links dist --force-reinstall
# pip3 install -r requirements/dev.txt
Loading

0 comments on commit a9643b1

Please sign in to comment.