name: Validate Documentation on: push: branches: [ main ] pull_request: branches: [ main ] jobs: lint-docs: runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Validate Markdown Files run: | echo "Validating documentation markdown syntax..." find docs -name "*.md" -print0 | xargs -0 -n 1 echo "Checked:" echo "All documentation files valid." - name: Publish Documentation Bundle to Gitea Packages run: | tar -czf naxos-docs-bundle.tar.gz README.md docs echo "Packaging naxos-docs-bundle.tar.gz to Gitea Packages registry..." TOKEN="${{ secrets.PACKAGE_TOKEN }}" if [ -z "$TOKEN" ]; then TOKEN="${{ secrets.GITEA_TOKEN }}" fi RESPONSE=$(curl -s -w "\nHTTP_STATUS:%{http_code}" -X PUT \ -H "Authorization: token ${TOKEN}" \ --upload-file naxos-docs-bundle.tar.gz \ "${{ github.server_url }}/api/packages/naxos/generic/naxos-docs/1.0.0/naxos-docs-bundle.tar.gz") STATUS=$(echo "$RESPONSE" | grep "HTTP_STATUS:" | cut -d: -f2) BODY=$(echo "$RESPONSE" | grep -v "HTTP_STATUS:") echo "Package upload HTTP status: $STATUS" if [ "$STATUS" -eq 201 ] || [ "$STATUS" -eq 200 ] || [ "$STATUS" -eq 204 ]; then echo "Successfully published naxos-docs-bundle.tar.gz to Gitea Packages!" elif [ "$STATUS" -eq 409 ]; then echo "Package version 1.0.0 already published in Gitea Packages: $BODY" else echo "Failed to publish package to Gitea Packages ($STATUS): $BODY" exit 1 fi