forked from shadow/shadow
-
Notifications
You must be signed in to change notification settings - Fork 0
44 lines (38 loc) · 1.7 KB
/
Copy pathci_maintenance.yml
File metadata and controls
44 lines (38 loc) · 1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
name: CI Maintenance
permissions:
issues: write
on:
schedule:
# once every 4 months (Feb, June, Oct)
- cron: '0 0 1 2,6,10 *'
# run manually from the GitHub Actions webpage
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v8
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
github.rest.issues.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: 'Update versions of tools used in CI',
labels: ['Component: Testing', 'Priority: Low', 'Type: Maintenance'],
body:
`The Shadow CI environment has hard-coded versions of some tools. These versions should be periodically updated, and any compatibility issues fixed.
- rust default stable version (\`ci/rust-toolchain-stable.toml\`)
- rust default nightly version (\`ci/rust-toolchain-nightly.toml\`)
- python version for the python lint (\`.github/workflows/lint.yml\`)
- tor and tgen versions for the tor tests (\`.github/workflows/extra_tests.yml\`)
- versions of github actions (\`uses: <action-name@version>\` in \`.github/workflows/*.yml\`)
Shadow's dependencies may also need to be updated.
\`\`\`bash
# The cargo \`upgrade\` subcommand requires \`cargo install cargo-edit\`. \`cargo upgrade\`
# won't update the lock file for all dependencies, so \`cargo update\` is also needed.
cd src && cargo upgrade --incompatible && cargo update
\`\`\`
*This issue is automatically generated every 4 months by the workflow "${{ github.workflow }}".*
`
})