Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
15ce1ce
feat: align registry with GitHub Linguist as authoritative source
mikkihugo Nov 12, 2025
431613e
feat: add Option 2 - Extended Linguist Integration with File Classifi…
mikkihugo Nov 12, 2025
a3017e6
feat(linguist): implement Phase 2 auto-generation infrastructure
mikkihugo Nov 12, 2025
cd93de1
feat(linguist): fully automate Phase 2 & 3 with pure Rust + GitHub Ac…
mikkihugo Nov 12, 2025
153f6c4
ci(snapshot): publish canonical linguist-derived snapshot via PR
mikkihugo Nov 12, 2025
a3b8b81
fix: update example and test fixtures to work with AtomicBool changes
mikkihugo Nov 12, 2025
76e44da
fix(build): change metadata validation output from warning to notice
mikkihugo Nov 12, 2025
5f52cba
chore(tools): add cargo package metadata; fix formatting and clippy u…
mikkihugo Nov 12, 2025
5450e16
chore(nix): add git hook installer and pre-commit/pre-push scripts th…
mikkihugo Nov 12, 2025
d81c0a3
fix(sync-linguist): use rustls-tls instead of OpenSSL for pure Rust b…
mikkihugo Nov 12, 2025
c167322
Add docs workflow and tidy docs tooling
mikkihugo Nov 12, 2025
7325800
feat(linguist): major refactor of sync tool with robust YAML parsing
mikkihugo Nov 14, 2025
af50300
feat(linguist): add Phase 4 - complete language metadata sync
mikkihugo Nov 14, 2025
95c1592
fix(just): add missing pre-push recipe for git hook
mikkihugo Nov 14, 2025
591960a
chore: bump version to 0.2.0
mikkihugo Nov 14, 2025
276de59
fix(workflows): correct binary path for workspace builds
mikkihugo Nov 14, 2025
c896a5f
fix(workflows): specify package name for workspace build
mikkihugo Nov 14, 2025
c44b5f4
fix(cargo): add readme field for clippy cargo-common-metadata lint
mikkihugo Nov 14, 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
13 changes: 13 additions & 0 deletions .githooks/pre-commit
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
#!/usr/bin/env bash
set -euo pipefail

# Pre-commit hook: run formatting, clippy and tests inside Nix devShell if available
if command -v nix >/dev/null 2>&1; then
echo "πŸ”§ Running pre-commit checks inside Nix devShell..."
nix develop --command just pre-commit
else
echo "⚠️ Nix not found; running pre-commit via just (may fail if native deps missing)..."
just pre-commit
fi

exit 0
#!/bin/bash

# Pre-commit hook for Singularity Language Registry
Expand Down
85 changes: 12 additions & 73 deletions .githooks/pre-push
Original file line number Diff line number Diff line change
@@ -1,73 +1,12 @@
#!/bin/bash

# Pre-push hook for Singularity Language Registry
# Final checks before pushing to remote

set -e

echo "πŸš€ Running pre-push checks..."

# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# Get the remote and branch being pushed to
remote="$1"
url="$2"

# Check which branch we're pushing to
while read local_ref local_sha remote_ref remote_sha; do
branch=$(echo "$remote_ref" | sed 's/refs\/heads\///')

echo "πŸ“ Pushing to branch: $branch"

# Prevent direct push to main
if [ "$branch" = "main" ]; then
echo -e "${RED}❌ Direct push to main branch is not allowed!${NC}"
echo -e "${YELLOW}Please create a pull request from development or a feature branch.${NC}"
echo ""
echo "Steps:"
echo "1. git checkout -b feature/your-feature"
echo "2. git push origin feature/your-feature"
echo "3. Create a PR on GitHub"
exit 1
fi

# Run comprehensive tests before push
echo "πŸ§ͺ Running comprehensive tests..."
if ! cargo test --all-features --release; then
echo -e "${RED}❌ Tests failed!${NC}"
exit 1
fi

# Check for outdated dependencies
echo "πŸ“¦ Checking dependencies..."
if command -v cargo-outdated &> /dev/null; then
cargo outdated || true
fi

# Security audit
echo "πŸ” Running security audit..."
if command -v cargo-audit &> /dev/null; then
if ! cargo audit; then
echo -e "${YELLOW}⚠️ Security vulnerabilities found!${NC}"
echo "Consider fixing before pushing"
read -p "Continue anyway? (y/N) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
exit 1
fi
fi
fi

# Documentation check
echo "πŸ“š Checking documentation..."
if ! cargo doc --all-features --no-deps; then
echo -e "${RED}❌ Documentation build failed!${NC}"
exit 1
fi
done

echo -e "${GREEN}βœ… All pre-push checks passed!${NC}"
#!/usr/bin/env bash
set -euo pipefail

# Pre-push hook that runs the project's pre-push task. If Nix is available
# we'll run the command inside the devShell so native libraries are provided.
if command -v nix >/dev/null 2>&1; then
echo "πŸ—οΈ Running pre-push checks inside Nix devShell (nix develop)..."
nix develop --command just pre-push
else
echo "⚠️ Nix not found; running pre-push via just (may fail if native deps missing)..."
just pre-push
fi
Loading
Loading