Skip to content

Commit e2d61f3

Browse files
Update make-update-github-releases.yml
Signed-off-by: LUIZ HAMILTON ROBERTO DA SILVA <[email protected]>
1 parent 6574365 commit e2d61f3

1 file changed

Lines changed: 61 additions & 77 deletions

File tree

.github/workflows/make-update-github-releases.yml

Lines changed: 61 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
runs-on: ubuntu-latest
1616
steps:
1717
- name: Checkout Repository
18-
uses: actions/checkout@v4.2.2
18+
uses: actions/checkout@v4
1919
with:
2020
submodules: true
2121
fetch-depth: 0
@@ -25,16 +25,15 @@ jobs:
2525
sudo apt-get update
2626
sudo apt-get install -y jq gh
2727
28-
- name: Configure GitHub CLI
28+
- name: Authenticate GitHub CLI
2929
env:
30-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
30+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3131
run: gh auth setup-git
3232

33-
- name: Delete All Releases and Tags
33+
- name: Delete All Managed Releases and Tags
3434
env:
35-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
35+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3636
run: |
37-
set -e
3837
MANAGED_TAGS=("AD-SSO-APIs-Integration" "All-Repository-Files" "BlueTeam-Tools" "Core-ScriptLibrary" "GPOs-Templates" "ITSM-Templates-SVR" "ITSM-Templates-WKS" "READMEs-Files-Package" "SysAdmin-Tools")
3938
for tag_prefix in "${MANAGED_TAGS[@]}"; do
4039
gh release list --limit 100 --json tagName | jq -r '.[].tagName' | grep "^$tag_prefix" | while read -r tag; do
@@ -63,141 +62,126 @@ jobs:
6362

6463
steps:
6564
- name: Checkout Repository
66-
uses: actions/checkout@v4.2.2
65+
uses: actions/checkout@v4
6766
with:
6867
submodules: true
6968
fetch-depth: 0
7069

7170
- name: Install Dependencies
72-
run: |
73-
sudo apt-get update
74-
sudo apt-get install -y zip jq gh
71+
run: sudo apt-get install -y zip jq gh
7572

76-
- name: Configure GitHub CLI
73+
- name: Authenticate GitHub CLI
7774
env:
78-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
75+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7976
run: gh auth setup-git
8077

8178
- name: Set Version Tag
82-
id: version_tag
79+
id: tag
8380
run: echo "VERSION_TAG=${{ matrix.release_name }}-$(date +%Y%m%d)-${GITHUB_SHA::7}" >> $GITHUB_ENV
8481

85-
- name: Build and Package ${{ matrix.release_name }}
82+
- name: Build and Package Artifacts
8683
env:
8784
RELEASE_NAME: ${{ matrix.release_name }}
8885
run: |
89-
set -e
9086
mkdir -p artifacts
91-
9287
case "$RELEASE_NAME" in
9388
BlueTeam-Tools | Core-ScriptLibrary | ITSM-Templates-SVR | ITSM-Templates-WKS | SysAdmin-Tools)
94-
cp -r "$RELEASE_NAME" "./temp-$RELEASE_NAME"
95-
cp README.md "./temp-$RELEASE_NAME/" || true
96-
cp LICENSE.txt "./temp-$RELEASE_NAME/" || true
97-
zip -r "artifacts/$RELEASE_NAME.zip" "temp-$RELEASE_NAME"
98-
rm -rf "temp-$RELEASE_NAME"
89+
cp -r "$RELEASE_NAME" "./temp"
90+
cp README.md LICENSE.txt temp/ || true
91+
zip -r "artifacts/$RELEASE_NAME.zip" temp
92+
rm -rf temp
9993
;;
10094
10195
GPOs-Templates)
102-
mkdir -p GPOs-Templates
103-
cp -r SysAdmin-Tools/GroupPolicyObjects-Templates/* GPOs-Templates/
104-
cp SysAdmin-Tools/ActiveDirectory-Management/Export-n-Import-GPOsTool.ps1 GPOs-Templates/
105-
cp README.md LICENSE.txt GPOs-Templates/ || true
106-
zip -r artifacts/GPOs-Templates.zip GPOs-Templates
107-
rm -rf GPOs-Templates
96+
mkdir -p temp
97+
cp -r SysAdmin-Tools/GroupPolicyObjects-Templates/* temp/
98+
cp SysAdmin-Tools/ActiveDirectory-Management/Export-n-Import-GPOsTool.ps1 temp/
99+
cp README.md LICENSE.txt temp/ || true
100+
zip -r "artifacts/$RELEASE_NAME.zip" temp
101+
rm -rf temp
108102
;;
109103
110104
READMEs-Files-Package)
111-
mkdir -p READMEs-Files-Package
112-
cp README.md READMEs-Files-Package/main-README.md || true
105+
mkdir -p temp
106+
cp README.md temp/main-README.md || true
113107
find . -type f -iname "README.md" ! -path "./README.md" | while read -r file; do
114108
repo_dir=$(dirname "$file")
115109
repo_name=$(basename "$repo_dir")
116-
cp "$file" "READMEs-Files-Package/${repo_name}-README.md"
110+
cp "$file" "temp/${repo_name}-README.md"
117111
done
118-
zip -r artifacts/READMEs-Files-Package.zip READMEs-Files-Package
119-
rm -rf READMEs-Files-Package
112+
zip -r "artifacts/$RELEASE_NAME.zip" temp
113+
rm -rf temp
120114
;;
121115
122116
All-Repository-Files)
123-
mkdir -p All-Repository-Files
117+
mkdir -p temp
124118
for dir in BlueTeam-Tools Core-ScriptLibrary ITSM-Templates-SVR ITSM-Templates-WKS SysAdmin-Tools; do
125-
cp -r "$dir" All-Repository-Files/
119+
cp -r "$dir" temp/
126120
done
127-
cp README.md All-Repository-Files/ || true
128-
cp LICENSE.txt All-Repository-Files/ || true
129-
zip -r artifacts/All-Repository-Files.zip All-Repository-Files
130-
rm -rf All-Repository-Files
121+
cp README.md LICENSE.txt temp/ || true
122+
zip -r "artifacts/$RELEASE_NAME.zip" temp
123+
rm -rf temp
131124
;;
132125
133126
AD-SSO-APIs-Integration)
134-
mkdir -p AD-SSO-APIs-Integration
135-
cp -r SysAdmin-Tools/ActiveDirectory-SSO-Integrations/* AD-SSO-APIs-Integration/
136-
zip -r artifacts/AD-SSO-APIs-Integration.zip AD-SSO-APIs-Integration
137-
rm -rf AD-SSO-APIs-Integration
127+
mkdir -p temp
128+
cp -r SysAdmin-Tools/ActiveDirectory-SSO-Integrations/* temp/
129+
zip -r "artifacts/$RELEASE_NAME.zip" temp
130+
rm -rf temp
138131
;;
139132
esac
140133
141-
- name: Generate SHA256 Signature
134+
- name: Generate SHA256 Checksum
142135
run: sha256sum "artifacts/${{ matrix.release_name }}.zip" > "artifacts/${{ matrix.release_name }}.sha256.txt"
143136

144-
- name: Extract Release Notes and Create Release
145-
env:
146-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
137+
- name: Extract Changelog for ${{ matrix.release_name }}
138+
id: changelog
147139
run: |
148-
set -e
149-
150-
tag="## ${{ matrix.release_name }}"
151-
awk -v tag="$tag" '
152-
$0 == tag {found=1; next}
140+
section="## ${{ matrix.release_name }}"
141+
body=$(awk -v section="$section" '
142+
$0 == section {found=1; next}
153143
/^## / && found {exit}
154144
found {print}
155-
' CHANGELOG.md > extracted-changelog.md
156-
157-
if [ ! -s extracted-changelog.md ]; then
158-
echo "No changelog available." > extracted-changelog.md
159-
fi
160-
161-
echo "--- Extracted Notes ---"
162-
cat extracted-changelog.md
163-
echo "-----------------------"
145+
' CHANGELOG.md)
164146
165-
gh release create "$VERSION_TAG" \
166-
--title "$VERSION_TAG" \
167-
--notes-file extracted-changelog.md \
168-
--target "$GITHUB_SHA" \
169-
--latest
147+
echo "RELEASE_BODY<<EOF" >> $GITHUB_ENV
148+
echo "${body:-No changelog available.}" >> $GITHUB_ENV
149+
echo "EOF" >> $GITHUB_ENV
170150
171-
- name: Fetch Release Upload URL
172-
id: fetch_url
151+
- name: Create GitHub Release
152+
id: create_release
153+
uses: softprops/action-gh-release@v1
154+
with:
155+
tag_name: ${{ env.VERSION_TAG }}
156+
name: ${{ env.VERSION_TAG }}
157+
body: ${{ env.RELEASE_BODY }}
158+
draft: false
159+
prerelease: false
173160
env:
174-
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
175-
run: |
176-
url=$(gh api repos/${{ github.repository }}/releases/tags/$VERSION_TAG --jq '.upload_url')
177-
echo "upload_url=$url" >> $GITHUB_OUTPUT
161+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
178162

179-
- name: Upload Release Zip
163+
- name: Upload .zip Artifact
180164
uses: actions/upload-release-asset@v1
181165
with:
182-
upload_url: ${{ steps.fetch_url.outputs.upload_url }}
166+
upload_url: ${{ steps.create_release.outputs.upload_url }}
183167
asset_path: artifacts/${{ matrix.release_name }}.zip
184168
asset_name: ${{ matrix.release_name }}.zip
185169
asset_content_type: application/zip
186170
env:
187171
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
188172

189-
- name: Upload SHA256 Checksum
173+
- name: Upload .sha256 Checksum
190174
uses: actions/upload-release-asset@v1
191175
with:
192-
upload_url: ${{ steps.fetch_url.outputs.upload_url }}
176+
upload_url: ${{ steps.create_release.outputs.upload_url }}
193177
asset_path: artifacts/${{ matrix.release_name }}.sha256.txt
194178
asset_name: ${{ matrix.release_name }}.sha256.txt
195179
asset_content_type: text/plain
196180
env:
197181
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
198182

199-
- name: Upload Artifact Archive (for GitHub Actions Record)
183+
- name: Upload Artifact to Actions
200184
uses: actions/upload-artifact@v4
201185
with:
202-
name: artifacts-${{ matrix.release_name }}
186+
name: release-${{ matrix.release_name }}
203187
path: artifacts/${{ matrix.release_name }}.zip

0 commit comments

Comments
 (0)