tau-fibrils-yolo 0.0.1__tar.gz → 0.0.2__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.2}/PKG-INFO +1 -1
- tau_fibrils_yolo-0.0.2/pyapp/build.py +48 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/.cargo/config.toml +2 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/.gitattributes +2 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/.github/FUNDING.yml +4 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/.github/dependabot.yml +11 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/.github/workflows/dependabot-auto-merge.yml +26 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/.github/workflows/docs-dev.yml +22 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/.github/workflows/docs-latest.yml +19 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/.github/workflows/docs.yml +81 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/.github/workflows/publish.yml +39 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/.github/workflows/test.yml +116 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/.gitignore +20 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/.linkcheckerrc +2 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/.rustfmt.toml +3 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/Cargo.lock +1914 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/Cargo.toml +86 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/README.md +51 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/build.rs +1082 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/docs/.snippets/abbrs.txt +1 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/docs/.snippets/links.txt +0 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/docs/assets/css/custom.css +23 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/docs/assets/images/example-build.gif +0 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/docs/assets/images/example-run.gif +0 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/docs/build.md +52 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/docs/changelog.md +278 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/docs/config/cli.md +46 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/docs/config/distribution.md +79 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/docs/config/installation.md +54 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/docs/config/project.md +65 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/docs/examples.md +96 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/docs/how-to.md +76 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/docs/index.md +51 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/docs/runtime.md +159 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/docs/users.md +16 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/hatch.toml +37 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/mkdocs.yml +154 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/scripts/update_distributions.py +120 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/scripts/validate_options.py +42 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/app.rs +299 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/commands/cli.rs +23 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/commands/mod.rs +2 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/commands/self_cmd/cache/cli.rs +27 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/commands/self_cmd/cache/dist.rs +35 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/commands/self_cmd/cache/mod.rs +4 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/commands/self_cmd/cache/pip.rs +39 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/commands/self_cmd/cache/uv.rs +39 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/commands/self_cmd/cli.rs +37 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/commands/self_cmd/metadata.rs +63 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/commands/self_cmd/mod.rs +9 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/commands/self_cmd/pip.rs +27 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/commands/self_cmd/python.rs +26 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/commands/self_cmd/python_path.rs +19 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/commands/self_cmd/remove.rs +24 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/commands/self_cmd/restore.rs +18 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/commands/self_cmd/update.rs +103 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/compression.rs +86 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/distribution.rs +570 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/embed/distribution +0 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/embed/project +0 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/fs_utils.rs +47 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/main.rs +35 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/network.rs +23 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/process.rs +58 -0
- tau_fibrils_yolo-0.0.2/pyapp/pyapp-latest/src/terminal.rs +31 -0
- tau_fibrils_yolo-0.0.2/pyapp/requirements.template-linux.txt +2 -0
- tau_fibrils_yolo-0.0.2/pyapp/requirements.template-windows.txt +2 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/src/tau_fibrils_yolo/_version.py +2 -2
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2/src/tau_fibrils_yolo.egg-info}/PKG-INFO +1 -1
- tau_fibrils_yolo-0.0.2/src/tau_fibrils_yolo.egg-info/SOURCES.txt +89 -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.2}/.github/workflows/release.yml +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/.gitignore +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/LICENSE +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/MANIFEST.in +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/README.md +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/assets/icon.png +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/assets/screenshot.png +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/pyproject.toml +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/scripts/train.py +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/setup.cfg +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/src/tau_fibrils_yolo/__init__.py +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/src/tau_fibrils_yolo/_widget.py +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/src/tau_fibrils_yolo/cli.py +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/src/tau_fibrils_yolo/crossover_distance.py +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/src/tau_fibrils_yolo/napari.yaml +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/src/tau_fibrils_yolo/postprocess.py +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/src/tau_fibrils_yolo/predict.py +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/src/tau_fibrils_yolo.egg-info/dependency_links.txt +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/src/tau_fibrils_yolo.egg-info/entry_points.txt +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/src/tau_fibrils_yolo.egg-info/requires.txt +0 -0
- {tau_fibrils_yolo-0.0.1 → tau_fibrils_yolo-0.0.2}/src/tau_fibrils_yolo.egg-info/top_level.txt +0 -0
|
@@ -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/
|