Credential Validation #172
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Credential Validation | |
| on: | |
| workflow_dispatch: # Triggered by Jenkins or manually | |
| jobs: | |
| validate-credentials: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install JFrog CLI | |
| uses: jfrog/setup-jfrog-cli@v4 | |
| env: | |
| JF_URL: ${{ secrets.JF_URL }} | |
| JF_ACCESS_TOKEN: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }} | |
| - name: Validate JFrog Artifactory Credentials | |
| id: validate_jfrog | |
| run: | | |
| echo "Testing JFrog Artifactory connection..." | |
| if jf rt ping; then | |
| echo "status=✅ SUCCESS" >> $GITHUB_OUTPUT | |
| echo "message=JFrog connection successful" >> $GITHUB_OUTPUT | |
| echo "✅ JFrog Artifactory credentials are valid" | |
| else | |
| echo "status=❌ FAILURE" >> $GITHUB_OUTPUT | |
| echo "message=JFrog connection failed" >> $GITHUB_OUTPUT | |
| echo "❌ JFrog Artifactory credentials validation failed" | |
| exit 1 | |
| fi | |
| - name: Validate Maven Central (Central Portal) Credentials | |
| id: validate_maven_central | |
| if: always() | |
| run: | | |
| echo "Testing Maven Central (Central Portal) connection..." | |
| # Central Portal uses UserToken auth scheme: Authorization: UserToken <base64(user:pass)> | |
| TOKEN=$(echo -n "${{ secrets.CENTRAL_USERNAME }}:${{ secrets.CENTRAL_PASSWORD }}" | base64) | |
| HTTP_CODE=$(curl -s -o /dev/null -w '%{http_code}' \ | |
| -H "Authorization: UserToken $TOKEN" \ | |
| "https://central.sonatype.com/api/v1/publisher/status?id=validation-check") | |
| echo "Maven Central API response: $HTTP_CODE" | |
| # 404 = auth OK but deployment id not found (expected for a test id) | |
| # 200 = auth OK | |
| # 401 = invalid credentials | |
| if [ "$HTTP_CODE" = "200" ] || [ "$HTTP_CODE" = "404" ]; then | |
| echo "status=SUCCESS" >> $GITHUB_OUTPUT | |
| echo "message=Maven Central credentials valid" >> $GITHUB_OUTPUT | |
| echo "✅ Maven Central credentials are valid" | |
| elif [ "$HTTP_CODE" = "401" ]; then | |
| echo "status=FAILURE" >> $GITHUB_OUTPUT | |
| echo "message=Authentication failed - invalid credentials" >> $GITHUB_OUTPUT | |
| echo "❌ Maven Central authentication failed (401)" | |
| exit 1 | |
| else | |
| echo "status=FAILURE" >> $GITHUB_OUTPUT | |
| echo "message=Connection failed - HTTP $HTTP_CODE" >> $GITHUB_OUTPUT | |
| echo "❌ Maven Central connection failed with HTTP $HTTP_CODE" | |
| exit 1 | |
| fi |