Topic

GitHub Actions

All digests tagged GitHub Actions

How I automate my own job at Hugging Face using agents — Niels Rogge, Hugging Face thumbnail

· 20:37

How I automate my own job at Hugging Face using agents — Niels Rogge, Hugging Face

Niels Rogge details how he automated his role at Hugging Face—the 'Google Drive to the hub' team—which focuses on improving the discoverability of machine learning artifacts. He built two systems: an initial deterministic workflow for outreach (using cron jobs and LLM APIs) and a subsequent fully autonomous agent loop for follow-up actions. The architecture leverages modern tooling like Modal, Bash CLI skills, and advanced models (e.g., GLM 5.2) to scale the process of identifying missing artifacts and prompting researchers to publish them on Hugging Face.

Key takeaways

  1. The Problem: Artifact Discoverability

    ML weights and datasets are often published on third-party services (Google Drive, Zenodo) rather than the centralized platform (Hugging Face), hindering discoverability. The goal is to automate outreach to authors.

  2. Initial Automation: Deterministic Workflow 11:43

    The first phase used a deterministic workflow, running as a nightly cron job on GitHub Actions. This approach utilized LLM APIs in predefined steps without an agent framework, offering high predictability and control.

  3. Advanced Automation: Autonomous Agent Loop 15:36

    The follow-up process was automated using a fully autonomous agent loop (e.g., leveraging the Claude agents SDK). This flexible approach allows the agent to use tools and skills, such as Bash and the Hugging Face CLI, to interact with GitHub issues.

Watch on YouTube Full article

Responsibly Abandoning Open Source Projects - Jason Turner - NDC Copenhagen 2026 thumbnail

· 58:11

Responsibly Abandoning Open Source Projects - Jason Turner - NDC Copenhagen 2026

This talk outlines best practices for developing and maintaining open-source projects to ensure they can be responsibly abandoned or handed off years later without becoming 'legacy' or 'abandoned.' The core focus is on achieving a state of 'completeness' by implementing rigorous automation across the entire development lifecycle—from static analysis and comprehensive testing (including path coverage, fuzzing, and mutation testing) to simplified build processes. Key recommendations include automating all quality gates within CI/CD pipelines and minimizing technical debt related to tooling complexity.

Key takeaways

  1. Achieve 'Completed,' Not 'Abandoned' 20:30

    When concluding work on a project, aim for the status of 'completed' rather than 'abandoned.' This requires proactive measures like maintaining clear documentation and ensuring continuous automation.

  2. Automate All Quality Gates 29:55

    Implement automated checks for every possible tool (static analysis, dynamic analysis, formatting) to ensure consistency and reduce friction for future maintainers. This should be fully integrated into the build process.

  3. Prioritize Strong Typing 34:45

    Adopting strongly typed systems (e.g., using type hints in Python or dedicated types like `Point` and `Color`) makes code less prone to order-of-operations errors, significantly improving robustness.

  4. Minimize Build Setup Friction 32:10

    A new contributor should be able to set up the development environment and run all tests/analysis in a minimal number of steps (ideally five lines or less).

Watch on YouTube Full article