Skip to content

Releases: diverger/gh-oss-helper

GH OSS Helper v1.0.5

21 Sep 04:09

Choose a tag to compare

🚀 GH OSS Helper Release v1.0.5

🔧 Changes

  • npm devDependencies

    • @eslint/js: ^9.15.0^9.35.0
    • @types/node: ^22.15.0^24.4.0
    • @typescript-eslint/eslint-plugin: ^8.33.0^8.43.0
    • @typescript-eslint/parser: ^8.33.0^8.43.0
    • @vitest/coverage-v8: ^3.2.0^3.2.4
    • eslint: ^9.15.0^9.35.0
    • tsx: ^4.19.4^4.20.3
    • vitest: ^3.2.0^3.2.4
  • GitHub Actions versions used in workflows

    • actions/checkout: @v4@v5
    • actions/setup-node: @v4@v5
    • codecov/codecov-action: @v4@v5
    • softprops/action-gh-release: @v1@v2

📖 Usage Examples

Basic Upload

- name: Upload to OSS
  uses: diverger/[email protected]
  with:
    region: 'oss-cn-hangzhou'
    access-key: ${{ secrets.OSS_ACCESS_KEY }}
    secret-key: ${{ secrets.OSS_SECRET_KEY }}
    bucket: 'my-bucket'
    assets: |
      dist/:website/
      README.md:docs/readme.md

🔗 Full Changelog

Full Changelog: v1.0.4...v1.0.5


For older releases, see RELEASE_NOTES_ARCHIVE.md

GH OSS Helper v1.0.4

04 Jul 23:54

Choose a tag to compare

🚀 GH OSS Helper Release v1.0.4

✨ What's New

  • Debug Mode: Added enable-debug input for verbose logging without requiring ACTIONS_STEP_DEBUG
  • Enhanced debug logging throughout the upload process for better troubleshooting
  • Added isDebugEnabled() and logDebug() utility functions for improved debugging experience

🔧 Changes

  • Improved Directory Logic: Refactored directory pattern conversion logic in uploader
  • Better Error Handling: Enhanced error handling for specific files vs glob patterns
  • Enhanced Logging: Improved debug logging and messaging in GitHub Actions

🐛 Bug Fixes

  • Critical Fix: Resolved ENOTDIR error when uploading single files (like ZIP files) to directory destinations
  • Fixed handling of single file uploads to directory paths by properly using basename for remote path
  • Improved file existence checking before glob pattern conversion
  • Prevented treating ZIP files as directories when destination ends with '/'

⚠️ Breaking Changes

None in this release.

📖 Usage Examples

Basic Upload

- name: Upload to OSS
  uses: diverger/[email protected]
  with:
    region: 'oss-cn-hangzhou'
    access-key: ${{ secrets.OSS_ACCESS_KEY }}
    secret-key: ${{ secrets.OSS_SECRET_KEY }}
    bucket: 'my-bucket'
    assets: |
      dist/:website/
      README.md:docs/readme.md

🔗 Full Changelog

Full Changelog: v1.0.3...v1.0.4


For older releases, see RELEASE_NOTES_ARCHIVE.md

GH OSS Helper v1.0.3

08 Jun 06:06

Choose a tag to compare

🚀 GH OSS Helper Release v1.0.3

🔧 Changes

  • Updated release workflow to use softprops/action-gh-release@v1 for better release management
  • Improved manual test workflow with comprehensive test scenarios including large file uploads
  • Enhanced logging output with better formatting and progress indicators

📖 Usage Examples

Basic Upload

- name: Upload to OSS
  uses: diverger/[email protected]
  with:
    region: 'oss-cn-hangzhou'
    access-key: ${{ secrets.OSS_ACCESS_KEY }}
    secret-key: ${{ secrets.OSS_SECRET_KEY }}
    bucket: 'my-bucket'
    assets: |
      dist/:website/
      README.md:docs/readme.md

Advanced Wildcard Usage

- name: Upload with wildcards
  uses: diverger/[email protected]
  with:
    region: 'oss-cn-hangzhou'
    access-key: ${{ secrets.OSS_ACCESS_KEY }}
    secret-key: ${{ secrets.OSS_SECRET_KEY }}
    bucket: 'my-bucket'
    assets: |
      output/debs***:packages/
      src/**/*.js:scripts/
      docs/**/*.md:documentation/

🔗 Full Changelog

Full Changelog: v1.0.2...v1.0.3


For older releases, see RELEASE_NOTES_ARCHIVE.md

GH OSS Helper v1.0.2

08 Jun 04:01

Choose a tag to compare

🚀 GH OSS Helper Release v1.0.2

🔧 Bug Fixes

  • Fixed release workflow automation issues
  • Resolved build artifacts cleanup

🛠️ Improvements

  • Updated release workflow to properly handle GitHub release creation
  • Enhanced error handling in release pipeline

🔗 Full Changelog

Full Changelog: v1.0.1...v1.0.2


For older releases, see RELEASE_NOTES_ARCHIVE.md

GH OSS Helper v1.0.1

08 Jun 03:53

Choose a tag to compare

🚀 GH OSS Helper Release v1.0.1

🔧 Changes

  • Fixes issue with release workflow

🔗 Full Changelog

Full Changelog: https://github.com/your-username/gh-oss-helper/compare/v1.0.0...v1.0.1


For older releases, see RELEASE_NOTES_ARCHIVE.md

v1.0.0

08 Jun 03:38

Choose a tag to compare

🚀 GH OSS Helper Release v1.0.0

✨ What's New

🏗️ Modern Build System

  • Single bundled output: Now uses dist/index.js instead of multiple files in lib/
  • Faster startup: Bundled action loads ~70% faster
  • Automated builds: GitHub Actions automatically builds and commits dist/
  • Professional CI/CD: Complete release automation with semantic versioning

📝 Release Management

  • Automated release preparation: New prepare-release.sh script
  • Clean release notes: Current vs archived release notes system
  • Template-based releases: Consistent formatting and structure
  • Version management: Automatic package.json updates

🔧 Developer Experience

  • Enhanced build script: ./build.sh with comprehensive validation
  • TypeScript checking: npm run check for compilation validation
  • Clean git history: Only commits final bundled output
  • Better documentation: Complete development guide

🔧 Changes

Build System Migration

  • BREAKING: Action now uses dist/index.js instead of lib/index.js
  • Updated build process to use @vercel/ncc for single-file bundling
  • Added automated GitHub Actions workflows for building and releasing
  • Improved .gitignore to exclude lib/ and include dist/

Development Workflow

  • Added prepare-release.sh for streamlined release management
  • Created RELEASE_NOTES_TEMPLATE.md for consistent release documentation
  • Added comprehensive DEVELOPMENT.md guide
  • Improved TypeScript compilation checking

🐛 Bug Fixes

  • Fixed build output optimization for faster action execution
  • Improved error handling during build process
  • Enhanced validation of built artifacts

📋 Migration Guide

For Users

No changes required - the action interface remains the same:

- name: Upload to OSS
  uses: your-username/gh-oss-helper@v1
  with:
    region: 'oss-cn-hangzhou'
    access-key: ${{ secrets.OSS_ACCESS_KEY }}
    secret-key: ${{ secrets.OSS_SECRET_KEY }}
    bucket: 'my-bucket'
    assets: |
      dist/:website/
      README.md:docs/readme.md

For Contributors

  1. Update your workflow: Use ./build.sh instead of manual npm run build
  2. Use release script: Run ./prepare-release.sh for releases
  3. Check dist/ folder: Verify dist/index.js exists after building

🧰 For Developers

New Scripts

  • ./build.sh - Complete build with validation
  • ./prepare-release.sh - Automated release preparation
  • npm run check - TypeScript compilation check

Workflow Changes

  • Automated dist/ folder updates on push to main branches
  • Release workflow with automatic GitHub release creation
  • Build artifact generation for pull requests

📖 Usage Examples

Basic Upload

- name: Upload to OSS
  uses: your-username/[email protected]
  with:
    region: 'oss-cn-hangzhou'
    access-key: ${{ secrets.OSS_ACCESS_KEY }}
    secret-key: ${{ secrets.OSS_SECRET_KEY }}
    bucket: 'my-bucket'
    assets: |
      dist/:website/
      README.md:docs/readme.md

Advanced Configuration

- name: Upload with advanced options
  uses: your-username/[email protected]
  with:
    region: 'oss-cn-hangzhou'
    access-key: ${{ secrets.OSS_ACCESS_KEY }}
    secret-key: ${{ secrets.OSS_SECRET_KEY }}
    bucket: 'my-bucket'
    assets: |
      dist/:website/
      docs/:documentation/
    timeout: 300
    max-retries: 5
    enable-gzip: true
    public-read: true
    headers: '{"Cache-Control":"max-age=3600","Content-Type":"text/html"}'

🔗 Full Changelog

This is the initial release with the new build system migration.


For future releases, see RELEASE_NOTES_ARCHIVE.md