Skip to content
Open
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
77 changes: 77 additions & 0 deletions .github/workflows/peft-quick-start.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# peft quick start guard - project thin trigger.
#
# Calls the common engine .github/workflows/quick-start-template.yml;
# this file only declares what varies per project: schedule,
# concurrency, runner, container image + options, upstream repo,
# monitored doc, and the test entry command. The guard loop, cache
# I/O, state relay and publishing all live in the engine. See the
# engine's `workflow_call.inputs` block for the full input contract.

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
container_options: >-
--volume=/root/.cache/modelscope:/root/.cache/modelscope
# 60 min budget. Caveat: cold-cache download of Qwen2.5-3B-Instruct
# observed ~80 min on linux-aarch64-a2-1 at ~1.2 MB/s, so a fresh
# cache still times out here. Hot-cache runs (post warm-up) finish
# in <5 min and use the full budget for safety.
timeout_minutes: 60
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
770 changes: 770 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.rst
sources/roll/index.rst
sources/torchtitan/index.rst
sources/trl/index.rst
Expand Down
15 changes: 15 additions & 0 deletions sources/peft/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
peft
====

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

.. toctree::
:maxdepth: 2

quick_start

外部链接
--------

- GitHub:`huggingface/peft <https://github.com/huggingface/peft>`_
- 文档中心:`PEFT Docs <https://huggingface.co/docs/peft>`_
Loading
Loading