Skip to content

Commit dde4351

Browse files
Create dsanders11-project-actions.yml
1 parent 4849a31 commit dde4351

1 file changed

Lines changed: 155 additions & 0 deletions

File tree

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
name: dsanders11-project-actions
2+
3+
on:
4+
workflow_dispatch:
5+
6+
permissions:
7+
contents: read
8+
issues: write
9+
10+
env:
11+
SOURCE_PROJECT_NUMBER: "6"
12+
13+
jobs:
14+
integration:
15+
name: All sub-actions chained (@release)
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Harden Runner
19+
uses: step-security/harden-runner@v2
20+
with:
21+
egress-policy: audit
22+
23+
- name: Checkout
24+
uses: actions/checkout@v6
25+
26+
- name: Create test issue
27+
id: setup-issue
28+
env:
29+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
30+
run: |
31+
url=$(gh issue create -R "${{ github.repository }}" \
32+
--title "[project-actions test ${{ github.run_id }}]" \
33+
--body "Auto-created by workflow run ${{ github.run_id }}")
34+
echo "Created: $url"
35+
echo "url=$url" >> "$GITHUB_OUTPUT"
36+
37+
- name: github-script
38+
uses: step-security/dsanders11-project-actions/github-script@release
39+
with:
40+
script: core.info('hello from project-actions/github-script')
41+
42+
- name: get-project
43+
id: get-project
44+
uses: step-security/dsanders11-project-actions/get-project@release
45+
with:
46+
token: ${{ secrets.PROJECT_PAT }}
47+
project-number: ${{ env.SOURCE_PROJECT_NUMBER }}
48+
49+
- name: find-project
50+
uses: step-security/dsanders11-project-actions/find-project@release
51+
with:
52+
token: ${{ secrets.PROJECT_PAT }}
53+
title: ${{ steps.get-project.outputs.title }}
54+
55+
- name: find-workflow
56+
id: find-workflow
57+
uses: step-security/dsanders11-project-actions/find-workflow@release
58+
with:
59+
token: ${{ secrets.PROJECT_PAT }}
60+
project-number: ${{ env.SOURCE_PROJECT_NUMBER }}
61+
name: Item added to project
62+
63+
- name: get-workflow
64+
uses: step-security/dsanders11-project-actions/get-workflow@release
65+
with:
66+
token: ${{ secrets.PROJECT_PAT }}
67+
project-number: ${{ env.SOURCE_PROJECT_NUMBER }}
68+
number: ${{ steps.find-workflow.outputs.number }}
69+
70+
- name: copy-project
71+
id: copy
72+
uses: step-security/dsanders11-project-actions/copy-project@release
73+
with:
74+
token: ${{ secrets.PROJECT_PAT }}
75+
project-number: ${{ env.SOURCE_PROJECT_NUMBER }}
76+
title: test-copy-${{ github.run_id }}
77+
78+
- name: edit-project
79+
uses: step-security/dsanders11-project-actions/edit-project@release
80+
with:
81+
token: ${{ secrets.PROJECT_PAT }}
82+
project-number: ${{ steps.copy.outputs.number }}
83+
description: edited by workflow run ${{ github.run_id }}
84+
85+
- name: link-project
86+
uses: step-security/dsanders11-project-actions/link-project@release
87+
with:
88+
token: ${{ secrets.PROJECT_PAT }}
89+
project-number: ${{ steps.copy.outputs.number }}
90+
repository: ${{ github.repository }}
91+
92+
- name: add-item
93+
id: add-item
94+
uses: step-security/dsanders11-project-actions/add-item@release
95+
with:
96+
token: ${{ secrets.PROJECT_PAT }}
97+
project-number: ${{ steps.copy.outputs.number }}
98+
content-url: ${{ steps.setup-issue.outputs.url }}
99+
100+
- name: get-item
101+
uses: step-security/dsanders11-project-actions/get-item@release
102+
with:
103+
token: ${{ secrets.PROJECT_PAT }}
104+
project-number: ${{ steps.copy.outputs.number }}
105+
item: ${{ steps.add-item.outputs.id }}
106+
107+
- name: edit-item
108+
uses: step-security/dsanders11-project-actions/edit-item@release
109+
with:
110+
token: ${{ secrets.PROJECT_PAT }}
111+
project-number: ${{ steps.copy.outputs.number }}
112+
item: ${{ steps.add-item.outputs.id }}
113+
field: Status
114+
field-value: Done
115+
116+
- name: completed-by
117+
uses: step-security/dsanders11-project-actions/completed-by@release
118+
with:
119+
token: ${{ secrets.PROJECT_PAT }}
120+
project-number: ${{ steps.copy.outputs.number }}
121+
field-value: Done
122+
123+
- name: archive-item
124+
uses: step-security/dsanders11-project-actions/archive-item@release
125+
with:
126+
token: ${{ secrets.PROJECT_PAT }}
127+
project-number: ${{ steps.copy.outputs.number }}
128+
item: ${{ steps.add-item.outputs.id }}
129+
130+
- name: delete-item
131+
uses: step-security/dsanders11-project-actions/delete-item@release
132+
with:
133+
token: ${{ secrets.PROJECT_PAT }}
134+
project-number: ${{ steps.copy.outputs.number }}
135+
item: ${{ steps.add-item.outputs.id }}
136+
137+
- name: close-project
138+
uses: step-security/dsanders11-project-actions/close-project@release
139+
with:
140+
token: ${{ secrets.PROJECT_PAT }}
141+
project-number: ${{ steps.copy.outputs.number }}
142+
closed: "true"
143+
144+
- name: delete-project (cleanup copy)
145+
if: always() && steps.copy.outputs.number != ''
146+
uses: step-security/dsanders11-project-actions/delete-project@release
147+
with:
148+
token: ${{ secrets.PROJECT_PAT }}
149+
project-number: ${{ steps.copy.outputs.number }}
150+
151+
- name: Close test issue
152+
if: always() && steps.setup-issue.outputs.url != ''
153+
env:
154+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
155+
run: gh issue close "${{ steps.setup-issue.outputs.url }}" --reason completed

0 commit comments

Comments
 (0)