Skip to content

Conversation

@jake-mahon-netwrix
Copy link
Contributor

Replace gh-runner-large with ubuntu-latest to resolve workflow hanging issue. The workflow was waiting for custom self-hosted runners that weren't available.

Replace gh-runner-large with ubuntu-latest to resolve workflow hanging issue.
The workflow was waiting for custom self-hosted runners that weren't available.
@claude
Copy link

claude bot commented Oct 17, 2025

Pull Request Review - PR #290

Summary

This PR replaces custom gh-runner-large labels with GitHub's standard ubuntu-latest runners across all three jobs in the build and deploy workflow. This addresses the workflow hanging issue caused by unavailable self-hosted runners.


✅ Positive Aspects

  1. Problem Resolution: Directly addresses the workflow hanging issue by switching to GitHub-hosted runners that are always available.

  2. Consistency: All three jobs (determine-environment, build, and deploy) now use the same runner type, which simplifies the workflow configuration.

  3. Reliability: GitHub-hosted ubuntu-latest runners provide:

    • Guaranteed availability (no waiting for custom runners)
    • Consistent environment
    • Automatic maintenance and updates
    • Better resource predictability
  4. Whitespace Cleanup: The PR includes some minor whitespace cleanup (trailing spaces removed), improving code quality.


🔍 Considerations & Recommendations

1. Performance Impact Assessment Needed

⚠️ Important: The workflow was originally configured for gh-runner-large, suggesting it may have required more resources than standard runners provide.

Action Items:

  • Monitor build times after deployment (baseline vs. new times)
  • Watch for potential issues:
    • Out-of-memory errors during the build (current config uses --max-old-space-size=16384 = 16GB)
    • Timeout issues on long-running jobs
    • npm cache effectiveness

GitHub-hosted ubuntu-latest specs:

  • 4 cores
  • 16 GB RAM
  • 14 GB SSD storage

If builds fail or become significantly slower, consider:

  • Using ubuntu-latest-8-cores (32 GB RAM, 8 cores) - available on Team/Enterprise plans
  • Re-evaluating self-hosted runner setup
  • Optimizing build configuration

2. Cost Implications

  • GitHub-hosted runners consume CI/CD minutes from your plan allocation
  • Self-hosted runners only incur infrastructure costs
  • For a docs build with multiple jobs, verify this aligns with your GitHub plan

3. Testing Recommendation

Since this affects the entire CI/CD pipeline:

Suggested testing approach:

  1. Test the workflow on this PR branch with a test commit
  2. Verify all three jobs complete successfully
  3. Confirm deployment to the development environment works
  4. Validate the build artifact size and deployment to Azure Blob Storage

4. Documentation Update

Consider documenting:

  • Why the switch was made (runner availability issues)
  • Expected build times on GitHub-hosted runners
  • Fallback plan if performance is inadequate

🔐 Security Review

No security concerns identified

  • No changes to secrets handling
  • No modifications to Azure authentication
  • Runner change doesn't expose any new security risks

🧪 Test Coverage

⚠️ No automated tests exist for the workflow itself

Recommendation: The workflow will be tested in production when merged. Consider:

  • Running a test deployment from this branch first
  • Having a rollback plan ready if issues arise

📊 Code Quality

Good

  • YAML syntax is correct
  • Indentation is consistent
  • No breaking changes to workflow logic
  • Whitespace cleanup improves readability

🎯 Final Recommendation

APPROVE with monitoring

This is a sensible fix for the immediate problem of unavailable self-hosted runners. However:

  1. Monitor closely after merge for:

    • Build duration changes
    • Memory issues
    • Any workflow failures
  2. Be prepared to:

    • Upgrade to larger GitHub-hosted runners if needed
    • Optimize build process if performance degrades
    • Revert if critical issues arise
  3. Consider follow-up:

    • Document why this change was necessary
    • Set up self-hosted runners properly (if cost/performance requires it)
    • Add workflow monitoring/alerting

📝 Minor Suggestions

  1. Add a comment in the workflow file explaining why ubuntu-latest was chosen:

    jobs:
      determine-environment:
        # Using GitHub-hosted runners for reliability
        # Previous gh-runner-large was causing workflow hangs
        runs-on: ubuntu-latest
  2. Update README.md (if applicable) with information about the CI/CD runner requirements.


Overall: This is a pragmatic fix that should resolve the immediate issue. The code changes are minimal and low-risk, but operational monitoring post-merge is essential to ensure build performance remains acceptable.

🤖 Generated with Claude Code

@jake-mahon-netwrix jake-mahon-netwrix deleted the fix/github-actions-runner-labels branch October 17, 2025 15:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants