Files
composite-actions/README.md
严浩 661c7b87c1 Feat/surge customizable dirs (#49)
* feat: Allow customizing working_dir and dist_dir for Surge deployment

This commit introduces two new optional inputs to the `deploy-dist-to-surge` action:

- `working_dir`: Specifies the directory from which the Surge command should be run. Defaults to the repository root (`.`).
- `dist_dir`: Specifies the directory containing the built assets to deploy, relative to `working_dir`. Defaults to `dist`.

These changes provide more flexibility for projects where the build output is not in the default `dist` folder at the root of the repository.

Updated README.md with details on the new inputs and an example usage.

* feat: Allow customizing working_dir and dist_dir for Surge deployment

This commit introduces two new optional inputs to the `deploy-dist-to-surge` action:

- `working_dir`: Specifies the directory from which the Surge command should be run. Defaults to the repository root (`.`).
- `dist_dir`: Specifies the directory containing the built assets to deploy, relative to `working_dir`. Defaults to `dist`.

These changes provide more flexibility for projects where the build output is not in the default `dist` folder at the root of the repository.

Updated README.md with details on the new inputs and an example usage.
Also updated the test workflow `.github/workflows/deploy-dist-to-surge-tetst.yaml` to utilize and verify these new inputs.

* feat: 支持唯一测试域名并更新中文描述

此提交为 `deploy-dist-to-surge` 操作引入了 `domain_suffix` 输入,以允许在同一工作流程中为多次部署生成唯一的 Surge 域名,这对于测试至关重要。

同时包含先前对 `working_dir` 和 `dist_dir` 输入的支持,并更新了 `action.yml` 和 `README.md` 中的所有相关描述为中文。

测试工作流程已更新以使用 `domain_suffix` 并验证自定义目录和默认目录的部署。

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-07-05 11:56:31 +08:00

68 lines
2.7 KiB
Markdown

# GitHub Actions Collection
This repository contains a collection of reusable GitHub Actions.
## Actions
### Deploy dist to Surge (`deploy-dist-to-surge`)
Deploys a distribution folder (typically `dist/`) to Surge.sh.
#### Inputs
| 名称 | 描述 | 是否必须 | 默认值 |
|---------------|-----------------------------------------------------------------------------------------------------------------|----------|---------|
| `working_dir` | 执行 Surge 部署的工作目录。默认为仓库根目录。 | `false` | `.` |
| `dist_dir` | 包含要部署的构建产物的目录。如果指定了 `working_dir`,则相对于 `working_dir`,否则相对于仓库根目录。 | `false` | `dist` |
| `domain_suffix` | 部署时用于创建唯一域名的后缀(例如,用于在同一工作流程中测试多个实例)。最终域名将是 `<sha><suffix>.surge.sh`。 | `false` | `''` |
| `surge_token` | **已弃用.** 用于部署的 Surge 令牌。建议在工作流程中将其设置为环境变量 `SURGE_TOKEN`。 | `false` | (从 `SURGE_TOKEN` 环境变量读取,如果未设置则使用硬编码令牌) |
#### Outputs
| Name | Description |
|-------|------------------|
| `url` | The Preview URL. |
#### Example Usage
```yaml
name: Deploy to Surge
on: [push]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
# Assuming your build process outputs to 'build_output' inside 'frontend' directory
- name: Build application
run: |
cd frontend
npm install
npm run build
- name: Deploy to Surge
uses: YOUR_USERNAME/YOUR_REPONAME/deploy-dist-to-surge@main # Replace with your actual repo path
with:
working_dir: frontend
dist_dir: build_output
env:
SURGE_TOKEN: ${{ secrets.SURGE_TOKEN }} # Recommended way to provide the token
```
### Other Actions
- **`docker-build-push`**: Builds and pushes Docker images.
- **`npm-build-fix-to-nexus`**: Builds and fixes NPM packages for Nexus.
- **`setup-node-environment`**: Sets up a Node.js environment.
- **`upload-to-alist`**: Uploads files to Alist.
---
*Original reference note (can be removed or integrated elsewhere):*
- https://github.com/renovatebot/renovate/blob/81fc75630b0b43fb4b89a0b65c1086d487e65d2e/.github/actions/setup-node/action.yml