Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
31c443d
Merge pull request #2 from PanterSoft/dev
PanterSoft Nov 21, 2025
ed48a4b
Merge pull request #3 from PanterSoft/dev
PanterSoft Nov 21, 2025
d90caee
fixed resolver and adjusted gitignore
PanterSoft Nov 21, 2025
09bbd60
did some changes
PanterSoft Nov 21, 2025
c57af0c
option force works now
PanterSoft Nov 21, 2025
f0f2c20
adjusted uninstall command
PanterSoft Nov 21, 2025
b89823a
adjusted caching for tests
PanterSoft Nov 21, 2025
2703ed1
fixed local running color issues in terminal
PanterSoft Nov 21, 2025
0ff9a2a
Update workflows and tests: fix color codes, ensure fresh containers,…
PanterSoft Nov 21, 2025
303edad
Fix GitHub Actions: use 'docker compose' instead of 'docker-compose'
PanterSoft Nov 21, 2025
82f47f8
Fix build job: copy source to writable location before building
PanterSoft Nov 21, 2025
b543198
Update run-tests.sh: support both 'docker compose' and 'docker-compose'
PanterSoft Nov 21, 2025
7ecfa0e
Fix run-tests.sh: properly handle docker compose command detection
PanterSoft Nov 21, 2025
daffbcc
Fix run-tests.sh: detect docker compose command before using it
PanterSoft Nov 21, 2025
8fa07af
Fix test script: handle cleanup commands properly and allow test scri…
PanterSoft Nov 21, 2025
61761d7
Fix workflow: handle test script exit codes properly
PanterSoft Nov 21, 2025
c6b571b
Fix test script: properly handle set -e in main loop
PanterSoft Nov 21, 2025
20e2d86
Add workflow to cleanup old workflow runs (keep last 30)
PanterSoft Nov 21, 2025
3d911c3
removed unecessary pipeline
PanterSoft Nov 21, 2025
9842a86
Add workflow to validate package formatting and structure
PanterSoft Nov 21, 2025
ad60539
Fix libtool.json: add missing comma
PanterSoft Nov 21, 2025
3893e01
Fix automake.json and autotools.json: add missing commas
PanterSoft Nov 21, 2025
a5606fb
Update validation workflow: only run when package files change
PanterSoft Nov 21, 2025
3ca43f1
workflow only runs when package files change
PanterSoft Nov 21, 2025
66e18cd
Add multi-version package support: install specific versions with pac…
PanterSoft Nov 21, 2025
01e6629
Add version constraint support in dependencies: packages can specify …
PanterSoft Nov 21, 2025
c9263a4
Update README: document version constraints in dependencies
PanterSoft Nov 21, 2025
255619e
Complete multi-version support: version constraints in dependencies, …
PanterSoft Nov 21, 2025
4be9007
Add workflow_dispatch to all workflows for manual triggering
PanterSoft Nov 21, 2025
8f04f86
Fix package validation workflow: copy packages to TSI repo directory …
PanterSoft Nov 21, 2025
f950ba2
Fix dependency validation: handle versioned dependencies (package@ver…
PanterSoft Nov 21, 2025
325b6a5
Enable package installation testing in validation workflow
PanterSoft Nov 21, 2025
f7ca3f2
removed optional stage of validating packages
PanterSoft Nov 21, 2025
c58b231
Add git package definition
PanterSoft Nov 21, 2025
c6c8496
Fix git package: use correct kernel.org URL
PanterSoft Nov 21, 2025
3c6937e
Add version autocomplete and improved error messages for package vers…
PanterSoft Nov 21, 2025
7b8dd21
implemented package specific install directorys
PanterSoft Nov 21, 2025
92776b1
tsi update updates itself now
PanterSoft Nov 21, 2025
4154b95
adapted uninstall dialog
PanterSoft Nov 21, 2025
8227595
uninstall is now full uninstall
PanterSoft Nov 21, 2025
b1356df
fixed no packages issue
PanterSoft Nov 21, 2025
56ff8e3
multiple package versions
PanterSoft Nov 21, 2025
0c93761
fixed duplication of versions
PanterSoft Nov 21, 2025
7dd8301
added version discovery workflow
PanterSoft Nov 22, 2025
3b4b154
adjusted workflow
PanterSoft Nov 22, 2025
1a44758
fixed workflow
PanterSoft Nov 22, 2025
045e6d8
fixing discovery
PanterSoft Nov 22, 2025
b324a1b
fixed permissions
PanterSoft Nov 22, 2025
e47541a
tsi tests only run when source code changes
PanterSoft Nov 22, 2025
9967e80
trying to fix version discovery
PanterSoft Nov 22, 2025
5a5a303
fixed pipeline and started with mk docs documentation
PanterSoft Nov 22, 2025
9dcc438
implemented mkdocs and added workflow for automatic deployment
PanterSoft Nov 22, 2025
8934966
checked workflows
PanterSoft Nov 22, 2025
44dc4db
adapted workflows
PanterSoft Nov 22, 2025
2de3be9
fixed autotools package
PanterSoft Nov 22, 2025
dc268b9
adapted ruby package
PanterSoft Nov 22, 2025
6a8d19b
adjusted mk docs
PanterSoft Nov 22, 2025
d0be48f
enabled deployment
PanterSoft Nov 22, 2025
5090732
chore: update package versions (auto-discovered)
github-actions[bot] Nov 22, 2025
0a34c05
Merge pull request #4 from PanterSoft/auto-update-versions-19596865139
PanterSoft Nov 22, 2025
f1b66ae
updated readme
PanterSoft Nov 22, 2025
594063d
Merge branch 'main' of https://github.com/PanterSoft/tsi
PanterSoft Nov 22, 2025
a02b593
fixed vim package issue
PanterSoft Nov 22, 2025
98a97fc
added discovery
PanterSoft Nov 22, 2025
a84821f
adjusted search strategy
PanterSoft Nov 22, 2025
95bb3d3
adjusted urls
PanterSoft Nov 22, 2025
9cb5aa9
added tui styling
PanterSoft Nov 22, 2025
defdc36
updated TUI
PanterSoft Nov 22, 2025
7dc5ad5
updated tui again
PanterSoft Nov 22, 2025
2629095
sumarizing command outputs
PanterSoft Nov 22, 2025
e554ac7
scroling 4 line window
PanterSoft Nov 22, 2025
bded9b8
adapted
PanterSoft Nov 22, 2025
42e1253
tyring to fix
PanterSoft Nov 22, 2025
740ebee
trying to fix window
PanterSoft Nov 22, 2025
4f01afb
try to fix
PanterSoft Nov 22, 2025
5aa3524
chore: update package versions (auto-discovered)
github-actions[bot] Nov 24, 2025
aeecde3
Update copyright name in LICENSE file
PanterSoft Nov 25, 2025
9487248
updated TUI
PanterSoft Nov 29, 2025
2e3dbfc
Merge branch 'main' of https://github.com/PanterSoft/tsi
PanterSoft Nov 29, 2025
afc6c14
fixed issue with TSI Installer and added ros2 package
PanterSoft Nov 29, 2025
3916029
Merge pull request #5 from PanterSoft/auto-update-versions-19620529037
PanterSoft Nov 29, 2025
4372079
updated packages and fixed self including as dependencie
PanterSoft Nov 29, 2025
2c3e112
Merge branch 'main' of https://github.com/PanterSoft/tsi
PanterSoft Nov 29, 2025
d59e14c
fixed ros2 package and added local-install script for installing tsi …
PanterSoft Nov 29, 2025
ff7e8f3
fixed some stuff but still some issues
PanterSoft Nov 29, 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
205 changes: 205 additions & 0 deletions .github/workflows/discover-versions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,205 @@
name: Discover Package Versions

on:
schedule:
# Run weekly on Monday at 00:00 UTC
- cron: '0 0 * * 1'
workflow_dispatch:
inputs:
package:
description: 'Package name to update (leave empty for all)'
required: false
type: string
max_versions:
description: 'Maximum versions per package (leave empty to discover all versions)'
required: false
type: string

jobs:
discover-versions:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
defaults:
run:
shell: bash

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Discover and update versions
id: discover
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set +e # Don't fail on individual package errors
set +o pipefail # Don't fail on pipe errors (SIGPIPE)

PACKAGE="${{ github.event.inputs.package }}"
MAX_VERSIONS="${{ github.event.inputs.max_versions }}"

echo "Starting version discovery..."
echo "Package: ${PACKAGE:-all packages}"

# Build command arguments
CMD_ARGS=()

if [ -n "${PACKAGE}" ]; then
CMD_ARGS+=("${PACKAGE}")
else
CMD_ARGS+=("--all")
fi

if [ -n "${MAX_VERSIONS}" ]; then
echo "Max versions per package: ${MAX_VERSIONS}"
CMD_ARGS+=("--max-versions" "${MAX_VERSIONS}")
else
# Default to 50 versions per package to avoid excessive files
echo "Using default max versions: 50 per package"
CMD_ARGS+=("--max-versions" "50")
fi

CMD_ARGS+=("--packages-dir" "packages")

# Run the discovery script with GitHub token
# Allow script to continue even if some packages fail
python3 scripts/discover-versions.py "${CMD_ARGS[@]}" || SCRIPT_EXIT=$?
SCRIPT_EXIT=${SCRIPT_EXIT:-0}

# Count changed files (even if script had some errors)
# Use set +o pipefail to avoid SIGPIPE errors with wc
set +o pipefail
CHANGED_FILES=$(git diff --name-only packages/ 2>/dev/null | wc -l || echo "0")
set -o pipefail
echo "changed_files=${CHANGED_FILES}" >> $GITHUB_OUTPUT

# Log summary
if [ $SCRIPT_EXIT -ne 0 ]; then
echo "⚠️ Script completed with some errors (exit code: $SCRIPT_EXIT)"
echo " This is normal when processing many packages - some may fail"
fi

if [ "${CHANGED_FILES}" -gt 0 ]; then
echo "✅ Successfully updated ${CHANGED_FILES} package file(s)"
else
echo "ℹ️ No package files were updated"
# For single package mode, exit with error if nothing changed and script failed
if [ -n "${PACKAGE}" ] && [ $SCRIPT_EXIT -ne 0 ]; then
echo "❌ Failed to discover versions for ${PACKAGE}"
exit $SCRIPT_EXIT
fi
fi

# Always succeed if we're processing all packages (some failures are expected)
# Only fail for single package mode if there was an actual error
if [ -z "${PACKAGE}" ]; then
echo "✅ Completed processing all packages (some may have failed, but workflow continues)"
fi

set -e # Re-enable strict error checking for rest of workflow
set -o pipefail # Re-enable pipefail for rest of workflow

- name: Check for changes
id: changes
run: |
if git diff --quiet packages/; then
echo "changed=false" >> $GITHUB_OUTPUT
echo "✅ No new versions discovered - all packages are up to date"
else
echo "changed=true" >> $GITHUB_OUTPUT
echo "📦 New versions discovered and package files updated!"
echo ""
echo "Changed files:"
git diff --name-only packages/
echo ""
echo "Summary of changes:"
git diff --stat packages/
echo ""
echo "Sample changes (first 100 lines):"
git diff packages/ | head -100 || true
fi

- name: Create summary
if: steps.changes.outputs.changed == 'true'
id: summary
run: |
# Disable pipefail to avoid SIGPIPE errors
set +o pipefail
CHANGED_FILES=$(git diff --name-only packages/ | wc -l || echo "0")
echo "changed_files_count=${CHANGED_FILES}" >> $GITHUB_OUTPUT

# Create a summary of updated packages
UPDATED_PACKAGES=$(git diff --name-only packages/ | sed 's|packages/||' | sed 's|\.json||' | tr '\n' ',' | sed 's/,$//' || echo "")
echo "updated_packages=${UPDATED_PACKAGES}" >> $GITHUB_OUTPUT

# Count total versions added (approximate)
VERSIONS_ADDED=$(git diff packages/ | grep -c '^+.*"version"' || echo "0")
set -o pipefail
echo "versions_added=${VERSIONS_ADDED}" >> $GITHUB_OUTPUT

- name: Create Pull Request
if: steps.changes.outputs.changed == 'true'
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
committer: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
commit-message: |
chore: update package versions (auto-discovered)

Discovered and added new versions to ${{ steps.summary.outputs.changed_files_count }} package(s).

Updated packages: ${{ steps.summary.outputs.updated_packages }}
Versions added: ~${{ steps.summary.outputs.versions_added }}
title: "📦 Update package versions (auto-discovered)"
body: |
## 🔄 Automatic Version Update

This PR updates package versions that were automatically discovered and added to package configuration files.

### Summary

- **Updated packages:** ${{ steps.summary.outputs.changed_files_count }}
- **Versions added:** ~${{ steps.summary.outputs.versions_added }}
- **Triggered by:** `${{ github.event_name }}`
- **Workflow run:** [#${{ github.run_number }}](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})

### Updated Packages

${{ steps.summary.outputs.updated_packages }}

### What Changed

The version discovery system:
1. ✅ Discovered new versions from package sources (GitHub, git repos, etc.)
2. ✅ Generated version definitions based on existing templates
3. ✅ Updated package configuration files with new versions
4. ✅ Preserved all existing versions

### Review Checklist

- [ ] Verify new versions are correct
- [ ] Check that source URLs are valid
- [ ] Ensure dependencies are still accurate
- [ ] Test that packages can be built with new versions

---

*This PR was automatically created by the [Discover Package Versions](../.github/workflows/discover-versions.yml) workflow.*
branch: auto-update-versions-${{ github.run_id }}
delete-branch: true
labels: |
automated
version-update
dependencies

95 changes: 95 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: Build and Deploy Documentation

on:
push:
paths:
- 'docs/**'
- 'mkdocs.yml'
- 'requirements-docs.txt'
- '.github/workflows/docs.yml'
pull_request:
paths:
- 'docs/**'
- 'mkdocs.yml'
- 'requirements-docs.txt'
- '.github/workflows/docs.yml'
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
shell: bash

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Install dependencies
run: |
pip install -r requirements-docs.txt

- name: Build documentation
run: |
mkdocs build --strict

- name: Setup Pages
uses: actions/configure-pages@v4

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./site

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4

check:
runs-on: ubuntu-latest
defaults:
run:
shell: bash

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Install dependencies
run: |
pip install -r requirements-docs.txt

- name: Build documentation
run: |
mkdocs build --strict

Loading