Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
8307c52
Refactor Problem objectives and remove update_forward_refs
Sagmedjo Nov 15, 2025
db6c4e5
Clean up update_forward_refs calls in config_types.py
Sagmedjo Nov 15, 2025
a1b9d47
Add balance shifts feature to optimize vehicle shift usage
Sagmedjo Nov 15, 2025
985757e
commited to wrong branch
Sagmedjo Nov 15, 2025
3ab58c5
Add feature to balance shifts across vehicles
Sagmedjo Nov 15, 2025
c568830
feat: add minimum shift requirements for vehicle types
Sagmedjo Nov 25, 2025
d64cdf2
Implement simple way of changing break time windows for offsets to al…
Sagmedjo Nov 25, 2025
8c613c5
Merge pull request #1 from Sagmedjo/offset_break_reschedule
Sagmedjo Nov 25, 2025
82d1bb9
Merge branch 'master' into add_even_distribution_across_vehicles
Sagmedjo Nov 25, 2025
34a20c6
Merge pull request #2 from Sagmedjo/add_even_distribution_across_vehi…
Sagmedjo Nov 25, 2025
adca073
feat: add minimum tour size limit feature and associated validation
Sagmedjo Dec 11, 2025
3553544
refactor: streamline feature creation and improve code readability in…
Sagmedjo Dec 11, 2025
3a303da
refactor: improve code readability in schedule update and vehicle val…
Sagmedjo Dec 11, 2025
c20cb37
Add minimize-outdated objective
Sagmedjo Jan 9, 2026
769a7bb
Add penalty for unassigned overdue appointments in minimize-overdue o…
Sagmedjo Jan 10, 2026
02da52b
Add route cost span to be able to calculate cost based on real paymen…
Sagmedjo Jan 13, 2026
37ae683
Add NearestDistanceObjective
Sagmedjo Jan 14, 2026
476b1f6
Add job time constraints feature for vehicle shifts
Sagmedjo Jan 16, 2026
48544ae
Merge branch 'reinterpretcat:master' into master
Sagmedjo Jan 25, 2026
d187c5f
Refactor route departure update and enhance job time limits handling
Sagmedjo Feb 8, 2026
79c0ff6
Refactor job task structure and introduce vehicle distance minimizati…
Sagmedjo Feb 15, 2026
8851209
feat: Make required breaks offset also work with adjusted departure t…
Sagmedjo Feb 20, 2026
5d2d1f7
Refactor job time constraint tests and clean up code
Sagmedjo Feb 20, 2026
b99a39a
feat: Update publishing workflows to enforce release-only publishing …
Sagmedjo Feb 20, 2026
c1808e7
fix: publish action
Sagmedjo Feb 20, 2026
5d35c8e
refactor: Simplify conditionals and improve readability in various files
Sagmedjo Feb 20, 2026
8c0e3a1
feat: Enhance release asset upload process with error handling and dy…
Sagmedjo Feb 20, 2026
339f5ce
fix: Update workflow configurations for code coverage and publishing …
Sagmedjo Feb 20, 2026
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
11 changes: 6 additions & 5 deletions .github/workflows/coverage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,24 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Install stable toolchain
uses: actions-rs/toolchain@v1
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
override: true

- name: Generate code coverage
run: |
cargo install --features vendored-openssl cargo-tarpaulin
cargo tarpaulin --exclude-files *_test.rs *tests* *benches* *heuristic-research* --out xml

- name: Upload to codecov.io
uses: codecov/codecov-action@v1.0.2
uses: codecov/codecov-action@v5
with:
token: ${{secrets.CODECOV_TOKEN}}
token: ${{ secrets.CODECOV_TOKEN }}
files: cobertura.xml
fail_ci_if_error: true

- name: Archive code coverage results
uses: actions/upload-artifact@v4
Expand Down
111 changes: 0 additions & 111 deletions .github/workflows/maturin.yaml

This file was deleted.

58 changes: 58 additions & 0 deletions .github/workflows/publish-policy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Enforce release-only publishing

on:
push:
paths:
- ".github/workflows/**"
pull_request:
paths:
- ".github/workflows/**"

jobs:
enforce-release-only:
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v4

- name: Reject external publish patterns in workflows
shell: bash
run: |
set -euo pipefail

workflows_root=".github/workflows"
workflows_globs=(
--glob "*.yaml"
--glob "*.yml"
--glob "!publish-policy.yaml"
)

has_violations=0

check_pattern() {
local pattern="$1"
local reason="$2"

if rg -n --no-heading -e "$pattern" "${workflows_globs[@]}" "$workflows_root"; then
echo "::error::${reason}"
has_violations=1
fi
}

check_pattern "\\bcargo\\s+publish\\b" "Found crates.io publishing command (cargo publish)."
check_pattern "\\bcargo\\s+login\\b" "Found crates.io auth command (cargo login)."
check_pattern "\\bMATURIN_PYPI_TOKEN\\b" "Found PyPI publishing secret usage (MATURIN_PYPI_TOKEN)."
check_pattern "\\bPYPI_API_TOKEN\\b" "Found PyPI publishing secret usage (PYPI_API_TOKEN)."
check_pattern "\\bcommand:\\s*upload\\b" "Found upload command in workflow."
check_pattern "\\btwine\\s+upload\\b" "Found PyPI upload command (twine upload)."
check_pattern "PyO3/maturin-action@" "Found maturin wheel-build action."
check_pattern "\\bmaturin\\b" "Found maturin usage in workflow."
check_pattern "docker/build-push-action@" "Found Docker image push action."
check_pattern "\\bghcr\\.io\\b" "Found container registry target (ghcr.io)."
check_pattern "\\bcrates\\.io\\b" "Found crates.io reference in workflow."
check_pattern "\\bpypi\\.org\\b" "Found PyPI reference in workflow."

if [ "$has_violations" -ne 0 ]; then
echo "External publishing is disabled. Only GitHub release assets are allowed."
exit 1
fi
Loading