Skip to content

Releases: dartilesm/vercel-blob-action

v2.1.0 - Folder Upload Support

25 May 15:16
6e2358f

Choose a tag to compare

🚀 New Feature: Folder Upload Support

This release adds comprehensive folder upload functionality, allowing you to upload entire directories while maintaining their structure in Vercel Blob storage.

✨ New Features

  • 📁 Folder Upload: Upload entire directories with recursive file discovery
  • 🏗️ Structure Preservation: Maintains original folder hierarchy in blob storage
  • 🔄 Nested Directory Support: Handles subdirectories and complex folder structures
  • 📊 Progress Logging: Clear visibility into upload progress for each file

🛠 Code Quality Improvements

  • Better Readability: Improved code structure and maintainability
  • Enhanced Documentation: Comprehensive TypeScript documentation and comments
  • Error Handling: Improved validation and error messages

📚 Documentation Updates

  • Unified Examples: Combined Usage and Examples sections for better clarity
  • Consistent Versioning: All examples now use @v2 consistently
  • Updated Descriptions: Improved action.yml and README descriptions
  • Privacy Focus: Corrected outputs documentation (no URL exposure)

🎯 Usage Examples

Single File Upload:

- name: Upload file to Vercel Blob
  uses: dartilesm/vercel-blob-action@v2
  with:
    source: "file.txt"
    destination: "uploads/file.txt"
    read-write-token: ${{ secrets.BLOB_READ_WRITE_TOKEN }}

Folder Upload:

- name: Upload build folder to Vercel Blob
  uses: dartilesm/vercel-blob-action@v2
  with:
    source: "dist/"
    destination: "builds/${{ github.sha }}"
    read-write-token: ${{ secrets.BLOB_READ_WRITE_TOKEN }}

📦 What Gets Uploaded

When uploading a folder like dist/ with this structure:

dist/
├── index.html
├── assets/
│   ├── style.css
│   └── script.js
└── images/
    └── logo.png

Files are uploaded maintaining the structure:

  • dist/index.htmlbuilds/{sha}/index.html
  • dist/assets/style.cssbuilds/{sha}/assets/style.css
  • dist/assets/script.jsbuilds/{sha}/assets/script.js
  • dist/images/logo.pngbuilds/{sha}/images/logo.png

🔄 Backward Compatibility

  • ✅ No Breaking Changes: Existing single file workflows continue to work unchanged
  • ✅ Same Inputs: source, destination, and read-write-token remain the same
  • ✅ Same Behavior: Single file uploads work exactly as before

🏗️ Technical Details

  • Memory Efficient: Files are streamed individually for optimal performance
  • Cross-Platform: Uses path.posix.join for consistent blob paths
  • Recursive Discovery: Automatically finds all files in directories and subdirectories
  • Public Access: All uploaded files have public access by default

This release makes the action significantly more versatile for real-world deployment scenarios while maintaining full backward compatibility.

v2.0.0 - TypeScript Migration with Auto-Build

25 May 14:47
6e2358f

Choose a tag to compare

🚀 Major Release: TypeScript Migration

This release migrates the action from JavaScript to TypeScript and introduces a comprehensive build process with automatic dependency bundling.

✨ New Features

  • TypeScript Migration: Full TypeScript implementation with type safety
  • Auto-Build Process: Pre-commit hooks ensure dist files are always in sync
  • Bundled Dependencies: Self-contained action with all dependencies bundled
  • Improved Privacy: Blob URLs no longer exposed in workflow logs
  • Public Access: Files uploaded with public access by default

🛠 Technical Improvements

  • Build System: Uses TypeScript compiler + Vercel's ncc bundler
  • Development Workflow: Automated build process with husky pre-commit hooks
  • Documentation: Comprehensive development guide and project structure docs
  • CI/CD: GitHub Actions workflow for build verification

📦 What's Bundled

  • All dependencies are now bundled into a single dist/index.js file
  • Consumers don't need to install any dependencies
  • Action is completely self-contained and ready to use

🔄 Migration Notes

  • Backward Compatible: No changes needed for existing workflows
  • Same Inputs: source, destination, and read-write-token remain the same
  • No URL Output: The action no longer outputs the blob URL for privacy
  • Check Vercel Dashboard: Access uploaded files through your Vercel dashboard

🏗 For Developers

  • TypeScript source code in src/index.ts
  • Automated build process with npm run build
  • Pre-commit hooks ensure consistency
  • Comprehensive development documentation

This release maintains full backward compatibility while providing better reliability, type safety, and developer experience.

v1.1.0: Marketplace-Ready with Comprehensive Documentation

25 May 13:48
77e4b2e

Choose a tag to compare

🚀 Marketplace-Ready Release

This release prepares the Vercel Blob GitHub Action for publication to GitHub Marketplace and includes comprehensive code documentation and improvements.

✨ New Features & Improvements

🏪 GitHub Marketplace Compliance

  • Enhanced action metadata: Updated action name to "Upload to Vercel Blob" for better discoverability
  • Added author information: Included proper author metadata for marketplace listing
  • Improved branding: Updated icon to upload-cloud for better visual representation

📝 Comprehensive Documentation

  • Detailed code comments: Added extensive comments to src/index.js explaining each step of the upload process
  • Action metadata documentation: Added explanatory comments to action.yml for better understanding
  • JSDoc-style documentation: Professional documentation standards throughout the codebase
  • Error handling explanations: Documented all error scenarios and their responses

🔧 Technical Improvements

  • Fixed Vercel SDK usage: Removed unnecessary options object from put() function call
  • Enhanced error messages: Improved error messages for better debugging experience
  • Environment variable handling: Properly documented and implemented token environment variable setup
  • Code architecture: Improved code structure with clear separation of concerns

📚 Documentation Updates

  • Cleaned README: Removed references to non-existent examples and improved accuracy
  • Updated usage examples: Fixed repository references and improved example clarity
  • Added use cases section: Documented various scenarios where the action can be used
  • Marketplace-optimized content: Tailored documentation for marketplace users

📋 Usage

- name: Upload to Vercel Blob
  uses: dartilesm/vercel-blob-action@v1.1.0
  with:
    source: "path/to/file.txt"
    destination: "uploads/file.txt"
    read-write-token: ${{ secrets.BLOB_READ_WRITE_TOKEN }}

🔄 Migration from v1.0.0

No breaking changes! This release is fully backward compatible with v1.0.0. Simply update your workflow to use @v1.1.0 or continue using @v1 for automatic updates.

🏷️ Version Tags

  • Use @v1.1.0 for this specific version
  • Use @v1 for automatic updates within the v1 major version (recommended)
  • Use @master for the latest development version (not recommended for production)

📦 What's Changed

  • Enhanced marketplace compliance and documentation by @dartilesm in #2
  • Comprehensive code comments and improved error handling
  • Updated branding and metadata for better discoverability

🙏 Acknowledgments

This release makes the action ready for GitHub Marketplace publication and provides a solid foundation for community contributions.

Full Changelog: v1.0.0...v1.1.0

v1.0.0: Initial Release of Vercel Blob GitHub Action

25 May 13:27
34cae61

Choose a tag to compare

🎉 Initial Release

This is the first release of the Vercel Blob GitHub Action, providing a simple and powerful way to upload files to Vercel Blob storage from your GitHub Actions workflows.

✨ Features

  • Complete GitHub Action: Ready-to-use action with proper metadata and configuration
  • Vercel Blob Integration: Uses the official @vercel/blob SDK for reliable uploads
  • Token Support: Accepts BLOB_READ_WRITE_TOKEN and automatically configures environment variables
  • Comprehensive Documentation: Detailed README with setup instructions and examples
  • Sample Workflows: Multiple workflow examples demonstrating various use cases
  • Error Handling: Robust error handling with clear feedback
  • Modern Stack: Built with Node.js 20 and ES modules

📋 Usage

- name: Upload to Vercel Blob
  uses: dartilesm/vercel-blob-action@v1
  with:
    source: "path/to/file.txt"
    destination: "uploads/file.txt"
    read-write-token: ${{ secrets.BLOB_READ_WRITE_TOKEN }}

🔧 Setup

  1. Get your BLOB_READ_WRITE_TOKEN from your Vercel dashboard
  2. Add it as a GitHub secret in your repository
  3. Use the action in your workflows

📚 Documentation

See the README for complete documentation and examples.

🏷️ Version Tags

  • Use @v1.0.0 for this specific version
  • Use @v1 for automatic updates within the v1 major version