Skip to content

Commit dc776e0

Browse files
author
Lando Calrissian
committed
Initial project skeleton
0 parents  commit dc776e0

15 files changed

+790
-0
lines changed

.copier-answers.yml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# This file is managed by Copier; DO NOT EDIT OR REMOVE.
2+
_commit: v0.3.0-4-g370d45b
3+
_src_path: .
4+
add_autobump_workflow: true
5+
author_email: lando@calrissian.org
6+
author_name: Lando Calrissian
7+
github_url: https://github.com/LandoCalrissian/package
8+
github_user: LandoCalrissian
9+
minimal_python_version: py39
10+
project_short_description: Example Package
11+
project_slug: package
12+
use_devcontainer: false

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pixi.lock linguist-language=YAML linguist-generated=true

.github/CODEOWNERS

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @LandoCalrissian

.github/dependabot.yml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
directory: /
5+
schedule:
6+
interval: monthly
7+
groups:
8+
gh-actions:
9+
patterns:
10+
- "*"

.github/workflows/build.yml

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Build
2+
on:
3+
pull_request:
4+
push:
5+
branches:
6+
- main
7+
tags:
8+
- "*"
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
15+
with:
16+
fetch-depth: 0
17+
- name: Set up pixi
18+
uses: prefix-dev/setup-pixi@92815284c57faa15cd896c4d5cfb2d59f32dc43d # v0.8.3
19+
with:
20+
environments: build
21+
- name: Build project
22+
run: pixi run -e build build-wheel
23+
- name: Check package
24+
run: pixi run -e build check-wheel
25+
- name: Upload package
26+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
27+
with:
28+
name: artifact
29+
path: dist/*
30+
31+
release:
32+
name: Publish package
33+
if: startsWith(github.ref, 'refs/tags/')
34+
needs: [build]
35+
runs-on: ubuntu-latest
36+
permissions:
37+
id-token: write
38+
environment: pypi
39+
steps:
40+
- uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
41+
with:
42+
name: artifact
43+
path: dist
44+
- name: Publish package on PyPi
45+
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4

.github/workflows/ci.yml

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: CI
2+
on:
3+
pull_request:
4+
push:
5+
branches:
6+
- main
7+
8+
# Automatically stop old builds on the same branch/PR
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
pre-commit:
15+
timeout-minutes: 30
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout branch
19+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
20+
- name: Set up pixi
21+
uses: prefix-dev/setup-pixi@92815284c57faa15cd896c4d5cfb2d59f32dc43d # v0.8.3
22+
with:
23+
environments: default lint
24+
- name: pre-commit
25+
run: pixi run pre-commit-run --color=always --show-diff-on-failure
26+
27+
pytest:
28+
timeout-minutes: 30
29+
runs-on: ${{ matrix.os }}
30+
strategy:
31+
fail-fast: false
32+
matrix:
33+
environment:
34+
- py39
35+
- py310
36+
- py311
37+
- py312
38+
- py313
39+
os:
40+
- ubuntu-latest
41+
- macos-latest
42+
- windows-latest
43+
steps:
44+
- name: Checkout branch
45+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
46+
with:
47+
fetch-depth: 0
48+
- name: Set up pixi
49+
uses: prefix-dev/setup-pixi@92815284c57faa15cd896c4d5cfb2d59f32dc43d # v0.8.3
50+
with:
51+
environments: ${{ matrix.environment }}
52+
- name: Install repository
53+
run: pixi run -e ${{ matrix.environment }} postinstall
54+
- name: Run pytest
55+
run: pixi run -e ${{ matrix.environment }} test-coverage --color=yes
+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Update lockfiles
2+
permissions:
3+
contents: write
4+
pull-requests: write
5+
6+
on:
7+
workflow_dispatch:
8+
schedule:
9+
- cron: 0 5 1 * *
10+
11+
jobs:
12+
pixi-update:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
16+
- name: Set up pixi
17+
uses: prefix-dev/setup-pixi@92815284c57faa15cd896c4d5cfb2d59f32dc43d # v0.8.3
18+
with:
19+
run-install: false
20+
- name: Update lockfiles
21+
run: |
22+
pixi update --json --no-install | pixi exec pixi-diff-to-markdown >> diff.md
23+
- name: Create pull request
24+
uses: peter-evans/create-pull-request@dd2324fc52d5d43c699a5636bcf19fceaa70c284 # v7.0.7
25+
with:
26+
token: ${{ secrets.GITHUB_TOKEN }}
27+
commit-message: Update pixi lockfile
28+
title: Update pixi lockfile
29+
body-path: diff.md
30+
branch: update-pixi
31+
base: main
32+
labels: pixi
33+
delete-branch: true
34+
add-paths: pixi.lock

0 commit comments

Comments
 (0)