Skip to content

Commit 13eae5b

Browse files
authored
chore: refactor updatecli workflow (#2596)
* chore: refactor updatecli workflow Signed-off-by: Olblak <me@olblak.com> * chore: enable experimental Signed-off-by: Olblak <me@olblak.com> * chore: add labels to updatecli manifest Signed-off-by: Olblak <me@olblak.com> * chore: add typos ignore rule Signed-off-by: Olblak <me@olblak.com> * chore: refactor updatecli workflow Signed-off-by: Olblak <me@olblak.com> --------- Signed-off-by: Olblak <me@olblak.com>
1 parent c1b1b11 commit 13eae5b

File tree

11 files changed

+173
-94
lines changed

11 files changed

+173
-94
lines changed

.github/workflows/updatecli.weekly.yaml

Lines changed: 0 additions & 39 deletions
This file was deleted.

.github/workflows/updatecli.yaml

Lines changed: 13 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,29 @@
1-
---
21
name: Updatecli
32
on:
4-
merge_group:
5-
branch: master
3+
release:
64
workflow_dispatch:
7-
push:
8-
branches: [master]
9-
pull_request:
10-
branches: [master]
115
schedule:
12-
# * is a special character in YAML so you have to quote this string
13-
# Run every hour
14-
- cron: '0 * * * *'
15-
# Commenting until https://github.com/orgs/community/discussions/41518
16-
# is fixed
17-
#concurrency:
18-
# # Restrict to one workflow per branch
19-
# group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
20-
# cancel-in-progress: true
6+
# Run at 12:00 every Saterday every 14 days
7+
- cron: "0 12 */14 * *"
8+
219
jobs:
2210
updatecli:
2311
runs-on: ubuntu-latest
2412
steps:
2513
- name: "Checkout"
26-
uses: "actions/checkout@v4"
27-
- name: "Install Updatecli"
28-
uses: "updatecli/updatecli-action@v2.98.0"
14+
uses: "actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3" # v6.0.0
15+
16+
- name: "Setup updatecli"
17+
uses: "updatecli/updatecli-action@5ca36367fadc6ad94d590984fd9c696e783ec635" # v2.96.0
2918
with:
3019
version: "v0.114.0"
31-
- name: "Run updatecli in dryrun"
32-
run: "updatecli compose diff"
33-
env:
34-
GITHUB_ACTOR: ${{ github.actor }}
35-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36-
- name: "Login Udash"
37-
if: github.ref == 'refs/heads/master'
38-
run: "updatecli udash login --experimental --api-url $UPDATECLI_UDASH_API_URL --oauth-access-token $UPDATECLI_UDASH_ACCESS_TOKEN $UPDATECLI_UDASH_URL"
39-
env:
40-
UPDATECLI_UDASH_API_URL: ${{ secrets.UPDATECLI_UDASH_API_URL }}
41-
UPDATECLI_UDASH_ACCESS_TOKEN: ${{ secrets.UPDATECLI_UDASH_ACCESS_TOKEN }}
42-
UPDATECLI_UDASH_URL: ${{ secrets.UPDATECLI_UDASH_URL }}
20+
4321
- name: "Run updatecli"
44-
if: github.ref == 'refs/heads/master'
45-
run: "updatecli compose apply --clean-git-branches=true --experimental"
22+
run: updatecli compose apply --clean-git-branches=true --experimental
4623
env:
4724
UPDATECLI_GITHUB_APP_CLIENT_ID: ${{ secrets.UPDATECLIBOT_APP_ID }}
4825
UPDATECLI_GITHUB_APP_PRIVATE_KEY: ${{ secrets.UPDATECLIBOT_APP_PRIVKEY }}
4926
UPDATECLI_GITHUB_APP_INSTALLATION_ID: ${{ secrets.UPDATECLIBOT_APP_INSTALLATION_ID }}
27+
UPDATECLI_UDASH_API_URL: ${{ secrets.UPDATECLI_UDASH_API_URL }}
28+
UPDATECLI_UDASH_ACCESS_TOKEN: ${{ secrets.UPDATECLI_UDASH_ACCESS_TOKEN }}
29+
UPDATECLI_UDASH_URL: ${{ secrets.UPDATECLI_UDASH_URL }}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
name: Updatecli Release
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
# * is a special character in YAML so you have to quote this string
7+
# Run at 12:00 every Thursday
8+
- cron: "0 12 * * 4"
9+
repository_dispatch:
10+
types:
11+
- "updatecli-release"
12+
jobs:
13+
updatecli:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: "Checkout"
17+
uses: "actions/checkout@v4"
18+
19+
- name: "Install Updatecli"
20+
uses: "updatecli/updatecli-action@v2.96.0"
21+
with:
22+
version: "v0.114.0"
23+
24+
# releasepost is required by the Updatecli
25+
# * policy ghcr.io/updatecli/policies/releasepost/releasepost
26+
- name: "Install Releasepost"
27+
uses: "updatecli/releasepost-action@v0.5.0"
28+
29+
- name: "Run updatecli only on release pipelines"
30+
run: updatecli compose apply --clean-git-branches=true --labels="event:release" --experimental
31+
env:
32+
UPDATECLI_GITHUB_APP_CLIENT_ID: ${{ secrets.UPDATECLIBOT_APP_ID }}
33+
UPDATECLI_GITHUB_APP_PRIVATE_KEY: ${{ secrets.UPDATECLIBOT_APP_PRIVKEY }}
34+
UPDATECLI_GITHUB_APP_INSTALLATION_ID: ${{ secrets.UPDATECLIBOT_APP_INSTALLATION_ID }}
35+
UPDATECLI_UDASH_API_URL: ${{ secrets.UPDATECLI_UDASH_API_URL }}
36+
UPDATECLI_UDASH_ACCESS_TOKEN: ${{ secrets.UPDATECLI_UDASH_ACCESS_TOKEN }}
37+
UPDATECLI_UDASH_URL: ${{ secrets.UPDATECLI_UDASH_URL }}
38+
39+
- name: "Run updatecli"
40+
run: "updatecli compose apply --file updatecli-compose-release.yaml --experimental"
41+
env:
42+
RELEASEPOST_GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
43+
UPDATECLI_GITHUB_APP_CLIENT_ID: ${{ secrets.UPDATECLIBOT_APP_ID }}
44+
UPDATECLI_GITHUB_APP_PRIVATE_KEY: ${{ secrets.UPDATECLIBOT_APP_PRIVKEY }}
45+
UPDATECLI_GITHUB_APP_INSTALLATION_ID: ${{ secrets.UPDATECLIBOT_APP_INSTALLATION_ID }}
46+
UPDATECLI_UDASH_API_URL: ${{ secrets.UPDATECLI_UDASH_API_URL }}
47+
UPDATECLI_UDASH_ACCESS_TOKEN: ${{ secrets.UPDATECLI_UDASH_ACCESS_TOKEN }}
48+
UPDATECLI_UDASH_URL: ${{ secrets.UPDATECLI_UDASH_URL }}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Updatecli Test
2+
3+
on:
4+
pull_request:
5+
6+
permissions:
7+
contents: read
8+
9+
jobs:
10+
updatecli:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: "Checkout"
14+
uses: "actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3" # v6.0.0
15+
16+
- name: "Setup updatecli"
17+
uses: "updatecli/updatecli-action@5ca36367fadc6ad94d590984fd9c696e783ec635" # v2.96.0
18+
with:
19+
version: "v0.114.0"
20+
21+
- name: "Test updatecli in dry-run mode"
22+
run: "updatecli compose diff --experimental"
23+
env:
24+
# This step is executed in untrusted context. We use a GitHub token with minimal permissions.
25+
UPDATECLI_GITHUB_USERNAME: ${{ github.actor }}
26+
UPDATECLI_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Updatecli - Update
2+
on:
3+
workflow_dispatch:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
updatecli:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: "Checkout"
13+
uses: "actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3" # v6.0.0
14+
15+
- name: "Setup updatecli"
16+
uses: "updatecli/updatecli-action@5ca36367fadc6ad94d590984fd9c696e783ec635" # v2.96.0
17+
with:
18+
version: "v0.114.0"
19+
20+
- name: "Run updatecli only on monitored pipelines"
21+
run: updatecli compose apply --clean-git-branches=true --labels="monitoring:enabled" --experimental
22+
env:
23+
UPDATECLI_GITHUB_APP_CLIENT_ID: ${{ secrets.UPDATECLIBOT_APP_ID }}
24+
UPDATECLI_GITHUB_APP_PRIVATE_KEY: ${{ secrets.UPDATECLIBOT_APP_PRIVKEY }}
25+
UPDATECLI_GITHUB_APP_INSTALLATION_ID: ${{ secrets.UPDATECLIBOT_APP_INSTALLATION_ID }}
26+
UPDATECLI_UDASH_API_URL: ${{ secrets.UPDATECLI_UDASH_API_URL }}
27+
UPDATECLI_UDASH_ACCESS_TOKEN: ${{ secrets.UPDATECLI_UDASH_ACCESS_TOKEN }}
28+
UPDATECLI_UDASH_URL: ${{ secrets.UPDATECLI_UDASH_URL }}
29+
30+
- name: "Run updatecli only on existing pipelines"
31+
run: updatecli compose apply --clean-git-branches=true --existing-only=true --experimental
32+
env:
33+
UPDATECLI_GITHUB_APP_CLIENT_ID: ${{ secrets.UPDATECLIBOT_APP_ID }}
34+
UPDATECLI_GITHUB_APP_PRIVATE_KEY: ${{ secrets.UPDATECLIBOT_APP_PRIVKEY }}
35+
UPDATECLI_GITHUB_APP_INSTALLATION_ID: ${{ secrets.UPDATECLIBOT_APP_INSTALLATION_ID }}
36+
UPDATECLI_UDASH_API_URL: ${{ secrets.UPDATECLI_UDASH_API_URL }}
37+
UPDATECLI_UDASH_ACCESS_TOKEN: ${{ secrets.UPDATECLI_UDASH_ACCESS_TOKEN }}
38+
UPDATECLI_UDASH_URL: ${{ secrets.UPDATECLI_UDASH_URL }}

_typos.toml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
[files]
2-
extend-exclude = ["static/*", "assets/*", "vendor", "content/en/schema", "vale"]
2+
extend-exclude = [
3+
"static/*",
4+
"assets/*",
5+
"vendor",
6+
"content/en/schema",
7+
"vale",
8+
"content/en/changelogs/updatecli/changelogs/v0.87.0.adoc",
9+
]
310

411
[default]
5-
extend-ignore-identifiers-re = ["equirements","stderr"]
12+
extend-ignore-identifiers-re = ["equirements", "stderr"]
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
policies:
2+
- name: Local policies
3+
config:
4+
- updatecli/updatecli.d/
5+
values:
6+
- updatecli/values.d/scm.yaml
7+
28
- name: Trigger releasepost
39
policy: ghcr.io/updatecli/policies/releasepost/releasepost:0.10.0@sha256:b4b857efbed3a966cbdbc224b5ba0b9322c96322effa0cedff93a2b39d8e086d
410
values:

updatecli/updatecli.d/docs.yaml

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
name: "docs: update Updatecli cli documentation"
2-
32
pipelineid: cli_docs
43

4+
labels:
5+
event: release
6+
monitoring: enable
7+
58
actions:
69
default:
710
kind: github/pullrequest
@@ -18,13 +21,13 @@ scms:
1821
default:
1922
kind: github
2023
spec:
21-
branch: master
22-
email: updatecli@olblak.com
23-
owner: updatecli
24-
repository: website
25-
user: updatecli
24+
branch: "{{ .scm.branch }}"
25+
email: "{{ .scm.email }}"
26+
owner: "{{ .scm.owner }}"
27+
repository: "{{ .scm.repository }}"
28+
user: "{{ .scm.user }}"
2629
force: true
27-
commitusingapi: true
30+
commitusingapi: {{ scm.commitusingapi }}
2831
disabled: false
2932

3033
targets:

updatecli/updatecli.d/installation.yaml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
name: "docs: update Updatecli version throughout the documentation"
22
pipelineid: updatecli/version
33

4+
labels:
5+
event: release
6+
monitoring: enable
7+
48
actions:
59
default:
610
kind: github/pullrequest
@@ -17,12 +21,13 @@ scms:
1721
default:
1822
kind: github
1923
spec:
20-
branch: master
21-
email: updatecli@olblak.com
22-
owner: updatecli
23-
repository: website
24-
user: updatecli
25-
commitusingapi: true
24+
branch: "{{ .scm.branch }}"
25+
email: "{{ .scm.email }}"
26+
owner: "{{ .scm.owner }}"
27+
repository: "{{ .scm.repository }}"
28+
user: "{{ .scm.user }}"
29+
force: true
30+
commitusingapi: {{ scm.commitusingapi }}
2631
disabled: false
2732

2833
sources:

updatecli/updatecli.d/jsonschema.yaml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
pipelineid: jsonschema
22
name: "docs: update Updatecli jsonschema"
33

4+
labels:
5+
event: release
6+
monitoring: enable
7+
48
actions:
59
default:
610
kind: github/pullrequest
@@ -18,12 +22,13 @@ scms:
1822
default:
1923
kind: github
2024
spec:
21-
branch: master
22-
email: updatecli@olblak.com
23-
owner: updatecli
24-
repository: website
25-
user: updatecli
26-
commitusingapi: true
25+
branch: "{{ .scm.branch }}"
26+
email: "{{ .scm.email }}"
27+
owner: "{{ .scm.owner }}"
28+
repository: "{{ .scm.repository }}"
29+
user: "{{ .scm.user }}"
30+
force: true
31+
commitusingapi: {{ scm.commitusingapi }}
2732
disabled: false
2833

2934
targets:

0 commit comments

Comments
 (0)