Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions .github/workflows/peft-quick-start.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# peft quick start guard - project thin trigger.
#
# Calls the common engine .github/workflows/quick-start-template.yml;

name: peft-quick-start

concurrency:
# format() is load-bearing: a '||' between 'manual-' and
# github.run_id would short-circuit on the truthy literal and
# every dispatch would share one 'manual-' group.
group: ${{ github.event_name == 'schedule' && 'peft-quick-start-schedule' || format('manual-{0}', github.run_id) }}
# cancel-in-progress: false because (1) a schedule run cancelled
# mid-way loses its outcome writeback - the outcome is what makes
# the retry mechanism work, and the 'if: always()' guard isn't
# enough when the container is being torn down; (2) dispatch / PR
# runs already live in unique groups so there's nothing to cancel.
cancel-in-progress: false

on:
schedule:
# Run every 3 hours: '30 */3 * * *' fires at minute 30 of every
# 3rd hour (00:30, 03:30, 06:30, ..., 21:30). GitHub Actions caps
# schedule at 5 min minimum, so tighter cadences need
# workflow_dispatch instead.
- cron: '30 */3 * * *'
workflow_dispatch:
# PR trigger: docs/tests changes get a guard run. paths filter avoids burning
# the self-hosted NPU runner on unrelated PRs. `pull_request` (not
# `pull_request_target`): contents: read is enough, no write-token risk.
pull_request:
branches: [main]
paths:
- 'sources/peft/**'
- 'tests/peft/**'

permissions:
contents: read

jobs:
peft-quick-start:
uses: ./.github/workflows/quick-start-template.yml
with:
# Namespaces cache keys (monitor-state-peft-*), artifacts
# (peft-quick-start-<run_id>) and the test working dir
# (workflows/tests/peft).
project: peft
# Self-hosted NPU runner for the test job only; the engine pins
# the cache I/O jobs (restore-cache / publish-and-persist) to
# GitHub-hosted ubuntu-latest.
test_runner: '["linux-aarch64-a2-1"]'
image: swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:9.1.0-910b-ubuntu22.04-py3.12
# 2 h budget. Cold-cache download of Qwen2.5-3B-Instruct observed
# ~80 min on linux-aarch64-a2-1 at ~1.2 MB/s; with the redundant
# container bind-mount removed (NFS already mounts /root/.cache),
# a fresh cache needs the full 80 min for the missing shard.
# Hot-cache runs (post warm-up) finish in <5 min and use a small
# fraction of this budget.
timeout_minutes: 120
upstream_repo: huggingface/peft
# Doc URL points to the upstream Ascend/docs repo. {0} is filled by the
# engine: PR head SHA on PR runs, 'main' otherwise. Same-repo PRs (head
# SHA exists on Ascend/docs) test the PR-version of the doc; fork PRs
# (head SHA on a fork) 404 on doc fetch - accepted, since the content
# lands on Ascend/docs post-merge.
doc_url: 'https://raw.githubusercontent.com/Ascend/docs/{0}/sources/peft/quick_start.md'
doc_path: https://github.com/Ascend/docs/blob/main/sources/peft/quick_start.md
# cwd is the repo root inside the `workflows` checkout (matches
# engine template's `working-directory: workflows`); env contract
# (MONITORED_DOC_URL / UPSTREAM_REF / NPU_READY) is injected by the
# engine. All project env prep and installs live in the test
# subclass's prepare_environment hook.
test_command: python -m unittest tests.peft.test_quick_start_ascend -v 2>&1
771 changes: 771 additions & 0 deletions .github/workflows/quick-start-template.yml

Large diffs are not rendered by default.

46 changes: 46 additions & 0 deletions .github/workflows/schemas/result.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://github.com/Ascend/ascend_docs/blob/main/.github/workflows/schemas/result.schema.json",
"title": "Guard job result",
"description": "Machine-readable result.json uploaded by every example or quick-start job, success or failure.",
"type": "object",
"required": [
"trigger",
"target_repo",
"target_ref",
"path",
"image",
"job_status"
],
"properties": {
"trigger": {
"type": "string",
"description": "How this run was started. Typical values: workflow_dispatch, schedule."
},
"target_repo": {
"type": "string",
"pattern": "^[^/]+/[^/]+$",
"description": "Repository that was checked out and tested, owner/name."
},
"target_ref": {
"type": "string",
"minLength": 1,
"description": "Branch, tag, or SHA that was tested."
},
"path": {
"type": "string",
"minLength": 1,
"description": "Example script or documented path that this job exercised."
},
"image": {
"type": "string",
"minLength": 1,
"description": "Container image used to run the job."
},
"job_status": {
"type": "string",
"enum": ["success", "failure", "cancelled"],
"description": "GitHub job conclusion for this result."
}
}
}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ sources/pytorch/api_doc.rst
.tasks/
venv/
_static/ascend_config.json
__pycache__/
*.pyc
*.pyo
3 changes: 2 additions & 1 deletion conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,8 @@
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', '.venv', 'README.md']
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', '.venv', 'README.md',
'.github', 'tests']


# -- Options for HTML output -------------------------------------------------
Expand Down
1 change: 1 addition & 0 deletions index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,7 @@

sources/LLaMA-Factory/index.rst
sources/ms-swift/index.rst
sources/peft/index.md
sources/roll/index.rst
sources/torchtitan/index.rst
sources/trl/index.rst
Expand Down
6 changes: 6 additions & 0 deletions sources/peft/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# peft

peft 通用文档由 huggingface 官方维护。本页收录 Ascend NPU 适配的快速上手。

```{include} quick_start.md
```
Loading
Loading