Skip to content

GH OBS Helper v1.1.1

Choose a tag to compare

@github-actions github-actions released this 27 May 17:32

Release Notes

πŸš€ GH OBS Helper Release v1.1.1

πŸ› Bug Fixes

⏱️ Timeout Configuration Fix

  • FIXED: TypeScript compilation error with timeout configuration
  • Enhanced: Complete OBSConfig interface with all SDK-supported properties
  • Improved: Better type safety for timeout and retry settings

πŸ”§ Technical Improvements

  • Updated OBSConfig interface to include all optional properties:
    • timeout?: number - Request timeout in seconds
    • max_retry_count?: number - Maximum retry attempts
    • region?: string - OBS region specification
    • ssl_verify?: boolean - SSL verification settings
    • path_style?: boolean - Path-style access configuration

πŸ› οΈ Usage Example with Timeout

- name: Upload with custom timeout
  uses: diverger/[email protected]
  with:
    access_key: ${{ secrets.OBS_ACCESS_KEY }}
    secret_key: ${{ secrets.OBS_SECRET_KEY }}
    region: 'cn-north-4'
    bucket: 'my-bucket'
    operation: 'upload'
    local_path: 'large-files/**/*'
    timeout: 600  # 10 minutes for large files
    retry_count: 5

πŸ”„ Migration Notes

  • No breaking changes from v1.1.0
  • Timeout functionality now works correctly without TypeScript errors
  • All existing workflows remain compatible

πŸš€ GH OBS Helper Release v1.1.0

🎯 What's New

πŸ”— URL Output Support

  • NEW: Automatic URL generation for uploaded files
  • Public files: Direct URLs for immediate access
  • Private files: Pre-signed URLs with 1-hour validity
  • Multiple outputs: Both individual and array formats

πŸ“€ Enhanced Outputs

  • upload_urls: JSON array of all uploaded file URLs
  • first_upload_url: Direct access to the first uploaded file URL
  • Perfect for single file uploads and subsequent workflow steps

πŸ› οΈ Usage Examples

Basic Upload with URL Output

- name: Upload and get URL
  id: upload
  uses: diverger/[email protected]
  with:
    access_key: ${{ secrets.OBS_ACCESS_KEY }}
    secret_key: ${{ secrets.OBS_SECRET_KEY }}
    region: 'cn-north-4'
    bucket: 'my-bucket'
    operation: 'upload'
    local_path: 'dist/app.js'
    obs_path: 'releases/v1.1.0/'
    public_read: true

- name: Use the uploaded file URL
  run: |
    echo "File available at: ${{ steps.upload.outputs.first_upload_url }}"
    curl -I "${{ steps.upload.outputs.first_upload_url }}"

πŸš€ GH OBS Helper Release v1.0.0

🎯 What's New

  • πŸ“₯ Download Functionality: Full download support with pattern matching and parallel processing
  • πŸ” Advanced Object Listing: Efficient pagination for large buckets
  • 🎯 Pattern Filtering: Include/exclude patterns for downloads
  • πŸ“ Structure Preservation: Option to maintain directory structure during downloads
  • πŸ›‘οΈ Checksum Validation: File integrity verification for downloads

πŸ”§ Features

  • Download Operations: Download files from OBS buckets with wildcard support
  • Parallel Downloads: Configurable concurrency for faster file retrieval
  • Pattern Matching: Filter downloads using include/exclude patterns
  • Retry Logic: Automatic retry for failed downloads with exponential backoff
  • Dry Run Support: Preview download operations without executing

πŸ“‹ Download Examples

Basic Download:

- name: Download files
  uses: diverger/[email protected]
  with:
    access_key: ${{ secrets.OBS_ACCESS_KEY }}
    secret_key: ${{ secrets.OBS_SECRET_KEY }}
    region: 'cn-north-4'
    bucket_name: 'my-bucket'
    operation: 'download'
    obs_path: 'releases/v1.0.0/'
    local_path: 'downloaded/'

Download with Patterns:

- name: Download specific files
  uses: diverger/[email protected]
  with:
    access_key: ${{ secrets.OBS_ACCESS_KEY }}
    secret_key: ${{ secrets.OBS_SECRET_KEY }}
    region: 'cn-north-4'
    bucket_name: 'my-bucket'
    operation: 'download'
    obs_path: 'backups/'
    local_path: 'restored/'
    include: '**/*.sql, **/*.json'
    exclude: '**/*.tmp'
    concurrency: 20

πŸš€ GH OBS Helper Release v1.0.0

🎯 What's New

  • Standardized Parameter Names: Renamed source/destination to local_path/obs_path for clarity
  • Enhanced Build System: Automated build and release workflows
  • Professional Development Setup: Complete CI/CD pipeline with TypeScript validation

πŸ”§ Changes

  • BREAKING: Parameter names changed from source/destination to local_path/obs_path
  • Updated all workflow examples to use new parameter names
  • Fixed action icon to use valid upload-cloud icon

πŸ› Bug Fixes

  • Fixed TypeScript compilation errors
  • Corrected action.yml parameter validation
  • Improved error handling in upload operations

πŸ“‹ Migration Guide

If upgrading from earlier versions, update your workflow files:

Old:

with:
  source: 'dist/**'
  destination: 'releases/'

New:

with:
  local_path: 'dist/**'
  obs_path: 'releases/'

πŸ› οΈ Usage Example

- name: Upload to OBS
  uses: diverger/[email protected]
  with:
    access_key: ${{ secrets.OBS_ACCESS_KEY }}
    secret_key: ${{ secrets.OBS_SECRET_KEY }}
    region: 'cn-north-4'
    bucket: 'my-bucket'
    operation: 'upload'
    local_path: 'dist/**/*'
    obs_path: 'releases/v1.0.0/'

πŸŽ‰ Features

  • High-performance uploads with unlimited file support
  • Wildcard pattern matching (*, **, ?)
  • Parallel operations with configurable concurrency
  • Support for upload, download, sync, and bucket operations
  • Comprehensive error handling and retry logic

Full Changelog: v0.9.0...v1.0.0