mirror of
https://github.com/ant-design/ant-design.git
synced 2025-01-18 06:03:38 +08:00
ci: timed check for dependency updates (#45593)
* # This is a combination of 2 commits. # This is the 1st commit message: chore: add npm-check-updates # The commit message #2 will be skipped: # fixup! chore: add npm-check-updates (cherry picked from commit f62e034897b7398ba304738433ddbe022147e6c0) * ci: add upgrade-deps workflow (cherry picked from commit 0a4a2827b59155757809f80450acfb7e5f63f4b3) * chore: update rule * chore: update * chore: rename * chore: update
This commit is contained in:
parent
b888f69152
commit
bcd8a7823e
60
.github/workflows/upgrade-deps.yml
vendored
Normal file
60
.github/workflows/upgrade-deps.yml
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
name: Upgrade Dependencies
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 18 * * *" # every day at 18:00 UTC
|
||||
# - timezone: Asia/Shanghai # not supported yet https://github.com/orgs/community/discussions/13454
|
||||
|
||||
jobs:
|
||||
upgrade-deps:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/master'
|
||||
permissions:
|
||||
pull-requests: write # for peter-evans/create-pull-request to create PRs
|
||||
contents: write # for git push
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: |
|
||||
.github
|
||||
.ncurc.js
|
||||
package.json
|
||||
|
||||
- name: setup node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18
|
||||
|
||||
- name: upgrade deps
|
||||
id: upgrade
|
||||
run: |
|
||||
if [ ! -d .tmp ] ; then
|
||||
mkdir .tmp
|
||||
fi
|
||||
$(npx npm-check-updates -u > .tmp/upgrade-deps-logs.txt) 2>&1 || true
|
||||
if [ -s .tmp/upgrade-deps-logs.txt ]; then
|
||||
cat .tmp/upgrade-deps-logs.txt
|
||||
echo "logs<<EOF" >> $GITHUB_OUTPUT
|
||||
cat .tmp/upgrade-deps-logs.txt >> $GITHUB_OUTPUT
|
||||
echo "EOF" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: create pull request
|
||||
id: cpr
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }} # Cannot be default!!!
|
||||
assignees: 'afc163, zombieJ, xrkffgg, MadCcc'
|
||||
title: "chore: upgrade deps"
|
||||
commit-message: "chore: upgrade deps"
|
||||
body: |
|
||||
Upgrade dependencies
|
||||
|
||||
```
|
||||
${{ steps.upgrade.outputs.logs }}
|
||||
```
|
||||
branch: auto-upgrade-deps
|
||||
delete-branch: true
|
||||
add-paths: |
|
||||
package.json
|
29
.ncurc.js
Normal file
29
.ncurc.js
Normal file
@ -0,0 +1,29 @@
|
||||
// doc: https://github.com/raineorshine/npm-check-updates/tree/v16.14.6#readme
|
||||
const path = require('path');
|
||||
|
||||
const rcOrg = ['@rc-component/', 'rc-'];
|
||||
const check = ['@ant-design/', ...rcOrg];
|
||||
|
||||
// rules: https://github.com/ant-design/ant-design/pull/45593#issuecomment-1784891887
|
||||
module.exports = {
|
||||
packageFile: path.resolve(__dirname, './package.json'),
|
||||
upgrade: false, // use `npx npm-check-updates -u` to upgrade
|
||||
packageManager: 'npm',
|
||||
dep: ['prod'], // check only prod dependencies
|
||||
// https://github.com/raineorshine/npm-check-updates#filter
|
||||
filter: (name) => check.some((prefix) => name.startsWith(prefix)),
|
||||
// https://github.com/raineorshine/npm-check-updates#target
|
||||
target: (name, semver) => {
|
||||
const { operator } = semver[0] ?? {};
|
||||
|
||||
// rc-component
|
||||
if (rcOrg.some((prefix) => name.startsWith(prefix))) {
|
||||
// `^` always upgrade latest, otherwise follow semver.
|
||||
if (operator === '^') {
|
||||
return 'latest';
|
||||
}
|
||||
}
|
||||
|
||||
return 'semver';
|
||||
},
|
||||
};
|
Loading…
Reference in New Issue
Block a user