30 open-source projects similar to actions/cache, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Cache alternative.
Sbt is a JVM build tool and dependency management system designed for Scala and Java. It functions as a multi-project build orchestrator that manages the compilation of source code, resolves external libraries from remote repositories, and packages binaries for distribution. The project is distinguished by its interactive build system, which provides a read-eval-print loop for real-time state inspection and task execution. It utilizes a dependency-graph based execution model to process tasks and maintains a type-safe key-value store for dynamic build configuration. Its capabilities cover JVM
Gradle is a build automation tool for the Java Virtual Machine that functions as a polyglot build orchestrator. It automates the compilation, testing, and packaging of software across multiple programming languages using a structured workflow. The project acts as a build performance optimizer, utilizing daemon processes, parallel execution, and result caching to reduce redundant computation. It also serves as a dependency management system that resolves external libraries and plugins while verifying checksums to ensure integrity. The system coordinates complex build lifecycles and task depen
Pixi is a conda environment manager that creates reproducible, lock-file-backed environments with cross-platform support and multi-language dependency resolution. It combines package management from both conda-forge and PyPI simultaneously, coordinating their dependency graphs to prevent conflicts, while pinning every transitive dependency to exact versions in a cross-platform lock file for bit-for-bit identical environments across machines. The project distinguishes itself by also functioning as a cross-platform task runner that executes user-defined commands and multi-step pipelines inside
ZenML is an extensible machine learning orchestration framework designed to manage the end-to-end lifecycle of data pipelines and AI agent workflows. It functions as a durable orchestrator that executes machine learning tasks as directed acyclic graphs, ensuring that every step is containerized for consistent performance across local, cloud, and hybrid infrastructure. By decoupling pipeline code from underlying compute and storage backends, the platform allows developers to define infrastructure-agnostic stacks that remain portable across diverse environments. The project distinguishes itself
This project is a build artifact manager and file persistence tool designed to save files and directories from a workflow run as archived assets. It functions as a workflow asset archiver that compresses and uploads project files to a remote store. The system differentiates itself through a comprehensive metadata tracking system that generates unique identifiers, download URLs, and security digests for every uploaded asset. It manages the asset lifecycle using configurable retention policies to determine how long files remain available before automatic deletion and supports updating existing
uv is a high-performance Python package manager and project build tool designed to handle dependency resolution, virtual environment orchestration, and Python interpreter management. It functions as a comprehensive workspace orchestrator, enabling developers to manage complex, multi-package repositories and ensure reproducible builds across different platforms. The tool distinguishes itself through its use of a global, content-addressable cache and hard-link-based environment provisioning, which allow for near-instant environment creation and minimal disk usage. It employs a high-performance
Renovate is a GitOps-driven dependency management engine designed to automate the maintenance of software projects. It functions as an automated update tool that scans repository files to identify outdated dependencies, fetches the latest compatible versions from external sources, and generates pull requests to apply those updates. By integrating directly with code hosting platforms, it synchronizes project dependencies through declarative configuration files, ensuring that software components remain current and secure. The project distinguishes itself through its platform-agnostic architectu
sw-precache is a service worker build tool and precaching generator that produces JavaScript code to version and store static assets. It functions as a command-line interface and node module designed to enable offline functionality and improve load times for web applications. The project distinguishes itself by combining build-time asset discovery with a runtime caching orchestrator. It uses content-hash-based versioning to trigger updates only when file contents change and employs template-based code generation to inject custom routing rules and handler libraries into the resulting service w
sw-precache is a service worker precache generator used to create scripts that enable offline functionality for web applications. It acts as a build-time asset cache manager that hashes static files and manages their versioning within a service worker cache. The project provides a runtime cache configurator to define caching strategies and request handlers for dynamic content based on URL patterns. It also includes an offline fallback handler to intercept network failures and serve cached fallback pages. The toolset covers the generation of service worker code and manifests, content-hash bas
Tuist is a Swift manifest–based project manager for Xcode projects. It replaces manual Xcode project file editing with a declarative Swift DSL where build targets, settings, and dependencies are defined in code. The tool then generates Xcode workspaces and projects from that manifest, and can bootstrap new projects with a given platform target and initial structure. Beyond generation and scaffolding, Tuist provides a command-line build capability that compiles Apple platform projects without launching Xcode. It resolves the dependency graph between targets, detects cycles, and determines buil
This project is a reference implementation and tutorial designed to demonstrate the end-to-end workflow of building, versioning, and uploading Python distributions. It serves as a concrete project template and example for configuring metadata and build artifacts for package indices. The repository illustrates how to package software by defining project metadata and dependencies in static configuration files. It covers the process of transforming source trees into versioned archives and platform-specific binary distributions, specifically showing how to build binary wheels and source distribut
Rushstack is a comprehensive toolset for managing large-scale TypeScript monorepos, providing a framework for build pipeline automation, dependency coordination, and static analysis. It functions as an incremental build orchestrator and management system designed to maintain consistency and performance across multiple packages in a shared workspace. The system distinguishes itself through an execution model based on directed acyclic graphs and content-hash-based incrementalism, which ensures only affected projects are rebuilt. It further optimizes development workflows via remote build artifa
This project is a GitHub Action designed to accelerate Rust build pipelines by caching compiled artifacts and dependency data. It functions as a build cache mechanism that persists intermediate outputs across separate continuous integration execution environments to avoid redundant recompilation. The tool identifies cacheable build outputs by analyzing project configuration files and generating unique identifiers based on the state of source code and dependency manifests. It integrates with the build environment by dynamically updating system paths and configuration settings, allowing the too
Maven is a Java build automation tool and software build orchestrator. It functions as a project lifecycle manager and dependency management system, using a standardized project object model to compile, test, and package Java projects. The project distinguishes itself through a phase-based build lifecycle and a plugin-based extension model, allowing users to bind custom goals to specific build stages. It coordinates complex software through multi-module project orchestration and ensures a reproducible build workflow by neutralizing environmental variables and controlling toolchain versions.
RequireJS is a JavaScript module loader and dependency manager that implements the Asynchronous Module Definition API. It enables the asynchronous loading of JavaScript files in the browser to prevent page rendering blocks and manages interdependent scripts to avoid global namespace pollution and execution order issues. The project includes a build optimizer that combines and minifies multiple script files into single bundles to reduce network requests. It also provides a mechanism for version management, allowing multiple versions of the same library to coexist on a single page without confl
Swift Package Manager is a build tool, dependency manager, and registry client for the Swift language. It transforms source files and external dependencies into executable binaries or libraries and manages the resolution, download, and integration of external code libraries. The project provides a client for publishing and versioning signed code packages via a remote registry, ensuring identity verification through digital signing. It also includes a source code formatter to standardize code style and indentation. The system covers a broad range of capabilities including modular code distrib
This project is a command line package manager and dependency management engine used for installing, updating, and removing software packages across different operating systems. It functions as a package recipe system and software repository administrator, utilizing declarative scripts to define software sources, build arguments, and installation steps. The system operates as a binary distribution platform that compiles source code into pre-compiled binaries and distributes them through remote repositories. It includes an automated version tracker that monitors upstream software releases and
Xmake is a cross-platform build utility and package manager designed for C and C++ development. It functions as a unified build automation tool that uses a Lua-based domain-specific language to define project targets, manage dependencies, and orchestrate compilation across multiple operating systems and hardware architectures. The system distinguishes itself through a modular, rule-based approach to task orchestration and toolchain integration. By abstracting native build systems and compilers, it allows developers to maintain consistent project configurations while targeting diverse environm
Craco is a configuration layer for Create React App that modifies Webpack and Jest settings without requiring the project to eject. It functions as a build tool plugin system and configuration manager, allowing for the injection of custom settings and third-party logic into the frontend build pipeline. The project utilizes a hook-based architecture and non-destructive configuration merging to override default settings. This allows for Webpack configuration overrides and Jest configuration tuning while maintaining the original source files. The system covers a broad range of build pipeline ex
MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from a single codebase. It utilizes a static transpilation pipeline to transform source code into platform-specific bundles, employing a single-file component system that encapsulates templates, logic, and styles. The framework provides a reactive state management system that automatically synchronizes application data with the user interface through computed properties and watchers. The project distinguishes itself through a robust build-time toolchain that supports sub-package p
Umi is a comprehensive React application framework and enterprise frontend toolchain. It provides a plugin-based build system and a configuration-driven routing engine to integrate routing, build tooling, and deployment within a single dependency. The project serves as a micro-frontend orchestrator, coordinating multiple independent frontend applications into a single interface with shared data flow. Its extensible architecture allows for the customization of every stage of the application development lifecycle through a system of plugins. The framework covers a broad range of enterprise cap
Walle is a tooling system for automating the injection of distribution channel identifiers and metadata into signed Android application binaries. It functions as a command-line utility and build pipeline extension that reads and writes custom metadata directly into the Android application signing block. The tool specifically modifies the Android Signature V2 block to embed channel identifiers and key-value pairs without re-signing the binary. This approach enables the generation of multiple channel-specific application packages without requiring a full binary rebuild or repeated signing opera
Airtest is a cross-platform UI automation framework that enables test scripts to run on Android, iOS, and Windows devices without platform-specific modifications. It combines image recognition with control hierarchy traversal to locate and interact with on-screen elements, supporting automation even when source code or UI metadata is unavailable. The framework provides a cloud-based test orchestrator that schedules test cases, manages device clusters, and generates detailed HTML reports with screen recordings after execution. It includes a command-line test runner for headless execution in CI
unplugin-auto-import is a build-time import automation plugin and AST-based code transformer. It analyzes source code to identify missing identifiers and automatically injects the required import statements during the bundling process. The project functions as a cross-bundler build plugin, providing a unified abstraction layer that ensures consistent behavior across Vite, Webpack, and Rollup. It utilizes a pattern-based module resolver to scan local directories via glob patterns and employs a TypeScript declaration generator to maintain type definition files for IDE autocompletion. Its capab
Vercel is a cloud platform for building, deploying, and scaling web applications. It provides a unified infrastructure that automates the build process by detecting project frameworks and distributing static and dynamic content through a global content delivery network. The platform executes application logic using serverless functions that scale automatically based on real-time traffic demand. The platform distinguishes itself through a centralized AI gateway that proxies requests to multiple model providers, enabling standardized authentication, observability, and cost tracking. It supports
Cargo is the official build system and package manager for the Rust programming language. It provides a unified command-line interface that orchestrates the entire development lifecycle, including compiling source code, managing complex dependency graphs, running tests, and distributing packages through a centralized registry. By utilizing declarative manifest files, it ensures that builds remain reproducible and consistent across different environments. The tool distinguishes itself through its deep integration with the Rust compiler and its sophisticated approach to project management. It f
Mold is a high-performance linker designed to replace standard system tools for the creation of executable binaries and shared libraries. It functions as a drop-in replacement for existing linkers, focusing on accelerating the final build phase of large software projects to improve developer productivity. The tool achieves its performance by utilizing multi-threaded processing to distribute the linking of object files across multiple CPU cores. It supports cross-architecture binary linking, allowing it to process compiled files for diverse platforms efficiently. By intercepting standard linke
This project is a curated, community-driven directory of frameworks, libraries, and development tools designed for the .NET ecosystem. It serves as a comprehensive resource index for developers seeking to build, maintain, and scale software projects using .NET technologies. The collection provides a structured catalog of utilities that support the full software development lifecycle. It covers essential capability areas including web service development, data persistence integration, and system observability. The directory also highlights tools for managing application dependencies, implement
Helm is a package manager for Kubernetes that simplifies the deployment and management of multi-component applications. It functions as a template rendering engine and release coordinator, allowing users to bundle, version, and deploy software as standardized packages. By maintaining a persistent metadata layer within the cluster, it tracks release history and manages the full lifecycle of applications, including installations, upgrades, and rollbacks. What distinguishes Helm is its ability to handle complex application hierarchies through automated dependency resolution and the composition o