|
49 | 49 | ;; |
50 | 50 | esac |
51 | 51 |
|
| 52 | + echo "📁 Validating redist directory: $REDIST_DIR" |
| 53 | + |
| 54 | + if [ ! -d "$REDIST_DIR" ]; then |
| 55 | + echo "❌ Redist directory does not exist: $REDIST_DIR" |
| 56 | + exit 1 |
| 57 | + fi |
| 58 | +
|
| 59 | + echo "✅ Redist directory exists: $REDIST_DIR" |
| 60 | +
|
| 61 | + - name: Validate DLL and XML files |
| 62 | + run: | |
| 63 | + echo "📋 Validating DLL and XML documentation files..." |
| 64 | + |
| 65 | + REQUIRED_DLLS=( |
| 66 | + "Assembly-CSharp.dll" |
| 67 | + "SDG.NetPak.Runtime.dll" |
| 68 | + "com.rlabrecque.steamworks.net.dll" |
| 69 | + "SDG.Glazier.Runtime.dll" |
| 70 | + "SDG.HostBans.Runtime.dll" |
| 71 | + "SDG.NetTransport.dll" |
| 72 | + "SystemEx.dll" |
| 73 | + "UnityEx.dll" |
| 74 | + "UnturnedDat.dll" |
| 75 | + ) |
| 76 | + |
| 77 | + declare -A DLL_XML_MAPPING=( |
| 78 | + ["Assembly-CSharp.dll"]="Assembly-CSharp.xml" |
| 79 | + ["SDG.NetPak.Runtime.dll"]="SDG.NetPak.Runtime.xml" |
| 80 | + ) |
| 81 | + |
| 82 | + MISSING_DLLS=() |
| 83 | + MISSING_XML_FILES=() |
| 84 | + |
| 85 | + echo "🔍 Checking required DLL files..." |
| 86 | + for dll_file in "${REQUIRED_DLLS[@]}"; do |
| 87 | + if [ -f "$REDIST_DIR/$dll_file" ]; then |
| 88 | + echo "✅ Found $dll_file" |
| 89 | + else |
| 90 | + echo "❌ Missing $dll_file" |
| 91 | + MISSING_DLLS+=("$dll_file") |
| 92 | + fi |
| 93 | + done |
| 94 | + |
| 95 | + echo "🔍 Checking XML documentation files..." |
| 96 | + for dll_file in "${!DLL_XML_MAPPING[@]}"; do |
| 97 | + xml_file="${DLL_XML_MAPPING[$dll_file]}" |
| 98 | + |
| 99 | + if [ -f "$REDIST_DIR/$dll_file" ]; then |
| 100 | + if [ -f "$REDIST_DIR/$xml_file" ]; then |
| 101 | + echo "✅ Found $xml_file (for $dll_file)" |
| 102 | + else |
| 103 | + echo "❌ Missing $xml_file (for $dll_file)" |
| 104 | + MISSING_XML_FILES+=("$xml_file") |
| 105 | + fi |
| 106 | + fi |
| 107 | + done |
| 108 | + |
| 109 | + if [ ${#MISSING_DLLS[@]} -eq 0 ] && [ ${#MISSING_XML_FILES[@]} -eq 0 ]; then |
| 110 | + echo "✅ All required DLL and XML documentation files are present" |
| 111 | + else |
| 112 | + if [ ${#MISSING_DLLS[@]} -gt 0 ]; then |
| 113 | + echo "" |
| 114 | + echo "❌ Missing required DLL files:" |
| 115 | + for dll_file in "${MISSING_DLLS[@]}"; do |
| 116 | + echo " - $dll_file" |
| 117 | + done |
| 118 | + fi |
| 119 | + if [ ${#MISSING_XML_FILES[@]} -gt 0 ]; then |
| 120 | + echo "" |
| 121 | + echo "❌ Missing XML documentation files:" |
| 122 | + for xml_file in "${MISSING_XML_FILES[@]}"; do |
| 123 | + echo " - $xml_file" |
| 124 | + done |
| 125 | + fi |
| 126 | + echo "" |
| 127 | + echo "All required files must be present for the redistributable." |
| 128 | + exit 1 |
| 129 | + fi |
| 130 | +
|
52 | 131 | - name: Enable PR automerge |
53 | 132 | if: success() && env.ALLOW_AUTO_MERGE_REDIST_PR == 'true' && github.actor == 'rocketmodfixadmin' |
54 | 133 | uses: peter-evans/enable-pull-request-automerge@v3 |
|
63 | 142 | with: |
64 | 143 | github-token: ${{ secrets.GITHUB_TOKEN }} |
65 | 144 | pull-request-number: ${{ github.event.pull_request.number }} |
66 | | - review-message: "Auto approved automated PR" |
| 145 | + review-message: "All checks passed. Auto approved automated PR." |
0 commit comments