Skip to content

Commit 89fccc6

Browse files
committed
Merge branch 'release/1.1.1'
2 parents 2d97a9a + f63f691 commit 89fccc6

19 files changed

+129
-87
lines changed

.github/workflows/release.yml

Lines changed: 18 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -80,48 +80,24 @@ jobs:
8080
echo "⚠️ No RELEASE_NOTES.md found, generating basic release notes"
8181
8282
# Generate basic release notes as fallback
83-
cat > RELEASE_NOTES.md << 'EOF'
84-
## 🚀 GH OBS Helper Release ${{ steps.tag.outputs.tag }}
85-
86-
### Release Information
87-
This is an automated release of the GH OBS Helper.
88-
89-
### 🛠️ Usage
90-
```yaml
91-
- name: Upload to OBS
92-
id: upload
93-
uses: diverger/gh-obs-helper@${{ steps.tag.outputs.tag }}
94-
with:
95-
access_key: ${{ secrets.OBS_ACCESS_KEY }}
96-
secret_key: ${{ secrets.OBS_SECRET_KEY }}
97-
region: 'cn-north-4'
98-
bucket: 'my-bucket'
99-
operation: 'upload'
100-
local_path: 'dist/**/*'
101-
obs_path: 'releases/${{ steps.tag.outputs.tag }}/'
102-
public_read: true
103-
104-
- name: Use uploaded file URLs
105-
run: |
106-
echo "First file URL: ${{ steps.upload.outputs.first_upload_url }}"
107-
echo "All URLs: ${{ steps.upload.outputs.upload_urls }}"
108-
```
109-
110-
### 📋 Available Operations
111-
- `upload`: Upload files to OBS
112-
- `download`: Download files from OBS
113-
- `sync`: Synchronize local and OBS directories
114-
- `create-bucket`: Create a new OBS bucket
115-
- `delete-bucket`: Delete an OBS bucket
116-
117-
### 📋 Parameters
118-
- `local_path`: Local file/directory paths (supports wildcards)
119-
- `obs_path`: OBS object path/prefix
120-
- `operation`: The operation to perform
121-
122-
### 📝 Note
123-
For detailed release notes, create a `RELEASE_NOTES.md` file in the repository root before creating the release tag.
124-
EOF
83+
echo "## 🚀 GH OBS Helper Release ${{ steps.tag.outputs.tag }}" > RELEASE_NOTES.md
84+
echo "" >> RELEASE_NOTES.md
85+
echo "### Release Information" >> RELEASE_NOTES.md
86+
echo "This is an automated release of the GH OBS Helper." >> RELEASE_NOTES.md
87+
echo "" >> RELEASE_NOTES.md
88+
echo "### Available Operations" >> RELEASE_NOTES.md
89+
echo "- upload: Upload files to OBS" >> RELEASE_NOTES.md
90+
echo "- download: Download files from OBS" >> RELEASE_NOTES.md
91+
echo "- sync: Synchronize local and OBS directories" >> RELEASE_NOTES.md
92+
echo "- create-bucket: Create a new OBS bucket" >> RELEASE_NOTES.md
93+
echo "- delete-bucket: Delete an OBS bucket" >> RELEASE_NOTES.md
94+
echo "" >> RELEASE_NOTES.md
95+
echo "### New Features" >> RELEASE_NOTES.md
96+
echo "- Automatic URL generation for uploaded files" >> RELEASE_NOTES.md
97+
echo "- Support for both public and private file URLs" >> RELEASE_NOTES.md
98+
echo "- JSON array and convenience single URL outputs" >> RELEASE_NOTES.md
99+
echo "" >> RELEASE_NOTES.md
100+
echo "For detailed release notes, create a RELEASE_NOTES.md file before creating the release tag." >> RELEASE_NOTES.md
125101
fi
126102
127103
- name: Create GitHub Release

.github/workflows/test-all.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ on:
3535

3636
env:
3737
OBS_BUCKET: ${{ inputs.bucket }}
38-
OBS_KEY_ID: ${{ secrets.OBS_KEY_ID }}
39-
OBS_KEY_SECRET: ${{ secrets.OBS_KEY_SECRET }}
38+
OBS_ACCESS_KEY: ${{ secrets.OBS_ACCESS_KEY }}
39+
OBS_SECRET_KEY: ${{ secrets.OBS_SECRET_KEY }}
4040
OBS_REGION: ${{ inputs.region || 'cn-north-4' }}
4141

4242
jobs:
@@ -117,8 +117,8 @@ jobs:
117117
- name: Test Upload - ${{ matrix.test_case.name }}
118118
uses: ./
119119
with:
120-
access_key: ${{ env.OBS_KEY_ID }}
121-
secret_key: ${{ env.OBS_KEY_SECRET }}
120+
access_key: ${{ env.OBS_ACCESS_KEY }}
121+
secret_key: ${{ env.OBS_SECRET_KEY }}
122122
region: ${{ env.OBS_REGION }}
123123
bucket: ${{ env.OBS_BUCKET }}
124124
operation: upload
@@ -147,8 +147,8 @@ jobs:
147147
- name: Test Download Single File
148148
uses: ./
149149
with:
150-
access_key: ${{ env.OBS_KEY_ID }}
151-
secret_key: ${{ env.OBS_KEY_SECRET }}
150+
access_key: ${{ env.OBS_ACCESS_KEY }}
151+
secret_key: ${{ env.OBS_SECRET_KEY }}
152152
region: ${{ env.OBS_REGION }}
153153
bucket: ${{ env.OBS_BUCKET }}
154154
operation: download
@@ -159,8 +159,8 @@ jobs:
159159
- name: Test Download Directory
160160
uses: ./
161161
with:
162-
access_key: ${{ env.OBS_KEY_ID }}
163-
secret_key: ${{ env.OBS_KEY_SECRET }}
162+
access_key: ${{ env.OBS_ACCESS_KEY }}
163+
secret_key: ${{ env.OBS_SECRET_KEY }}
164164
region: ${{ env.OBS_REGION }}
165165
bucket: ${{ env.OBS_BUCKET }}
166166
operation: download
@@ -198,8 +198,8 @@ jobs:
198198
- name: Test Sync Upload
199199
uses: ./
200200
with:
201-
access_key: ${{ env.OBS_KEY_ID }}
202-
secret_key: ${{ env.OBS_KEY_SECRET }}
201+
access_key: ${{ env.OBS_ACCESS_KEY }}
202+
secret_key: ${{ env.OBS_SECRET_KEY }}
203203
region: ${{ env.OBS_REGION }}
204204
bucket: ${{ env.OBS_BUCKET }}
205205
operation: sync
@@ -226,8 +226,8 @@ jobs:
226226
- name: Cleanup test files from OBS
227227
uses: ./
228228
with:
229-
access_key: ${{ env.OBS_KEY_ID }}
230-
secret_key: ${{ env.OBS_KEY_SECRET }}
229+
access_key: ${{ env.OBS_ACCESS_KEY }}
230+
secret_key: ${{ env.OBS_SECRET_KEY }}
231231
region: ${{ env.OBS_REGION }}
232232
bucket: ${{ env.OBS_BUCKET }}
233233
operation: delete

.github/workflows/test-sync.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ on:
2828
type: string
2929

3030
env:
31-
OBS_KEY_ID: ${{ secrets.OBS_KEY_ID }}
32-
OBS_KEY_SECRET: ${{ secrets.OBS_KEY_SECRET }}
31+
OBS_ACCESS_KEY: ${{ secrets.OBS_ACCESS_KEY }}
32+
OBS_SECRET_KEY: ${{ secrets.OBS_SECRET_KEY }}
3333
OBS_REGION: ${{ inputs.region || 'cn-north-4' }}
3434
OBS_BUCKET: ${{ inputs.bucket }}
3535

@@ -64,8 +64,8 @@ jobs:
6464
if: inputs.sync_direction == 'local-to-remote'
6565
uses: ./
6666
with:
67-
access_key: ${{ env.OBS_KEY_ID }}
68-
secret_key: ${{ env.OBS_KEY_SECRET }}
67+
access_key: ${{ env.OBS_ACCESS_KEY }}
68+
secret_key: ${{ env.OBS_SECRET_KEY }}
6969
region: ${{ env.OBS_REGION }}
7070
bucket: ${{ env.OBS_BUCKET }}
7171
operation: sync
@@ -80,8 +80,8 @@ jobs:
8080
if: inputs.sync_direction == 'remote-to-local'
8181
uses: ./
8282
with:
83-
access_key: ${{ env.OBS_KEY_ID }}
84-
secret_key: ${{ env.OBS_KEY_SECRET }}
83+
access_key: ${{ env.OBS_ACCESS_KEY }}
84+
secret_key: ${{ env.OBS_SECRET_KEY }}
8585
region: ${{ env.OBS_REGION }}
8686
bucket: ${{ env.OBS_BUCKET }}
8787
operation: sync
@@ -95,8 +95,8 @@ jobs:
9595
if: inputs.sync_direction == 'bidirectional'
9696
uses: ./
9797
with:
98-
access_key: ${{ env.OBS_KEY_ID }}
99-
secret_key: ${{ env.OBS_KEY_SECRET }}
98+
access_key: ${{ env.OBS_ACCESS_KEY }}
99+
secret_key: ${{ env.OBS_SECRET_KEY }}
100100
region: ${{ env.OBS_REGION }}
101101
bucket: ${{ env.OBS_BUCKET }}
102102
operation: sync
@@ -119,8 +119,8 @@ jobs:
119119
if: inputs.sync_direction == 'bidirectional'
120120
uses: ./
121121
with:
122-
access_key: ${{ env.OBS_KEY_ID }}
123-
secret_key: ${{ env.OBS_KEY_SECRET }}
122+
access_key: ${{ env.OBS_ACCESS_KEY }}
123+
secret_key: ${{ env.OBS_SECRET_KEY }}
124124
region: ${{ env.OBS_REGION }}
125125
bucket: ${{ env.OBS_BUCKET }}
126126
operation: sync

.github/workflows/test-upload.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ on:
2626

2727
env:
2828
OBS_BUCKET: ${{ inputs.bucket || secrets.OBS_BUCKET }}
29-
OBS_KEY_ID: ${{ secrets.OBS_KEY_ID }}
30-
OBS_KEY_SECRET: ${{ secrets.OBS_KEY_SECRET }}
29+
OBS_ACCESS_KEY: ${{ secrets.OBS_ACCESS_KEY }}
30+
OBS_SECRET_KEY: ${{ secrets.OBS_SECRET_KEY }}
3131
OBS_REGION: ${{ inputs.region || 'cn-north-4' }}
3232

3333
jobs:
@@ -49,8 +49,8 @@ jobs:
4949
if: inputs.test_scenario == 'single-file'
5050
uses: ./
5151
with:
52-
access_key: ${{ env.OBS_KEY_ID }}
53-
secret_key: ${{ env.OBS_KEY_SECRET }}
52+
access_key: ${{ env.OBS_ACCESS_KEY }}
53+
secret_key: ${{ env.OBS_SECRET_KEY }}
5454
region: ${{ env.OBS_REGION }}
5555
bucket: ${{ env.OBS_BUCKET }}
5656
operation: upload
@@ -63,8 +63,8 @@ jobs:
6363
if: inputs.test_scenario == 'multiple-files'
6464
uses: ./
6565
with:
66-
access_key: ${{ env.OBS_KEY_ID }}
67-
secret_key: ${{ env.OBS_KEY_SECRET }}
66+
access_key: ${{ env.OBS_ACCESS_KEY }}
67+
secret_key: ${{ env.OBS_SECRET_KEY }}
6868
region: ${{ env.OBS_REGION }}
6969
bucket: ${{ env.OBS_BUCKET }}
7070
operation: upload
@@ -77,8 +77,8 @@ jobs:
7777
if: inputs.test_scenario == 'directory'
7878
uses: ./
7979
with:
80-
access_key: ${{ env.OBS_KEY_ID }}
81-
secret_key: ${{ env.OBS_KEY_SECRET }}
80+
access_key: ${{ env.OBS_ACCESS_KEY }}
81+
secret_key: ${{ env.OBS_SECRET_KEY }}
8282
region: ${{ env.OBS_REGION }}
8383
bucket: ${{ env.OBS_BUCKET }}
8484
operation: upload
@@ -92,8 +92,8 @@ jobs:
9292
if: inputs.test_scenario == 'wildcard-patterns'
9393
uses: ./
9494
with:
95-
access_key: ${{ env.OBS_KEY_ID }}
96-
secret_key: ${{ env.OBS_KEY_SECRET }}
95+
access_key: ${{ env.OBS_ACCESS_KEY }}
96+
secret_key: ${{ env.OBS_SECRET_KEY }}
9797
region: ${{ env.OBS_REGION }}
9898
bucket: ${{ env.OBS_BUCKET }}
9999
operation: upload
@@ -107,8 +107,8 @@ jobs:
107107
if: inputs.test_scenario == 'large-files'
108108
uses: ./
109109
with:
110-
access_key: ${{ env.OBS_KEY_ID }}
111-
secret_key: ${{ env.OBS_KEY_SECRET }}
110+
access_key: ${{ env.OBS_ACCESS_KEY }}
111+
secret_key: ${{ env.OBS_SECRET_KEY }}
112112
region: ${{ env.OBS_REGION }}
113113
bucket: ${{ env.OBS_BUCKET }}
114114
operation: upload

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ A high-performance GitHub Action for Huawei Cloud Object Storage Service (OBS) w
198198
| `checksum_validation` | Validate file checksums after upload | | `false` |
199199
| `storage_class` | OBS storage class (STANDARD, WARM, COLD) | | `STANDARD` |
200200
| `public_read` | Make uploaded objects public readable | | `false` |
201+
| `timeout` | Request timeout in seconds | | `300` |
201202

202203
## 📤 Outputs
203204

RELEASE_NOTES.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,46 @@
11
# Release Notes
22

3+
## 🚀 GH OBS Helper Release v1.1.1
4+
5+
### 🐛 Bug Fixes
6+
7+
#### ⏱️ **Timeout Configuration Fix**
8+
- **FIXED**: TypeScript compilation error with timeout configuration
9+
- **Enhanced**: Complete OBSConfig interface with all SDK-supported properties
10+
- **Improved**: Better type safety for timeout and retry settings
11+
12+
#### 🔧 **Technical Improvements**
13+
- Updated `OBSConfig` interface to include all optional properties:
14+
- `timeout?: number` - Request timeout in seconds
15+
- `max_retry_count?: number` - Maximum retry attempts
16+
- `region?: string` - OBS region specification
17+
- `ssl_verify?: boolean` - SSL verification settings
18+
- `path_style?: boolean` - Path-style access configuration
19+
20+
### 🛠️ Usage Example with Timeout
21+
22+
```yaml
23+
- name: Upload with custom timeout
24+
uses: diverger/[email protected]
25+
with:
26+
access_key: ${{ secrets.OBS_ACCESS_KEY }}
27+
secret_key: ${{ secrets.OBS_SECRET_KEY }}
28+
region: 'cn-north-4'
29+
bucket: 'my-bucket'
30+
operation: 'upload'
31+
local_path: 'large-files/**/*'
32+
timeout: 600 # 10 minutes for large files
33+
retry_count: 5
34+
```
35+
36+
### 🔄 Migration Notes
37+
38+
- No breaking changes from v1.1.0
39+
- Timeout functionality now works correctly without TypeScript errors
40+
- All existing workflows remain compatible
41+
42+
---
43+
344
## 🚀 GH OBS Helper Release v1.1.0
445
546
### 🎯 What's New

action.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ inputs:
6767
description: 'Make uploaded objects public readable (true/false)'
6868
required: false
6969
default: 'false'
70+
timeout:
71+
description: 'Request timeout in seconds'
72+
required: false
73+
default: '300'
7074

7175
outputs:
7276
files_processed:

dist/file-manager.d.ts.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.d.ts.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50790,7 +50790,9 @@ class OBSManager {
5079050790
const config = {
5079150791
access_key_id: this.inputs.accessKey,
5079250792
secret_access_key: this.inputs.secretKey,
50793-
server: this.getServerEndpoint()
50793+
server: this.getServerEndpoint(),
50794+
timeout: this.inputs.timeout,
50795+
max_retry_count: this.inputs.retryCount
5079450796
};
5079550797
this.client = new esdk_obs_nodejs_1.default(config);
5079650798
}
@@ -51378,7 +51380,8 @@ function getInputs() {
5137851380
progress: parseBool(core.getInput('progress'), true),
5137951381
checksumValidation: parseBool(core.getInput('checksum_validation'), false),
5138051382
storageClass: core.getInput('storage_class') || 'STANDARD',
51381-
publicRead: parseBool(core.getInput('public_read'), false)
51383+
publicRead: parseBool(core.getInput('public_read'), false),
51384+
timeout: parseInt(core.getInput('timeout'), 300)
5138251385
};
5138351386
}
5138451387
function setOutputs(result) {

0 commit comments

Comments
 (0)