Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
197 commits
Select commit Hold shift + click to select a range
08af1b5
Merge pull request #102 from easyscience/develop
AndrewSazonov Sep 16, 2025
08e0bce
Merge pull request #103 from easyscience/develop
AndrewSazonov Sep 16, 2025
52262f7
Merge pull request #104 from easyscience/develop
AndrewSazonov Sep 16, 2025
e3d40b8
Simplifies branch processing and installs badgery
AndrewSazonov Sep 16, 2025
94c87ba
Adds flag for unit test coverage in .badgery.yaml
AndrewSazonov Sep 16, 2025
ef0a267
Updates dependencies and easydiffraction shortcuts
AndrewSazonov Sep 16, 2025
45c94e3
Adds dashboard build trigger post-tutorial tests
AndrewSazonov Sep 16, 2025
63de4a8
Updates tutorial command names in workflow script
AndrewSazonov Sep 16, 2025
74dd8e7
Simplifies installation by using all extras
AndrewSazonov Sep 16, 2025
d31a06f
Adds dashboard build trigger after PyPI tests
AndrewSazonov Sep 16, 2025
d67f817
Refactors sample model creation architecture
AndrewSazonov Sep 16, 2025
4eceea9
Updates sample model API in tests
AndrewSazonov Sep 16, 2025
4cec0fd
Updates sample model API in tutorials
AndrewSazonov Sep 16, 2025
8d0a154
Refactors argument validation and simplifies CIF reading
AndrewSazonov Sep 16, 2025
cc6bffe
Update SampleModel API and adjust linked phases check
AndrewSazonov Sep 16, 2025
10f4a48
Increase McCabe complexity limit and add dependency
AndrewSazonov Sep 21, 2025
b83263c
Fixes dev-install command in pixi.toml
AndrewSazonov Sep 21, 2025
f802005
Adds centralized logging utility
AndrewSazonov Sep 21, 2025
e5639ed
Adds function to parse CIF-style numeric strings to ufloat
AndrewSazonov Sep 21, 2025
303e8fc
Refactors core object model for improved structure
AndrewSazonov Sep 21, 2025
613c818
Refactors ID attributes to use entry_name consistently
AndrewSazonov Sep 21, 2025
835b3d9
Refactors alias and constraint classes
AndrewSazonov Sep 21, 2025
34b141f
Refactors core objects to enhance category handling
AndrewSazonov Sep 21, 2025
b866a11
Refactors core components and structures for enhanced clarity
AndrewSazonov Sep 21, 2025
6ccfc77
Adds CIF alias utility functions to enhance data handling
AndrewSazonov Sep 21, 2025
3046b26
Add test suite for SampleModels components and fix imports
AndrewSazonov Sep 21, 2025
849f66b
Updates package versions in dependency lock file
AndrewSazonov Sep 21, 2025
38aea24
Introduce allowed attributes and update collection initialization
AndrewSazonov Sep 21, 2025
bdc7eb5
Adds allowed attributes to mixins for parameter handling
AndrewSazonov Sep 21, 2025
1f9ff50
Refactors CIF conversion by removing method calls
AndrewSazonov Sep 21, 2025
297834f
Enhances attribute validation in CryspyCalculator
AndrewSazonov Sep 21, 2025
9e91c09
Allow editing of uncertainty and free attributes
AndrewSazonov Sep 21, 2025
c01cac3
Refines CIF data parsing and handling logic
AndrewSazonov Sep 21, 2025
7bde18e
Modifies model initialization and linking
AndrewSazonov Sep 21, 2025
2a98108
Refines instrument and peak attribute handling
AndrewSazonov Sep 21, 2025
faa6316
Fixes bug in parameter setting logic
AndrewSazonov Sep 21, 2025
d75afc6
Refactors parameter attributes and access methods
AndrewSazonov Sep 21, 2025
a737c68
Enhances background and model flexibility
AndrewSazonov Sep 21, 2025
d30f65a
Rename error handling methods and adjust datablock management
AndrewSazonov Sep 22, 2025
da87c3a
Refactors entry name handling in core classes
AndrewSazonov Sep 22, 2025
b77d955
Standardizes 'entry_name' to 'category_entry_name'
AndrewSazonov Sep 22, 2025
01090e5
Enhances sample model and plotting configuration
AndrewSazonov Sep 22, 2025
9ac614a
Enhances item management in CategoryCollection
AndrewSazonov Sep 22, 2025
4966b98
Adds allowed attributes to SingleCrystalExperiment
AndrewSazonov Sep 22, 2025
8f68436
Replaces human-readable ID generation with property access
AndrewSazonov Sep 22, 2025
fefaae6
Comments out unit test step from pre-push hook
AndrewSazonov Sep 22, 2025
ef4803e
Disables physical parameter bounds
AndrewSazonov Sep 22, 2025
359a27a
Refines physical constraints and simplifies code
AndrewSazonov Sep 22, 2025
617992b
Refactors method calls to use add_from_args for clarity
AndrewSazonov Sep 22, 2025
ef8a5d9
Refactors method calls and updates numeric constants
AndrewSazonov Sep 22, 2025
f11cfa0
Updates parameter bound handling and method naming
AndrewSazonov Sep 22, 2025
c722575
Refactors method calls to improve clarity
AndrewSazonov Sep 22, 2025
c5e4633
Refines attribute access and updates test methods
AndrewSazonov Sep 22, 2025
ded3427
Refactors item addition in CategoryCollection
AndrewSazonov Sep 22, 2025
e5b1850
Refactors unit tests to use full_cif_names
AndrewSazonov Sep 22, 2025
d46e213
Refactors parameter access and method calls
AndrewSazonov Sep 22, 2025
a2d91c2
Refines attribute naming for clarity in background model
AndrewSazonov Sep 22, 2025
f9c09e6
Adjusts default renderer for PyCharm environment
AndrewSazonov Sep 22, 2025
5c9abd0
Updates attribute checks, adds data files, renames scripts
AndrewSazonov Sep 22, 2025
e668b21
Adds extra test configuration and refines unit tests
AndrewSazonov Sep 22, 2025
d2f8a5f
Refactors attribute access and control logic
AndrewSazonov Sep 22, 2025
2cbb9dd
Enhances logging and error handling mechanism
AndrewSazonov Sep 22, 2025
4115f92
Simplifies error handling in logging with 'raise from'
AndrewSazonov Sep 22, 2025
d8ea8bf
Refactors core objects for modular design
AndrewSazonov Sep 23, 2025
d62f7b0
Improves logging behavior during pytest
AndrewSazonov Sep 23, 2025
6e8527e
Simplifies py-format-fix command
AndrewSazonov Sep 23, 2025
68824d8
Refactors parameter descriptor hierarchy
AndrewSazonov Sep 23, 2025
70447c8
Enhances logging and documents parameter abstraction
AndrewSazonov Sep 23, 2025
b639bd9
Refactors test cases to align with new API and data structures
AndrewSazonov Sep 23, 2025
8a56d64
Cleans up test imports and simplifies assertions
AndrewSazonov Sep 23, 2025
b04b9b8
Refactors singleton tests for consistency
AndrewSazonov Sep 23, 2025
0ad6f5b
Refines descriptor/parameter handling logic
AndrewSazonov Sep 23, 2025
a061383
First attempt to add CifMixin to parameter classes
AndrewSazonov Sep 23, 2025
641650a
Updates CifMixin.cif_uid to use full_name
AndrewSazonov Sep 23, 2025
78922c8
Refactors parameter abstraction layer
AndrewSazonov Sep 24, 2025
2278e37
Enhances Logger configuration with environment variables
AndrewSazonov Sep 24, 2025
26c7461
Refactors lazy loading in __init__.py for efficiency
AndrewSazonov Sep 24, 2025
21a9697
Consolidates attribute guard mixins and refactors logic
AndrewSazonov Sep 26, 2025
3d165ae
Move mixins to guarded base class
AndrewSazonov Sep 26, 2025
b5b6b22
Refactors core component architecture
AndrewSazonov Sep 26, 2025
4180995
Replace enforce_type with typeguard for runtime type checking
AndrewSazonov Sep 26, 2025
66c8e6d
Remove legacy signature from add method and update tests
AndrewSazonov Sep 26, 2025
0889000
Enhances category item renaming logic (ugly temporary workaround)
AndrewSazonov Sep 27, 2025
7e9f432
Refactors attribute handling in parameter classes
AndrewSazonov Sep 28, 2025
79864ec
Enhances Project class with type-checking and encapsulation
AndrewSazonov Sep 28, 2025
92d5b6d
Refines __str__ method and fixes super call
AndrewSazonov Sep 28, 2025
8e044c6
Enhances collection handling by implementing AbstractCollection
AndrewSazonov Sep 29, 2025
9448d35
Enhances type safety with generics for collections
AndrewSazonov Sep 29, 2025
8dc9c01
Add SPDX license headers to source files
AndrewSazonov Sep 29, 2025
3c3e3bc
Initialize base class in CollectionBase constructor
AndrewSazonov Sep 29, 2025
60e3b36
Refactors parameter access for consistency
AndrewSazonov Sep 30, 2025
8564f72
Removes unnecessary Generic typing
AndrewSazonov Sep 30, 2025
e741f24
Work in progress
AndrewSazonov Oct 7, 2025
52f8f7b
Enhances identity resolution and string representation
AndrewSazonov Oct 7, 2025
f071524
Improves parameter retrieval in collections
AndrewSazonov Oct 7, 2025
04b6673
Adds `full_name` property to multiple classes
AndrewSazonov Oct 8, 2025
536cb78
Simplifies attribute handling in GuardedBase
AndrewSazonov Oct 8, 2025
872685e
Renames full_name property to unique_name
AndrewSazonov Oct 8, 2025
6048703
Refines validation logging messages
AndrewSazonov Oct 8, 2025
6c8e90a
Adds configurable error reaction in Logger
AndrewSazonov Oct 8, 2025
9bbd47a
Enhances type error diagnostics in checktype decorator
AndrewSazonov Oct 8, 2025
3fd8481
Giant refactoring
AndrewSazonov Oct 8, 2025
b99d023
Refactors parameter handling in FitResults
AndrewSazonov Oct 8, 2025
a59ae9a
Refactors descriptor properties and enhances validation
AndrewSazonov Oct 8, 2025
4f06cd8
Removes unused TODO comments and corrects assertions
AndrewSazonov Oct 8, 2025
9387f0e
Adds SPDX license headers to source files
AndrewSazonov Oct 8, 2025
aaccd42
Enhances space group validation logic
AndrewSazonov Oct 8, 2025
d2059fc
Refactors validation logic for atom site properties
AndrewSazonov Oct 8, 2025
74d32bd
Adds missing newline in atom_sites.py
AndrewSazonov Oct 8, 2025
5df20fe
Refactors CIF conversion and updates test format
AndrewSazonov Oct 8, 2025
dd9fa50
Reformats code for consistency and clarity
AndrewSazonov Oct 8, 2025
2c08cec
Refines parameter handling and improves validation
AndrewSazonov Oct 8, 2025
6c0dad4
Refactors tests to improve readability and maintainability
AndrewSazonov Oct 8, 2025
621f8a2
Enhances atom site configuration in tutorials
AndrewSazonov Oct 8, 2025
08d0f60
Enhances x-axis data selection for plotting
AndrewSazonov Oct 8, 2025
94d270c
Refactors atom site addition for clarity and consistency
AndrewSazonov Oct 8, 2025
7f8a6ef
Fixes parameter limit handling
AndrewSazonov Oct 8, 2025
df35998
Fixes attribute assignment and model access
AndrewSazonov Oct 9, 2025
04bb410
Refactors data extraction with list comprehensions
AndrewSazonov Oct 9, 2025
7703b3b
Refactors constraint handling and data access methods
AndrewSazonov Oct 9, 2025
4c491d0
Enhances peak profile type handling in experiments
AndrewSazonov Oct 9, 2025
3721f28
Removes unused public attributes method
AndrewSazonov Oct 9, 2025
f97b4b6
Improves logging settings and Python path resolution
AndrewSazonov Oct 9, 2025
f9d0d87
Refines validators with enhanced logging
AndrewSazonov Oct 9, 2025
e11569f
Adds parameter validation and logging enhancements
AndrewSazonov Oct 10, 2025
513ef53
Replaces diagnostics and validators with an enhanced implementation
AndrewSazonov Oct 10, 2025
3734f96
Adds Diagnostics for Type Override and Enhances Collections
AndrewSazonov Oct 10, 2025
ded5c6d
Enhances validation and logging mechanisms
AndrewSazonov Oct 10, 2025
452fc43
Refactors validator and identity handling
AndrewSazonov Oct 10, 2025
f5162d1
Replaces RegexValidator with AttributeSpec for validation
AndrewSazonov Oct 11, 2025
3d24b98
Maintain parent linkage for nested objects
AndrewSazonov Oct 11, 2025
af074bb
Corrects attribute access in identity resolution
AndrewSazonov Oct 11, 2025
571146c
Refactors validation types to use DataTypes enum
AndrewSazonov Oct 11, 2025
597e369
Refines type validation logic in diagnostics
AndrewSazonov Oct 11, 2025
6bd0b15
Replace UUID with secure random UID generation
AndrewSazonov Oct 11, 2025
a98297d
Refines atom site validations and logging
AndrewSazonov Oct 11, 2025
5d6ed38
Enhances validation logic and diagnostics handling
AndrewSazonov Oct 11, 2025
56d4884
Relocates CifHandler to new IO module for clarity
AndrewSazonov Oct 11, 2025
79df7e6
Refactors experiment enums structure
AndrewSazonov Oct 11, 2025
0cc6b5f
Updates peak mixin imports for better organization
AndrewSazonov Oct 11, 2025
f7d4ace
Refactors instrument setup for improved modularity
AndrewSazonov Oct 11, 2025
cdef482
Refactors background module implementation
AndrewSazonov Oct 11, 2025
4c8594c
Refactors CIF serialization methods
AndrewSazonov Oct 12, 2025
c8cace8
Refactors CIF serialization to centralized functions
AndrewSazonov Oct 12, 2025
998362f
Removes obsolete CIF conversion methods
AndrewSazonov Oct 12, 2025
4149fb0
Restructures experiment type classes for modular design
AndrewSazonov Oct 12, 2025
c9f340a
Refactors instrument handling and restructures sample models
AndrewSazonov Oct 12, 2025
3a3ad06
Reorganizes import paths to category_items
AndrewSazonov Oct 12, 2025
4739bb8
Refactors component naming for better clarity
AndrewSazonov Oct 12, 2025
e5fc6f1
Refactors code to categorize collections
AndrewSazonov Oct 12, 2025
12b815f
Reorganizes import paths to use category_collections modules
AndrewSazonov Oct 12, 2025
ee9b543
Refactors background type handling for clarity
AndrewSazonov Oct 12, 2025
2819197
Refactors background handling and reorganizes enums
AndrewSazonov Oct 12, 2025
790c833
Refactors background and instrument modules organization
AndrewSazonov Oct 12, 2025
024c08f
Refactors instrument and peak base class imports
AndrewSazonov Oct 12, 2025
6edbafc
Refactors argument validation in ExperimentFactory
AndrewSazonov Oct 12, 2025
e53ff2f
Refactors import paths for consistency
AndrewSazonov Oct 13, 2025
344e1c9
Refactors datastore architecture for segregation of types
AndrewSazonov Oct 13, 2025
0cd3e2d
Fixes property getter for uncertainty
AndrewSazonov Oct 13, 2025
3d290de
Add and update SPDX license headers across files
AndrewSazonov Oct 13, 2025
96f5b9e
Adds package structure documentation generator
AndrewSazonov Oct 13, 2025
ce84ce6
Renames datastore type modules for clarity
AndrewSazonov Oct 13, 2025
fee88f0
Refactors package structure for clarity
AndrewSazonov Oct 14, 2025
6d67f54
Renames and restructures package directories for clarity
AndrewSazonov Oct 14, 2025
008c238
Renames core modules for consistency
AndrewSazonov Oct 15, 2025
70e39a6
New unit tests
AndrewSazonov Oct 15, 2025
f3ae73c
Refactors factory method usage in test suite
AndrewSazonov Oct 15, 2025
e718039
Add unit tests for various components in easydiffraction
AndrewSazonov Oct 15, 2025
cdda88a
Adds unit test for crystallographic and experimental data
AndrewSazonov Oct 15, 2025
90bf326
Enables macOS h5py dependency for validation
AndrewSazonov Oct 15, 2025
5c44380
Replaces scaffold tests with concrete test implementations
AndrewSazonov Oct 15, 2025
54d61ee
Replaces test scaffolds with concrete tests
AndrewSazonov Oct 15, 2025
478761f
Adds comprehensive test coverage for core modules
AndrewSazonov Oct 15, 2025
2dfe4f9
Format tests
AndrewSazonov Oct 16, 2025
77b32d3
Enhances SPDX header update for tests directory
AndrewSazonov Oct 16, 2025
2b6e373
Cleans up tests and refines pytest configuration
AndrewSazonov Oct 16, 2025
4c58965
Refines config and reorganizes files for tmp exclusion
AndrewSazonov Oct 16, 2025
d8d2a46
Adds comprehensive docstrings to Analysis classes and descriptors
AndrewSazonov Oct 16, 2025
e49c142
Enhances experiment class documentation
AndrewSazonov Oct 16, 2025
45b3c38
Updates .gitignore for test and linter caches
AndrewSazonov Oct 16, 2025
9a91313
Removes Python cache before packaging artifacts
AndrewSazonov Oct 16, 2025
f13f998
Updates python_socketio and mkdocs-jupyter dependencies
AndrewSazonov Oct 16, 2025
38aeb49
Adds multiple Python cache removal steps
AndrewSazonov Oct 16, 2025
6ff1dce
Adds dev-install step in GitHub workflow
AndrewSazonov Oct 16, 2025
63ec9c9
Removes redundant dev-install command from workflow
AndrewSazonov Oct 16, 2025
75169b5
Merge tag 'v0.7.3' into 21-refactor-the-samplemodeladd
AndrewSazonov Oct 16, 2025
8b3a84b
Reorganizes dependency configuration
AndrewSazonov Oct 16, 2025
76a0bcb
Refactors Python cache removal in workflow
AndrewSazonov Oct 16, 2025
e40a5b2
Refactors to use Factory classes for model and experiment creation
AndrewSazonov Oct 16, 2025
7a6ca3e
Enhances enums with descriptive methods
AndrewSazonov Oct 16, 2025
0fde514
Enhances documentation with docstrings
AndrewSazonov Oct 16, 2025
9fd997d
Add missing documentation for core modules
AndrewSazonov Oct 16, 2025
217f60f
Adds docstrings for improved code documentation
AndrewSazonov Oct 16, 2025
8e29578
Updates pytest configuration for test management
AndrewSazonov Oct 16, 2025
2531312
Refactors CryspyCalculator and updates SPDX compliance
AndrewSazonov Oct 16, 2025
39c7fc3
Remove commented code and add documentation placeholders
AndrewSazonov Oct 16, 2025
ca6cf54
Adds environment variable for CI branch
AndrewSazonov Oct 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .badgery.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ cards:
- group: Coverage
type: codecov
title: Unit test coverage (Codecov)
flag: unittests
enabled: true

- group: Coverage
Expand Down
23 changes: 12 additions & 11 deletions .github/workflows/dashboard.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,33 +41,34 @@ jobs:

- name: Install and setup development dependencies
shell: bash
run: pixi run dev
run: |
pixi run dev
pixi add --pypi --git https://github.com/enhantica/badgery badgery

- name: Run docstring coverage and code complexity/maintainability checks
run: |
for BRANCH in ${{ env.DEFAULT_BRANCH }} ${{ env.DEVELOP_BRANCH }} ${{ env.CI_BRANCH }}; do
echo "=== Processing branch $BRANCH ==="
if [ -d "../worktree-$BRANCH" ]; then
if [ -d "../$BRANCH" ]; then
echo "Branch $BRANCH already processed, skipping"
continue
fi
git worktree add ../worktree-$BRANCH origin/$BRANCH
git worktree add ../$BRANCH origin/$BRANCH
mkdir -p reports/$BRANCH
echo "Docstring coverage for branch $BRANCH"
pixi run interrogate -c pyproject.toml --fail-under=0 ../worktree-$BRANCH/src > reports/$BRANCH/coverage-docstring.txt
pixi run interrogate -c pyproject.toml --fail-under=0 ../$BRANCH/src > reports/$BRANCH/coverage-docstring.txt
echo "Cyclomatic complexity for branch $BRANCH"
pixi run radon cc -s -j ../worktree-$BRANCH/src --exclude ../worktree-$BRANCH/src/easydiffraction/crystallography/space_group_lookup_table.py > reports/$BRANCH/cyclomatic-complexity.json
pixi run radon cc -s -j ../$BRANCH/src > reports/$BRANCH/cyclomatic-complexity.json
echo "Maintainability index for branch $BRANCH"
pixi run radon mi -j ../worktree-$BRANCH/src --exclude ../worktree-$BRANCH/src/easydiffraction/crystallography/space_group_lookup_table.py > reports/$BRANCH/maintainability-index.json
pixi run radon mi -j ../$BRANCH/src > reports/$BRANCH/maintainability-index.json
echo "Raw metrics for branch $BRANCH"
pixi run radon raw -s -j ../worktree-$BRANCH/src --exclude ../worktree-$BRANCH/src/easydiffraction/crystallography/space_group_lookup_table.py > reports/$BRANCH/raw-metrics.json
pixi run radon raw -s -j ../$BRANCH/src > reports/$BRANCH/raw-metrics.json
done

- name: Generate dashboard HTML
run: |
pixi add --pypi --git https://github.com/enhantica/badgery badgery
pixi run pip show badgery
pixi run python -m badgery --config .badgery.yaml --repo ${{ github.repository }} --branch ${{ env.CI_BRANCH }} --output index.html
run: >
pixi run python -m badgery --config .badgery.yaml --repo ${{
github.repository }} --branch ${{ env.CI_BRANCH }} --output index.html

- name: Prepare publish directory
run: |
Expand Down
34 changes: 28 additions & 6 deletions .github/workflows/pypi-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ env:
DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}

jobs:
# Job 1: Test installation from PyPI on multiple OS
pypi-package-tests:
strategy:
matrix:
Expand Down Expand Up @@ -54,10 +55,8 @@ jobs:
- name: Create the environment and install dependencies
run: pixi install

- name: Install package from PyPI with dev and visualization extras
run: |
pixi add --pypi "easydiffraction[dev,visualization]"
pixi run easydiffraction --version
- name: Install package from PyPI with all extras
run: pixi add --pypi "easydiffraction[all]"

- name: Run unit tests to verify the installation
run: pixi run unit-tests
Expand All @@ -70,8 +69,31 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
pixi run tutorials-list
pixi run tutorials-fetch
pixi run easydiffraction --version
pixi run easydiffraction list-tutorials
pixi run easydiffraction fetch-tutorials

- name: Test tutorials as notebooks
run: pixi run notebook-tests

# Job 2: Trigger dashboard build
dashboard-build-trigger:
needs: pypi-package-tests

runs-on: ubuntu-latest

steps:
- name: Check-out repository
uses: actions/checkout@v5

- name: Trigger dashboard build
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
await github.rest.actions.createWorkflowDispatch({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: "dashboard.yaml",
ref: "${{ env.CI_BRANCH }}"
});
5 changes: 5 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,10 @@ jobs:
shell: bash
run: pixi remove --pypi easydiffraction

- name: Remove Python cache files before uploading
shell: bash
run: pixi run clean-pycache

# More than one file/dir need to be specified in 'path', to preserve the
# structure of the dist/ directory, not only its contents.
- name: Upload Python package for the next job
Expand All @@ -156,6 +160,7 @@ jobs:
path: |
dist/
tests/
pytest.ini
pixi.toml
pixi.lock
if-no-files-found: 'error'
Expand Down
27 changes: 27 additions & 0 deletions .github/workflows/tutorial-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,12 @@ concurrency:
${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

# Set the environment variables to be used in all jobs defined in this workflow
env:
CI_BRANCH: ${{ github.head_ref || github.ref_name }}

jobs:
# Job 1: Test tutorials as scripts and notebooks on multiple OS
tutorial-tests:
strategy:
fail-fast: false
Expand Down Expand Up @@ -60,3 +65,25 @@ jobs:
- name: Test tutorials as notebooks
shell: bash
run: pixi run notebook-tests

# Job 2: Trigger dashboard build
dashboard-build-trigger:
needs: tutorial-tests

runs-on: ubuntu-latest

steps:
- name: Check-out repository
uses: actions/checkout@v5

- name: Trigger dashboard build
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
await github.rest.actions.createWorkflowDispatch({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: "dashboard.yaml",
ref: "${{ env.CI_BRANCH }}"
});
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,18 @@ __pycache__
.coverage
.pyc

# PyTest
.pytest_cache

# MyPy
.mypy_cache

# Pixi
.pixi

# Ruff
.ruff_cache

# Jupyter Notebooks
.ipynb_checkpoints

Expand Down
12 changes: 6 additions & 6 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ repos:
pass_filenames: false
stages: [pre-push]

- id: pixi-unit-tests
name: pixi run unit-tests
entry: pixi run unit-tests
language: system
pass_filenames: false
stages: [pre-push]
#- id: pixi-unit-tests
# name: pixi run unit-tests
# entry: pixi run unit-tests
# language: system
# pass_filenames: false
# stages: [pre-push]
4 changes: 4 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
# Pixi
.pixi
pixi.lock

# MyPy
.mypy_cache
Loading
Loading