Credential Validation #177
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/published?namespace=org.jfrog.buildinfo&name=artifactory-maven-plugin&version=3.7.1") | |
| echo "Maven Central API response: $HTTP_CODE" | |
| # 200 = auth OK and artifact found | |
| # 404 = auth OK but artifact not found | |
| # 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 |