Skip to content

Commit 46b29f9

Browse files
committed
ci: seperate build and release jobs
1 parent 8940a2b commit 46b29f9

1 file changed

Lines changed: 29 additions & 13 deletions

File tree

.github/workflows/build-preview.yml

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ jobs:
99
container:
1010
image: archlinux:latest
1111
options: --privileged
12+
outputs:
13+
iso_name: ${{ steps.iso_info.outputs.iso_name }}
14+
iso_size: ${{ steps.iso_info.outputs.iso_size }}
15+
iso_sha256: ${{ steps.iso_info.outputs.iso_sha256 }}
16+
release_tag: ${{ steps.iso_info.outputs.release_tag }}
17+
artifact_name: ${{ steps.iso_info.outputs.artifact_name }}
1218

1319
steps:
1420
- name: Checkout repository
@@ -73,29 +79,40 @@ jobs:
7379
/tmp/archiso-out/*.iso
7480
/tmp/archiso-out/SHA256SUMS
7581
retention-days: 30
82+
83+
release:
84+
needs: build
85+
runs-on: ubuntu-latest
86+
if: github.event_name == 'workflow_dispatch'
87+
88+
steps:
89+
- name: Download ISO artifact
90+
uses: actions/download-artifact@v4
91+
with:
92+
name: ${{ needs.build.outputs.artifact_name }}
93+
path: ./release-files
7694

7795
- name: Create release notes
78-
id: release_notes
7996
run: |
8097
BUILD_DATE=$(date -u +"%Y-%m-%d %H:%M:%S UTC")
81-
cat > /tmp/release-notes.md << EOF
98+
cat > release-notes.md << EOF
8299
## ALG XFCE Release
83100
84101
**Build Date:** ${BUILD_DATE}
85102
**Commit:** ${{ github.sha }}
86103
**Branch:** ${{ github.ref_name }}
87104
88105
### ISO Information
89-
- **Filename:** ${{ steps.iso_info.outputs.iso_name }}
90-
- **Size:** ${{ steps.iso_info.outputs.iso_size }}
91-
- **SHA256:** \`${{ steps.iso_info.outputs.iso_sha256 }}\`
106+
- **Filename:** ${{ needs.build.outputs.iso_name }}
107+
- **Size:** ${{ needs.build.outputs.iso_size }}
108+
- **SHA256:** \`${{ needs.build.outputs.iso_sha256 }}\`
92109
93110
### Installation
94111
1. Download the ISO file
95112
2. Verify the checksum using SHA256SUMS
96113
3. Write to USB using dd, Ventoy, or similar tools:
97114
\`\`\`bash
98-
dd if=${{ steps.iso_info.outputs.iso_name }} of=/dev/sdX bs=4M status=progress
115+
dd if=${{ needs.build.outputs.iso_name }} of=/dev/sdX bs=4M status=progress
99116
\`\`\`
100117
4. Boot from the USB drive
101118
@@ -105,19 +122,18 @@ jobs:
105122
\`\`\`
106123
107124
EOF
108-
cat /tmp/release-notes.md
125+
cat release-notes.md
109126
110127
- name: Create release
111-
if: github.event_name == 'workflow_dispatch'
112128
uses: softprops/action-gh-release@v1
113129
with:
114-
tag_name: ${{ steps.iso_info.outputs.release_tag }}
115-
name: ${{ steps.iso_info.outputs.release_tag }}
116-
body_path: /tmp/release-notes.md
130+
tag_name: ${{ needs.build.outputs.release_tag }}
131+
name: ${{ needs.build.outputs.release_tag }}
132+
body_path: release-notes.md
117133
draft: false
118134
prerelease: true
119135
files: |
120-
/tmp/archiso-out/*.iso
121-
/tmp/archiso-out/SHA256SUMS
136+
./release-files/*.iso
137+
./release-files/SHA256SUMS
122138
env:
123139
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)