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

2.7 KiB

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

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):