bitwarden_workflow_linter 0.3.1__tar.gz → 0.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/.github/workflows/cd.yml +10 -4
  2. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/.github/workflows/enforce-labels.yml +1 -0
  3. bitwarden_workflow_linter-0.4.1/.github/workflows/update_actions.yml +118 -0
  4. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/PKG-INFO +2 -2
  5. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/README.md +1 -1
  6. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/__about__.py +1 -1
  7. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/default_actions.json +20 -0
  8. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/.editorconfig +0 -0
  9. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/.gitattributes +0 -0
  10. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/.github/CODEOWNERS +0 -0
  11. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  12. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  13. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/.github/renovate.json +0 -0
  14. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/.github/workflows/_version_type.yml +0 -0
  15. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/.github/workflows/ci.yml +0 -0
  16. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/.github/workflows/scan.yml +0 -0
  17. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/.gitignore +0 -0
  18. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/.husky/pre-commit +0 -0
  19. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/.python-version +0 -0
  20. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/CONTRIBUTING.md +0 -0
  21. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/LICENSE.txt +0 -0
  22. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/Pipfile +0 -0
  23. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/Pipfile.lock +0 -0
  24. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/SECURITY.md +0 -0
  25. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/Taskfile.yml +0 -0
  26. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/package-lock.json +0 -0
  27. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/package.json +0 -0
  28. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/pylintrc +0 -0
  29. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/pyproject.toml +0 -0
  30. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/pyproject.toml.tpl +0 -0
  31. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/settings.yaml +0 -0
  32. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/__init__.py +0 -0
  33. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/actions.py +0 -0
  34. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/cli.py +0 -0
  35. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/default_settings.yaml +0 -0
  36. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/lint.py +0 -0
  37. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/load.py +0 -0
  38. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/models/__init__.py +0 -0
  39. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/models/job.py +0 -0
  40. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/models/step.py +0 -0
  41. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/models/workflow.py +0 -0
  42. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/rule.py +0 -0
  43. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/rules/__init__.py +0 -0
  44. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/rules/job_environment_prefix.py +0 -0
  45. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/rules/name_capitalized.py +0 -0
  46. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/rules/name_exists.py +0 -0
  47. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/rules/pinned_job_runner.py +0 -0
  48. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/rules/step_approved.py +0 -0
  49. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/rules/step_pinned.py +0 -0
  50. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/rules/underscore_outputs.py +0 -0
  51. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/src/bitwarden_workflow_linter/utils.py +0 -0
  52. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/__init__.py +0 -0
  53. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/conftest.py +0 -0
  54. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/fixtures/test-alt.yml +0 -0
  55. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/fixtures/test-min-incorrect.yaml +0 -0
  56. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/fixtures/test-min.yaml +0 -0
  57. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/fixtures/test-outputs-incorrect.yml +0 -0
  58. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/fixtures/test.yml +0 -0
  59. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/fixtures/test_a.yaml +0 -0
  60. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/rules/__init__.py +0 -0
  61. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/rules/test_job_environment_prefix.py +0 -0
  62. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/rules/test_name_capitalized.py +0 -0
  63. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/rules/test_name_exists.py +0 -0
  64. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/rules/test_pinned_job_runner.py +0 -0
  65. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/rules/test_step_approved.py +0 -0
  66. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/rules/test_step_pinned.py +0 -0
  67. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/rules/test_underscore_output.py +0 -0
  68. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/test_job.py +0 -0
  69. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/test_lint.py +0 -0
  70. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/test_load.py +0 -0
  71. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/test_rule.py +0 -0
  72. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/test_step.py +0 -0
  73. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/test_utils.py +0 -0
  74. {bitwarden_workflow_linter-0.3.1 → bitwarden_workflow_linter-0.4.1}/tests/test_workflow.py +0 -0
@@ -18,11 +18,18 @@ jobs:
18
18
  version-bump:
19
19
  name: Version bump
20
20
  if: github.actor != 'bitwarden-devops-bot'
21
- runs-on: ubuntu-22.04
21
+ runs-on: ubuntu-24.04
22
22
  needs: version-type
23
23
  outputs:
24
24
  version: ${{ steps.get-version.outputs.version }}
25
25
  steps:
26
+ - name: Generate GH App token
27
+ uses: actions/create-github-app-token@c1a285145b9d317df6ced56c09f525b5c2b6f755 # v1.11.1
28
+ id: app-token
29
+ with:
30
+ app-id: ${{ secrets.BW_GHAPP_ID }}
31
+ private-key: ${{ secrets.BW_GHAPP_KEY }}
32
+
26
33
  - name: Login to Azure - CI Subscription
27
34
  uses: Azure/login@e15b166166a8746d1a47596803bd8c1b595455cf # v1.6.0
28
35
  with:
@@ -34,14 +41,13 @@ jobs:
34
41
  with:
35
42
  keyvault: "bitwarden-ci"
36
43
  secrets: "github-gpg-private-key,
37
- github-gpg-private-key-passphrase,
38
- github-pat-bitwarden-devops-bot-repo-scope"
44
+ github-gpg-private-key-passphrase"
39
45
 
40
46
  - name: Check out repo
41
47
  uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
42
48
  with:
43
49
  fetch-depth: 0
44
- token: ${{ steps.retrieve-secrets.outputs.github-pat-bitwarden-devops-bot-repo-scope }}
50
+ token: ${{ steps.app-token.outputs.token }}
45
51
 
46
52
  - name: Set up Python
47
53
  uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
@@ -5,6 +5,7 @@ on:
5
5
  types: [labeled, unlabeled, opened, reopened, synchronize]
6
6
  jobs:
7
7
  enforce-labels:
8
+ name: Enforce Labels
8
9
  uses: bitwarden/gh-actions/.github/workflows/_enforce-labels.yml@main
9
10
 
10
11
  enforce-version-label:
@@ -0,0 +1,118 @@
1
+ name: Update Approved Actions
2
+
3
+ on:
4
+ schedule:
5
+ - cron: '0 0 */14 * *'
6
+
7
+ jobs:
8
+ actions-update:
9
+ name: "Update Approved Actions"
10
+ runs-on: ubuntu-24.04
11
+ steps:
12
+ - name: Login to Azure - CI Subscription
13
+ uses: Azure/login@e15b166166a8746d1a47596803bd8c1b595455cf # v1.6.0
14
+ with:
15
+ creds: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }}
16
+
17
+ - name: Retrieve secrets
18
+ id: retrieve-secrets
19
+ uses: bitwarden/gh-actions/get-keyvault-secrets@main
20
+ with:
21
+ keyvault: "bitwarden-ci"
22
+ secrets: "github-gpg-private-key,
23
+ github-gpg-private-key-passphrase"
24
+
25
+ - name: Import GPG key
26
+ uses: crazy-max/ghaction-import-gpg@cb9bde2e2525e640591a934b1fd28eef1dcaf5e5 # v6.2.0
27
+ with:
28
+ gpg_private_key: ${{ steps.retrieve-secrets.outputs.github-gpg-private-key }}
29
+ passphrase: ${{ steps.retrieve-secrets.outputs.github-gpg-private-key-passphrase }}
30
+ git_user_signingkey: true
31
+ git_commit_gpgsign: true
32
+
33
+ - name: Setup git
34
+ run: |
35
+ git config --local user.email "106330231+bitwarden-devops-bot@users.noreply.github.com"
36
+ git config --local user.name "bitwarden-devops-bot"
37
+
38
+ - name: Checkout Branch
39
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
40
+
41
+ - name: Set up Python 3.11
42
+ uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
43
+ with:
44
+ python-version: "3.11"
45
+
46
+ - name: Install bwwl binary
47
+ run: python -m pip install --upgrade bitwarden_workflow_linter
48
+
49
+ - name: Create Branch
50
+ id: create-branch
51
+ run: |
52
+ NAME="update-actions-$(date +'%Y%m%d-%H%M%S')"
53
+ git switch -c $NAME
54
+ echo "name=$NAME" >> $GITHUB_OUTPUT
55
+
56
+ - name: Run bwwl update
57
+ run: bwwl actions update -o src/bitwarden_workflow_linter/default_actions.json
58
+
59
+ - name: Check if there are changes to commit
60
+ id: new-changes
61
+ run: |
62
+ if [ -n "$(git status --porcelain)" ]; then
63
+ echo "new_changes=TRUE" >> $GITHUB_OUTPUT
64
+ else
65
+ echo "new_changes=FALSE" >> $GITHUB_OUTPUT
66
+ echo "No changes to commit!";
67
+ fi
68
+
69
+ - name: Commit changes
70
+ if: steps.new-changes.outputs.new_changes == 'TRUE'
71
+ env:
72
+ PR_BRANCH: ${{ steps.create-branch.outputs.name }}
73
+ run: |
74
+ git commit -m "Update approved actions" -a
75
+ git push origin $PR_BRANCH
76
+
77
+ - name: Generate GH App token
78
+ if: steps.new-changes.outputs.new_changes == 'TRUE'
79
+ uses: actions/create-github-app-token@5d869da34e18e7287c1daad50e0b8ea0f506ce69 # v1.11.0
80
+ id: app-token
81
+ with:
82
+ app-id: ${{ secrets.GH_APP_ID }}
83
+ private-key: ${{ secrets.GH_APP_KEY }}
84
+ owner: ${{ github.repository_owner }}
85
+
86
+ - name: Create PR
87
+ if: steps.new-changes.outputs.new_changes == 'TRUE'
88
+ id: create-pr
89
+ env:
90
+ GH_TOKEN: ${{ steps.app-token.outputs.token }}
91
+ PR_BRANCH: ${{ steps.create-branch.outputs.name }}
92
+ TITLE: "Update bwwl Approved Actions"
93
+ run: |
94
+ PR_URL=$(gh pr create --title "$TITLE" \
95
+ --base "main" \
96
+ --head "$PR_BRANCH" \
97
+ --label "version:patch" \
98
+ --label "automated pr" \
99
+ --body "
100
+ ## Type of change
101
+ - [ ] Bug fix
102
+ - [ ] New feature development
103
+ - [X] Tech debt (refactoring, code cleanup, dependency upgrades, etc)
104
+ - [ ] Build/deploy pipeline (DevOps)
105
+ - [ ] Other
106
+
107
+ ## Description
108
+ - This PR updates the approved actions for the Bitwarden Workflow Linter.")
109
+ echo "pr_number=${PR_URL##*/}" >> $GITHUB_OUTPUT
110
+
111
+ - name: Approve and Merge PR
112
+ if: ${{ steps.create-pr.outcome == 'success' }}
113
+ env:
114
+ GH_TOKEN: ${{ steps.app-token.outputs.token }}
115
+ PR_NUMBER: ${{ steps.create-pr.outputs.pr_number }}
116
+ run: |
117
+ gh pr review $PR_NUMBER --approve
118
+ gh pr merge $PR_NUMBER --squash --auto --delete-branch
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bitwarden_workflow_linter
3
- Version: 0.3.1
3
+ Version: 0.4.1
4
4
  Summary: Custom GitHub Action Workflow Linter
5
5
  Project-URL: Homepage, https://github.com/bitwarden/workflow-linter
6
6
  Project-URL: Issues, https://github.com/bitwarden/workflow-linter/issues
@@ -181,6 +181,6 @@ two empty lines between each job)
181
181
  To activate a rule after implementing it, add it to `settings.yaml` in the project's base folder
182
182
  and `src/bitwarden_workflow_linter/default_settings.yaml` to make the rule default
183
183
 
184
- ### ToDo
184
+ ### To-Do
185
185
 
186
186
  - [ ] Add Rule to assert correct format for single line run
@@ -155,6 +155,6 @@ two empty lines between each job)
155
155
  To activate a rule after implementing it, add it to `settings.yaml` in the project's base folder
156
156
  and `src/bitwarden_workflow_linter/default_settings.yaml` to make the rule default
157
157
 
158
- ### ToDo
158
+ ### To-Do
159
159
 
160
160
  - [ ] Add Rule to assert correct format for single line run
@@ -1,3 +1,3 @@
1
1
  """Metadata for Workflow Linter."""
2
2
 
3
- __version__ = "0.3.1"
3
+ __version__ = "0.4.1"
@@ -69,6 +69,11 @@
69
69
  "sha": "e5bc658cc4c965c472efe991f8beea3981499c55",
70
70
  "version": "v5.0.0"
71
71
  },
72
+ "actions/deploy-pages": {
73
+ "name": "actions/deploy-pages",
74
+ "sha": "d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e",
75
+ "version": "v4.0.5"
76
+ },
72
77
  "actions/download-artifact": {
73
78
  "name": "actions/download-artifact",
74
79
  "sha": "fa0a91b85d4f404e444e00e005971372dc801d16",
@@ -294,6 +299,11 @@
294
299
  "sha": "2c591bcc8ecdcd2db72b97d6147f871fcd833ba5",
295
300
  "version": "v1.14.0"
296
301
  },
302
+ "nuget/setup-nuget": {
303
+ "name": "nuget/setup-nuget",
304
+ "sha": "a21f25cd3998bf370fde17e3f1b4c12c175172f9",
305
+ "version": "v2.0.0"
306
+ },
297
307
  "peter-evans/close-issue": {
298
308
  "name": "peter-evans/close-issue",
299
309
  "sha": "276d7966e389d888f011539a86c8920025ea0626",
@@ -319,6 +329,11 @@
319
329
  "sha": "485a9d42d3a73031f12ec201c457e2162c45d02d",
320
330
  "version": "v2.0.0"
321
331
  },
332
+ "sigstore/cosign-installer": {
333
+ "name": "sigstore/cosign-installer",
334
+ "sha": "dc72c7d5c4d10cd6bcb8cf6e3fd625a9e5e537da",
335
+ "version": "v3.7.0"
336
+ },
322
337
  "snapcore/action-build": {
323
338
  "name": "snapcore/action-build",
324
339
  "sha": "3bdaa03e1ba6bf59a65f84a751d943d549a54e79",
@@ -334,6 +349,11 @@
334
349
  "sha": "02ef91109b2d589e757aefcfb2854c2783fd7b19",
335
350
  "version": "v4.0.0"
336
351
  },
352
+ "sonarsource/sonarqube-scan-action": {
353
+ "name": "sonarsource/sonarqube-scan-action",
354
+ "sha": "bfd4e558cda28cda6b5defafb9232d191be8c203",
355
+ "version": "v4.2.1"
356
+ },
337
357
  "stackrox/kube-linter-action": {
338
358
  "name": "stackrox/kube-linter-action",
339
359
  "sha": "5792edc6a03735d592b13c08201711327a935735",