Pixi Diff 转 Markdown
Pixi Diff-to-markdown
你可以将 GitHub Actions 与 pavelzw/pixi-diff-to-markdown 结合使用,自动更新 lockfile,类似于其他生态系统中的 dependabot 或 renovate。

Dependabot/Renovate 对 pixi 的支持
你可以在 dependabot/dependabot-core #2227 跟踪对 pixi 的原生 Dependabot 支持。
如何使用#
首先,在你的仓库中创建一个新的 GitHub Actions workflow 文件。
name: Update lockfiles
permissions: # (1)!
contents: write
pull-requests: write
on:
workflow_dispatch:
schedule:
- cron: 0 5 1 * * # (2)!
jobs:
pixi-update:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up pixi
uses: prefix-dev/setup-pixi@v0.8.3
with:
run-install: false
- name: Update lockfiles
run: |
set -o pipefail
pixi update --json | pixi exec pixi-diff-to-markdown >> diff.md
- name: Create pull request
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: Update pixi lockfile
title: Update pixi lockfile
body-path: diff.md
branch: update-pixi
base: main
labels: pixi
delete-branch: true
add-paths: pixi.lock
peter-evans/create-pull-request所需- 在每月 1 日 05:00 运行
为了让此 workflow 正常工作,你需要将"Allow GitHub Actions to create and approve pull requests"设置为 true(在仓库设置的"Actions"->"General"中)。
Tip
如果你没有任何 pypi-dependencies,你可以使用 pixi update --json --no-install 来加速 diff 生成。

在自动化的 PR 中触发 CI#
为了防止意外的递归 GitHub Workflow 运行,GitHub 决定在使用默认 GITHUB_TOKEN 的自动化 PR 上不触发任何 workflow。
有几种方法可以解决这个限制。你可以在 peter-evans/create-pull-request 中找到出色的文档,参见此处。
自定义摘要#
你可以通过使用 pixi-diff-to-markdown 的命令行参数或在 pixi.toml 中的 [tool.pixi-diff-to-markdown] 下指定配置来自定义摘要。请参阅 pixi-diff-to-markdown 文档 或运行 pixi-diff-to-markdown --help 获取更多信息。
使用可重用的 workflow#
如果你想在组织中的多个仓库中使用相同的 workflow,你可以创建一个可重用的 workflow。 你可以在 GitHub 文档 中找到更多信息。