Releases: diverger/gh-oss-helper
Releases · diverger/gh-oss-helper
GH OSS Helper v1.0.5
🚀 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.4eslint:^9.15.0→^9.35.0tsx:^4.19.4→^4.20.3vitest:^3.2.0→^3.2.4
-
GitHub Actions versions used in workflows
actions/checkout:@v4→@v5actions/setup-node:@v4→@v5codecov/codecov-action:@v4→@v5softprops/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
🚀 GH OSS Helper Release v1.0.4
✨ What's New
- Debug Mode: Added
enable-debuginput for verbose logging without requiringACTIONS_STEP_DEBUG - Enhanced debug logging throughout the upload process for better troubleshooting
- Added
isDebugEnabled()andlogDebug()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
ENOTDIRerror 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
🚀 GH OSS Helper Release v1.0.3
🔧 Changes
- Updated release workflow to use
softprops/action-gh-release@v1for 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.mdAdvanced 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
🚀 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
🚀 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
🚀 GH OSS Helper Release v1.0.0
✨ What's New
🏗️ Modern Build System
- Single bundled output: Now uses
dist/index.jsinstead of multiple files inlib/ - 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.shscript - 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.shwith comprehensive validation - TypeScript checking:
npm run checkfor 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.jsinstead oflib/index.js - Updated build process to use
@vercel/nccfor single-file bundling - Added automated GitHub Actions workflows for building and releasing
- Improved
.gitignoreto excludelib/and includedist/
Development Workflow
- Added
prepare-release.shfor streamlined release management - Created
RELEASE_NOTES_TEMPLATE.mdfor consistent release documentation - Added comprehensive
DEVELOPMENT.mdguide - 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.mdFor Contributors
- Update your workflow: Use
./build.shinstead of manualnpm run build - Use release script: Run
./prepare-release.shfor releases - Check dist/ folder: Verify
dist/index.jsexists after building
🧰 For Developers
New Scripts
./build.sh- Complete build with validation./prepare-release.sh- Automated release preparationnpm 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.mdAdvanced 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