Skip to content

Commit 29a7501

Browse files
committed
ci: create release of iso
1 parent 8fe275d commit 29a7501

File tree

1 file changed

+59
-12
lines changed

1 file changed

+59
-12
lines changed

.github/workflows/release.yml

Lines changed: 59 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,67 @@
1-
name: test and publish
2-
3-
on:
4-
workflow_run:
5-
workflows: ["CI/CD"]
6-
types:
7-
- completed
1+
name: Release Build and Publish
82

93
permissions:
104
contents: write
115

6+
on:
7+
push:
8+
tags:
9+
- "v*"
10+
workflow_dispatch:
11+
inputs:
12+
release_name:
13+
description: "Name of release"
14+
required: false
15+
default: ""
16+
1217
jobs:
13-
release:
18+
build:
1419
runs-on: ubuntu-latest
15-
if: ${{ github.ref == 'refs/heads/main' }}
20+
1621
steps:
17-
18-
- name: release
22+
- uses: actions/checkout@v4
23+
- uses: dtolnay/rust-toolchain@stable
24+
25+
- name: Build release
26+
run: cargo build --release
27+
28+
- name: Convert BIOS image to ISO
1929
run: |
20-
echo "ToDo: release"
30+
mkdir -p isos
31+
cp target/bios.img isos/bios.img
32+
xorriso -as mkisofs -o isos/bios.iso isos/bios.img
33+
34+
- name: Convert UEFI image to ISO
35+
run: |
36+
cp target/uefi.img isos/uefi.img
37+
xorriso -as mkisofs -o isos/uefi.iso isos/uefi.img
38+
39+
- name: Get tag or manual release name
40+
id: tag_name
41+
run: |
42+
if [ -n "${{ github.event.inputs.release_name }}" ]; then
43+
echo "RELEASE_NAME=${{ github.event.inputs.release_name }}" >> $GITHUB_ENV
44+
else
45+
echo "RELEASE_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
46+
fi
47+
48+
- name: Get commit history with mentions
49+
id: commit_history
50+
run: |
51+
if [ -n "${{ github.event.inputs.release_name }}" ]; then
52+
# Si es un lanzamiento manual, muestra los últimos 10 commits
53+
echo "COMMIT_HISTORY=$(git log --pretty=format:'- %s (by @%an)' -n 10)" >> $GITHUB_ENV
54+
else
55+
# Si es un lanzamiento automático, muestra los commits desde el último tag
56+
echo "COMMIT_HISTORY=$(git log --pretty=format:'- %s (by @%an)' $(git describe --tags --abbrev=0)..HEAD)" >> $GITHUB_ENV
57+
fi
58+
59+
- name: Create Release
60+
uses: softprops/action-gh-release@v2
61+
with:
62+
tag_name: ${{ env.RELEASE_NAME }}
63+
name: ${{ env.RELEASE_NAME }}
64+
body: ${{ env.COMMIT_HISTORY }}
65+
files: |
66+
isos/bios.iso
67+
isos/uefi.iso

0 commit comments

Comments
 (0)