|  | 
| 19 | 19 |   build: | 
| 20 | 20 |     runs-on: ubuntu-latest | 
| 21 | 21 |     timeout-minutes: 120  # Set a timeout to prevent hung builds | 
|  | 22 | +    outputs: | 
|  | 23 | +      version: ${{ env.VERSION }} | 
|  | 24 | +      iso_path: ${{ env.WORKSPACE }}/out/arch-linux-no-beeps-${{ env.VERSION }}.iso | 
| 22 | 25 | 
 | 
| 23 | 26 |     steps: | 
| 24 | 27 |       - name: Checkout Repository | 
| @@ -132,70 +135,24 @@ jobs: | 
| 132 | 135 |             done | 
| 133 | 136 |           " | 
| 134 | 137 | 
 | 
| 135 |  | -      - name: Generate Release Notes | 
| 136 |  | -        id: release_notes | 
| 137 |  | -        run: | | 
| 138 |  | -          # Create a temporary file for release notes | 
| 139 |  | -          TEMP_RELEASE_NOTES=$(mktemp) | 
| 140 |  | -           | 
| 141 |  | -          docker exec arch-container bash -c " | 
| 142 |  | -            set -euo pipefail | 
| 143 |  | -            cd /workdir | 
| 144 |  | -             | 
| 145 |  | -            # Initialize release notes | 
| 146 |  | -            { | 
| 147 |  | -              echo '🚀 Arch Linux ISO without system beeps (build ${{ env.DATE }})' | 
| 148 |  | -              echo '' | 
| 149 |  | -              echo '### Changes' | 
| 150 |  | -               | 
| 151 |  | -              # Get changes since last release | 
| 152 |  | -              if git tag | grep -q .; then | 
| 153 |  | -                LAST_TAG=\$(git describe --tags --abbrev=0 2>/dev/null || echo '') | 
| 154 |  | -                if [ ! -z \"\$LAST_TAG\" ]; then | 
| 155 |  | -                  echo '#### Commits since last release:' | 
| 156 |  | -                  git log \"\$LAST_TAG\"..HEAD --pretty=format:'- %s' | grep -v 'Merge' | 
| 157 |  | -                  echo '' | 
| 158 |  | -                fi | 
| 159 |  | -              fi | 
| 160 |  | -               | 
| 161 |  | -              # Add standard information | 
| 162 |  | -              echo '### Features' | 
| 163 |  | -              echo '- Automatic daily build' | 
| 164 |  | -              echo '- System beeps disabled' | 
| 165 |  | -              echo '- ISO SHA256 and SHA512 checksums included' | 
| 166 |  | -              echo '' | 
| 167 |  | -              echo '### Download' | 
| 168 |  | -              echo '- Download the ISO and verify checksums before use' | 
| 169 |  | -              echo '' | 
| 170 |  | -              echo '### Checksums' | 
| 171 |  | -              echo 'SHA256 and SHA512 checksums are available in the uploaded files.' | 
| 172 |  | -            } > /tmp/release_notes | 
| 173 |  | -          " | 
| 174 |  | -           | 
| 175 |  | -          # Copy release notes from container to host | 
| 176 |  | -          docker cp arch-container:/tmp/release_notes $TEMP_RELEASE_NOTES | 
| 177 |  | -           | 
| 178 |  | -          # Set the release notes in GITHUB_ENV | 
| 179 |  | -          echo 'RELEASE_NOTES<<EOF' >> $GITHUB_ENV | 
| 180 |  | -          cat $TEMP_RELEASE_NOTES >> $GITHUB_ENV | 
| 181 |  | -          echo 'EOF' >> $GITHUB_ENV | 
| 182 |  | -           | 
| 183 |  | -          # Cleanup | 
| 184 |  | -          rm -f $TEMP_RELEASE_NOTES | 
| 185 |  | -
 | 
| 186 |  | -      - name: Create Release | 
| 187 |  | -        id: create_release | 
| 188 |  | -        uses: softprops/action-gh-release@v1 | 
| 189 |  | -        if: github.ref == 'refs/heads/main' | 
|  | 138 | +      - name: Trigger Release Workflow | 
|  | 139 | +        if: success() | 
|  | 140 | +        uses: peter-evans/repository-dispatch@v2 | 
|  | 141 | +        with: | 
|  | 142 | +          token: ${{ secrets.GITHUB_TOKEN }} | 
|  | 143 | +          event-type: trigger-release | 
|  | 144 | +          client-payload: '{"version": "${{ env.VERSION }}", "iso_path": "out/arch-linux-no-beeps-${{ env.VERSION }}.iso"}' | 
|  | 145 | + | 
|  | 146 | +      - name: Upload ISO Artifacts | 
|  | 147 | +        if: success() | 
|  | 148 | +        uses: actions/upload-artifact@v4 | 
| 190 | 149 |         with: | 
| 191 |  | -          tag_name: v${{ env.VERSION }} | 
| 192 |  | -          name: "Arch Linux No Beeps v${{ env.VERSION }}" | 
| 193 |  | -          body: ${{ env.RELEASE_NOTES }} | 
| 194 |  | -          draft: false | 
| 195 |  | -          prerelease: false | 
| 196 |  | -          files: | | 
| 197 |  | -            ${{ env.WORKSPACE }}/out/*.iso | 
| 198 |  | -            ${{ env.WORKSPACE }}/out/*.sha*sum | 
|  | 150 | +          name: iso-files | 
|  | 151 | +          path: | | 
|  | 152 | +            out/arch-linux-no-beeps-${{ env.VERSION }}.iso | 
|  | 153 | +            out/arch-linux-no-beeps-${{ env.VERSION }}.iso.sha256sum | 
|  | 154 | +            out/arch-linux-no-beeps-${{ env.VERSION }}.iso.sha512sum | 
|  | 155 | +          retention-days: 1 | 
| 199 | 156 | 
 | 
| 200 | 157 |       - name: Clean Up | 
| 201 | 158 |         if: always() | 
|  | 
0 commit comments