tau-fibrils-yolo 0.0.1__tar.gz → 0.0.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tau_fibrils_yolo-0.0.1/src/tau_fibrils_yolo.egg-info → tau_fibrils_yolo-0.0.3}/PKG-INFO +2 -2
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/README.md +1 -1
- tau_fibrils_yolo-0.0.3/pyapp/build.py +48 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/.cargo/config.toml +2 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/.gitattributes +2 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/.github/FUNDING.yml +4 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/.github/dependabot.yml +11 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/.github/workflows/dependabot-auto-merge.yml +26 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/.github/workflows/docs-dev.yml +22 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/.github/workflows/docs-latest.yml +19 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/.github/workflows/docs.yml +81 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/.github/workflows/publish.yml +39 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/.github/workflows/test.yml +116 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/.gitignore +20 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/.linkcheckerrc +2 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/.rustfmt.toml +3 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/Cargo.lock +1914 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/Cargo.toml +86 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/README.md +51 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/build.rs +1082 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/docs/.snippets/abbrs.txt +1 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/docs/.snippets/links.txt +0 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/docs/assets/css/custom.css +23 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/docs/assets/images/example-build.gif +0 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/docs/assets/images/example-run.gif +0 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/docs/build.md +52 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/docs/changelog.md +278 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/docs/config/cli.md +46 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/docs/config/distribution.md +79 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/docs/config/installation.md +54 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/docs/config/project.md +65 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/docs/examples.md +96 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/docs/how-to.md +76 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/docs/index.md +51 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/docs/runtime.md +159 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/docs/users.md +16 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/hatch.toml +37 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/mkdocs.yml +154 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/scripts/update_distributions.py +120 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/scripts/validate_options.py +42 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/app.rs +299 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/commands/cli.rs +23 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/commands/mod.rs +2 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/commands/self_cmd/cache/cli.rs +27 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/commands/self_cmd/cache/dist.rs +35 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/commands/self_cmd/cache/mod.rs +4 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/commands/self_cmd/cache/pip.rs +39 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/commands/self_cmd/cache/uv.rs +39 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/commands/self_cmd/cli.rs +37 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/commands/self_cmd/metadata.rs +63 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/commands/self_cmd/mod.rs +9 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/commands/self_cmd/pip.rs +27 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/commands/self_cmd/python.rs +26 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/commands/self_cmd/python_path.rs +19 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/commands/self_cmd/remove.rs +24 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/commands/self_cmd/restore.rs +18 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/commands/self_cmd/update.rs +103 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/compression.rs +86 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/distribution.rs +570 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/embed/distribution +0 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/embed/project +0 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/fs_utils.rs +47 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/main.rs +35 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/network.rs +23 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/process.rs +58 -0
- tau_fibrils_yolo-0.0.3/pyapp/pyapp-latest/src/terminal.rs +31 -0
- tau_fibrils_yolo-0.0.3/pyapp/requirements.template-linux.txt +2 -0
- tau_fibrils_yolo-0.0.3/pyapp/requirements.template-windows.txt +2 -0
- tau_fibrils_yolo-0.0.3/src/tau_fibrils_yolo/__main__.py +7 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/src/tau_fibrils_yolo/_version.py +2 -2
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3/src/tau_fibrils_yolo.egg-info}/PKG-INFO +2 -2
- tau_fibrils_yolo-0.0.3/src/tau_fibrils_yolo.egg-info/SOURCES.txt +90 -0
- tau_fibrils_yolo-0.0.1/src/tau_fibrils_yolo.egg-info/SOURCES.txt +0 -23
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/.github/workflows/release.yml +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/.gitignore +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/LICENSE +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/MANIFEST.in +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/assets/icon.png +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/assets/screenshot.png +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/pyproject.toml +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/scripts/train.py +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/setup.cfg +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/src/tau_fibrils_yolo/__init__.py +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/src/tau_fibrils_yolo/_widget.py +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/src/tau_fibrils_yolo/cli.py +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/src/tau_fibrils_yolo/crossover_distance.py +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/src/tau_fibrils_yolo/napari.yaml +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/src/tau_fibrils_yolo/postprocess.py +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/src/tau_fibrils_yolo/predict.py +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/src/tau_fibrils_yolo.egg-info/dependency_links.txt +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/src/tau_fibrils_yolo.egg-info/entry_points.txt +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/src/tau_fibrils_yolo.egg-info/requires.txt +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.3}/src/tau_fibrils_yolo.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: tau-fibrils-yolo
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.3
|
|
4
4
|
Summary: YoloV8 model for the detection of Tau fibrils in Cryo-EM images.
|
|
5
5
|
Author-email: Mallory Wittwer <mallory.wittwer@epfl.ch>
|
|
6
6
|
License: BSD 3-Clause License
|
|
@@ -69,7 +69,7 @@ This project is part of a collaboration between the [EPFL Center for Imaging](ht
|
|
|
69
69
|
|
|
70
70
|
### As a standalone app
|
|
71
71
|
|
|
72
|
-
|
|
72
|
+
Download and run the latest installer from the [Releases](https://github.com/EPFL-Center-for-Imaging/tau-fibrils-yolo/releases) page.
|
|
73
73
|
|
|
74
74
|
### As a Python package
|
|
75
75
|
|
|
@@ -13,7 +13,7 @@ This project is part of a collaboration between the [EPFL Center for Imaging](ht
|
|
|
13
13
|
|
|
14
14
|
### As a standalone app
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Download and run the latest installer from the [Releases](https://github.com/EPFL-Center-for-Imaging/tau-fibrils-yolo/releases) page.
|
|
17
17
|
|
|
18
18
|
### As a Python package
|
|
19
19
|
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Packages the depalma-napari-omero project into a single exectuable with PyApp.
|
|
3
|
+
"""
|
|
4
|
+
import os
|
|
5
|
+
import shutil
|
|
6
|
+
import subprocess
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
|
|
9
|
+
from depalma_napari_omero import __version__, __name__
|
|
10
|
+
|
|
11
|
+
script_directory = Path(__file__).parent
|
|
12
|
+
|
|
13
|
+
# Set environment variables
|
|
14
|
+
os.environ['PYAPP_PROJECT_NAME'] = __name__
|
|
15
|
+
os.environ['PYAPP_PROJECT_VERSION'] = __version__
|
|
16
|
+
os.environ['PYAPP_PYTHON_VERSION'] = "3.9"
|
|
17
|
+
os.environ['PYAPP_EXEC_SCRIPT'] = str((script_directory.parent / 'src' / __name__ / '__main__.py').resolve())
|
|
18
|
+
if os.name == 'nt':
|
|
19
|
+
print("Building for Windows.")
|
|
20
|
+
extension = '.exe' # Windows
|
|
21
|
+
platform = 'w64'
|
|
22
|
+
os.environ['PYAPP_PROJECT_DEPENDENCY_FILE'] = str((script_directory / 'requirements.w64.txt').resolve())
|
|
23
|
+
else:
|
|
24
|
+
print("Building for Linux / MacOS.")
|
|
25
|
+
extension = '' # Linux and MacOS
|
|
26
|
+
platform = 'u64'
|
|
27
|
+
os.environ['PYAPP_PROJECT_DEPENDENCY_FILE'] = str((script_directory / 'requirements.txt').resolve())
|
|
28
|
+
|
|
29
|
+
# Print them
|
|
30
|
+
print(f"{os.environ['PYAPP_PROJECT_NAME']=}")
|
|
31
|
+
print(f"{os.environ['PYAPP_PROJECT_VERSION']=}")
|
|
32
|
+
print(f"{os.environ['PYAPP_PYTHON_VERSION']=}")
|
|
33
|
+
print(f"{os.environ['PYAPP_EXEC_SCRIPT']=}")
|
|
34
|
+
print(f"{os.environ['PYAPP_PROJECT_DEPENDENCY_FILE']=}")
|
|
35
|
+
|
|
36
|
+
# Change directory and run cargo build
|
|
37
|
+
os.chdir(str(script_directory / 'pyapp-latest'))
|
|
38
|
+
subprocess.run(['cargo', 'build', '--release'], capture_output=True, text=True)
|
|
39
|
+
os.chdir(str(script_directory))
|
|
40
|
+
|
|
41
|
+
source_path = str((script_directory / 'pyapp-latest' / 'target' / 'release' / f'pyapp{extension}').resolve())
|
|
42
|
+
destination_path = str((script_directory.parent / 'release' / f'{__name__}_{platform}_{__version__}{extension}').resolve())
|
|
43
|
+
|
|
44
|
+
if os.path.exists(source_path):
|
|
45
|
+
shutil.copy(source_path, destination_path)
|
|
46
|
+
print(f"Copied {source_path} to {destination_path}")
|
|
47
|
+
else:
|
|
48
|
+
print(f"{source_path} does not exist")
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: Dependabot auto-merge
|
|
2
|
+
|
|
3
|
+
on: pull_request
|
|
4
|
+
|
|
5
|
+
permissions:
|
|
6
|
+
contents: write
|
|
7
|
+
pull-requests: write
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
enable:
|
|
11
|
+
if: ${{ github.actor == 'dependabot[bot]' }}
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- name: Dependabot metadata
|
|
16
|
+
id: metadata
|
|
17
|
+
uses: dependabot/fetch-metadata@v2
|
|
18
|
+
with:
|
|
19
|
+
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
|
20
|
+
|
|
21
|
+
- name: Enable auto-merge for Dependabot PRs
|
|
22
|
+
if: ${{contains(steps.metadata.outputs.dependency-names, 'my-dependency') && steps.metadata.outputs.update-type == 'version-update:semver-patch'}}
|
|
23
|
+
run: gh pr merge --auto --merge "$PR_URL"
|
|
24
|
+
env:
|
|
25
|
+
PR_URL: ${{github.event.pull_request.html_url}}
|
|
26
|
+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
name: Docs dev
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
pull_request:
|
|
8
|
+
branches:
|
|
9
|
+
- master
|
|
10
|
+
|
|
11
|
+
concurrency:
|
|
12
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
|
|
13
|
+
cancel-in-progress: true
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
docs:
|
|
17
|
+
uses: ./.github/workflows/docs.yml
|
|
18
|
+
with:
|
|
19
|
+
version: dev
|
|
20
|
+
publish: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
|
21
|
+
permissions:
|
|
22
|
+
contents: write
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
name: Docs latest
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- v*
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
concurrency:
|
|
10
|
+
group: docs-deploy
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
docs:
|
|
14
|
+
uses: ./.github/workflows/docs.yml
|
|
15
|
+
with:
|
|
16
|
+
version: latest
|
|
17
|
+
publish: true
|
|
18
|
+
permissions:
|
|
19
|
+
contents: write
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
name: docs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_call:
|
|
5
|
+
inputs:
|
|
6
|
+
version:
|
|
7
|
+
required: true
|
|
8
|
+
type: string
|
|
9
|
+
publish:
|
|
10
|
+
required: true
|
|
11
|
+
type: boolean
|
|
12
|
+
|
|
13
|
+
defaults:
|
|
14
|
+
run:
|
|
15
|
+
shell: bash
|
|
16
|
+
|
|
17
|
+
env:
|
|
18
|
+
PYTHONUNBUFFERED: '1'
|
|
19
|
+
FORCE_COLOR: '1'
|
|
20
|
+
STABLE_PYTHON_VERSION: "3.11"
|
|
21
|
+
|
|
22
|
+
jobs:
|
|
23
|
+
build:
|
|
24
|
+
runs-on: ubuntu-latest
|
|
25
|
+
|
|
26
|
+
steps:
|
|
27
|
+
- name: Checkout code
|
|
28
|
+
uses: actions/checkout@v4
|
|
29
|
+
with:
|
|
30
|
+
# Fetch all history for applying timestamps to every page
|
|
31
|
+
fetch-depth: 0
|
|
32
|
+
|
|
33
|
+
- name: Set up Python ${{ env.STABLE_PYTHON_VERSION }}
|
|
34
|
+
uses: actions/setup-python@v5
|
|
35
|
+
with:
|
|
36
|
+
python-version: ${{ env.STABLE_PYTHON_VERSION }}
|
|
37
|
+
|
|
38
|
+
- name: Install Hatch
|
|
39
|
+
run: pip install hatch
|
|
40
|
+
|
|
41
|
+
- name: Configure Git for GitHub Actions bot
|
|
42
|
+
run: |-
|
|
43
|
+
git config --local user.name 'github-actions[bot]'
|
|
44
|
+
git config --local user.email 'github-actions[bot]@users.noreply.github.com'
|
|
45
|
+
|
|
46
|
+
- name: Build documentation
|
|
47
|
+
run: hatch run docs:build-check
|
|
48
|
+
|
|
49
|
+
- name: Commit documentation
|
|
50
|
+
run: hatch run docs:ci-build ${{ inputs.version }}
|
|
51
|
+
|
|
52
|
+
- name: Create archive
|
|
53
|
+
run: git archive --prefix site/ -o site.tar.gz gh-pages
|
|
54
|
+
|
|
55
|
+
- name: Upload site
|
|
56
|
+
uses: actions/upload-artifact@v4
|
|
57
|
+
with:
|
|
58
|
+
name: site
|
|
59
|
+
path: site.tar.gz
|
|
60
|
+
|
|
61
|
+
publish:
|
|
62
|
+
if: ${{ inputs.publish }}
|
|
63
|
+
needs:
|
|
64
|
+
- build
|
|
65
|
+
runs-on: ubuntu-latest
|
|
66
|
+
|
|
67
|
+
steps:
|
|
68
|
+
- name: Download site
|
|
69
|
+
uses: actions/download-artifact@v4
|
|
70
|
+
with:
|
|
71
|
+
name: site
|
|
72
|
+
|
|
73
|
+
- name: Unpack archive
|
|
74
|
+
run: tar -xzf site.tar.gz
|
|
75
|
+
|
|
76
|
+
- name: Publish site
|
|
77
|
+
uses: peaceiris/actions-gh-pages@v4
|
|
78
|
+
with:
|
|
79
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
80
|
+
publish_dir: site
|
|
81
|
+
commit_message: ${{ github.event.head_commit.message }}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
name: Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- v*
|
|
7
|
+
|
|
8
|
+
defaults:
|
|
9
|
+
run:
|
|
10
|
+
shell: bash
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
publish:
|
|
14
|
+
name: Publish release
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
|
|
17
|
+
permissions:
|
|
18
|
+
contents: write
|
|
19
|
+
|
|
20
|
+
steps:
|
|
21
|
+
- name: Checkout code
|
|
22
|
+
uses: actions/checkout@v4
|
|
23
|
+
|
|
24
|
+
- name: Publish to crates.io
|
|
25
|
+
env:
|
|
26
|
+
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
|
|
27
|
+
run: cargo publish
|
|
28
|
+
|
|
29
|
+
- name: Create source archives
|
|
30
|
+
run: |-
|
|
31
|
+
git archive --prefix pyapp-${{ github.ref_name }}/ -o source.tar.gz HEAD
|
|
32
|
+
git archive --prefix pyapp-${{ github.ref_name }}/ -o source.zip HEAD
|
|
33
|
+
|
|
34
|
+
- name: Add source archives to current release
|
|
35
|
+
uses: softprops/action-gh-release@v2
|
|
36
|
+
with:
|
|
37
|
+
files: |-
|
|
38
|
+
source.tar.gz
|
|
39
|
+
source.zip
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
name: Test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
pull_request:
|
|
8
|
+
branches:
|
|
9
|
+
- master
|
|
10
|
+
|
|
11
|
+
concurrency:
|
|
12
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
|
|
13
|
+
cancel-in-progress: true
|
|
14
|
+
|
|
15
|
+
defaults:
|
|
16
|
+
run:
|
|
17
|
+
shell: bash
|
|
18
|
+
|
|
19
|
+
env:
|
|
20
|
+
STABLE_PYTHON_VERSION: "3.11"
|
|
21
|
+
|
|
22
|
+
jobs:
|
|
23
|
+
test:
|
|
24
|
+
name: ${{ matrix.job.target }} (${{ matrix.job.os }})
|
|
25
|
+
runs-on: ${{ matrix.job.os }}
|
|
26
|
+
strategy:
|
|
27
|
+
fail-fast: false
|
|
28
|
+
matrix:
|
|
29
|
+
job:
|
|
30
|
+
# Linux
|
|
31
|
+
- target: aarch64-unknown-linux-gnu
|
|
32
|
+
os: ubuntu-22.04
|
|
33
|
+
cross: true
|
|
34
|
+
- target: x86_64-unknown-linux-gnu
|
|
35
|
+
os: ubuntu-22.04
|
|
36
|
+
cross: true
|
|
37
|
+
test: true
|
|
38
|
+
validate: true
|
|
39
|
+
- target: x86_64-unknown-linux-musl
|
|
40
|
+
os: ubuntu-22.04
|
|
41
|
+
cross: true
|
|
42
|
+
- target: i686-unknown-linux-gnu
|
|
43
|
+
os: ubuntu-22.04
|
|
44
|
+
cross: true
|
|
45
|
+
python_version: "3.11"
|
|
46
|
+
- target: powerpc64le-unknown-linux-gnu
|
|
47
|
+
os: ubuntu-22.04
|
|
48
|
+
cross: true
|
|
49
|
+
# Windows
|
|
50
|
+
- target: x86_64-pc-windows-msvc
|
|
51
|
+
os: windows-2022
|
|
52
|
+
test: true
|
|
53
|
+
- target: i686-pc-windows-msvc
|
|
54
|
+
os: windows-2022
|
|
55
|
+
# macOS
|
|
56
|
+
- target: aarch64-apple-darwin
|
|
57
|
+
os: macos-14
|
|
58
|
+
test: true
|
|
59
|
+
- target: x86_64-apple-darwin
|
|
60
|
+
os: macos-12
|
|
61
|
+
test: true
|
|
62
|
+
|
|
63
|
+
env:
|
|
64
|
+
CARGO: cargo
|
|
65
|
+
CARGO_BUILD_TARGET: "${{ matrix.job.target }}"
|
|
66
|
+
PYAPP_PROJECT_NAME: cowsay
|
|
67
|
+
PYAPP_PROJECT_VERSION: "5.0.0"
|
|
68
|
+
PYAPP_PYTHON_VERSION: "${{ matrix.job.python_version }}"
|
|
69
|
+
|
|
70
|
+
steps:
|
|
71
|
+
- name: Checkout code
|
|
72
|
+
uses: actions/checkout@v4
|
|
73
|
+
|
|
74
|
+
- name: Set up Python ${{ env.STABLE_PYTHON_VERSION }}
|
|
75
|
+
if: matrix.job.validate
|
|
76
|
+
uses: actions/setup-python@v5
|
|
77
|
+
with:
|
|
78
|
+
python-version: ${{ env.STABLE_PYTHON_VERSION }}
|
|
79
|
+
|
|
80
|
+
- name: Validate
|
|
81
|
+
if: matrix.job.validate
|
|
82
|
+
run: python scripts/validate_options.py
|
|
83
|
+
|
|
84
|
+
- name: Set up cross compiling
|
|
85
|
+
if: matrix.job.cross
|
|
86
|
+
uses: taiki-e/install-action@v2
|
|
87
|
+
with:
|
|
88
|
+
tool: cross
|
|
89
|
+
|
|
90
|
+
- name: Configure cross compiling
|
|
91
|
+
if: matrix.job.cross
|
|
92
|
+
run: echo "CARGO=cross" >> $GITHUB_ENV
|
|
93
|
+
|
|
94
|
+
- name: Install Rust toolchain
|
|
95
|
+
uses: dtolnay/rust-toolchain@stable
|
|
96
|
+
with:
|
|
97
|
+
targets: ${{ matrix.job.target }}
|
|
98
|
+
components: clippy, rustfmt
|
|
99
|
+
|
|
100
|
+
- name: Lint
|
|
101
|
+
run: $CARGO clippy --no-deps
|
|
102
|
+
|
|
103
|
+
- name: Format
|
|
104
|
+
if: matrix.job.validate
|
|
105
|
+
run: cargo fmt --check
|
|
106
|
+
|
|
107
|
+
- name: See dependency tree
|
|
108
|
+
run: $CARGO tree
|
|
109
|
+
|
|
110
|
+
- name: Build
|
|
111
|
+
if: ${{ !matrix.job.test }}
|
|
112
|
+
run: $CARGO build
|
|
113
|
+
|
|
114
|
+
- name: Test
|
|
115
|
+
if: matrix.job.test
|
|
116
|
+
run: cargo run -- Moo Success!
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Generated by Cargo
|
|
2
|
+
# will have compiled files and executables
|
|
3
|
+
debug/
|
|
4
|
+
target/
|
|
5
|
+
|
|
6
|
+
# These are backup files generated by rustfmt
|
|
7
|
+
**/*.rs.bk
|
|
8
|
+
|
|
9
|
+
# MSVC Windows builds of rustc generate these, which store debugging information
|
|
10
|
+
*.pdb
|
|
11
|
+
|
|
12
|
+
# Added by cargo
|
|
13
|
+
/target
|
|
14
|
+
|
|
15
|
+
# Documentation
|
|
16
|
+
/.cache/
|
|
17
|
+
/site/
|
|
18
|
+
|
|
19
|
+
# Editor configs
|
|
20
|
+
.vscode/
|