88jobs :
99 build :
1010 runs-on : ubuntu-latest # Use a standard runner
11+ container :
12+ image : archlinux:latest
1113
1214 steps :
1315 - name : Checkout Repository
1416 uses : actions/checkout@v4
1517
16- - name : Set up Arch Linux Container
18+ - name : Update Arch Linux and install dependencies
1719 run : |
18- docker run --privileged --name arch-container -d -v ${{ github.workspace }}:/workdir archlinux:latest sleep infinity
20+ pacman -Syu --noconfirm &&
21+ pacman -S --noconfirm git archiso grub
1922
20- - name : Build ISO in Arch Container
23+ - name : Build ISO
2124 run : |
22- docker exec arch-container bash -c "
23- pacman -Syu --noconfirm &&
24- pacman -S --noconfirm git archiso grub &&
25- cd /workdir &&
26- mkarchiso -v -w workdir/ -o out/ .
27- "
25+ mkarchiso -v -w workdir/ -o out/ .
2826
29-
30- - name : Copy ISO to Host
27+ - name : Rename ISO
3128 run : |
32- docker cp arch-container:/workdir/ out/Arch .iso ${{ github.workspace }}/
29+ mv out/* .iso out/Arch.iso
3330
3431 - name : Get current date
3532 id : date
3633 run : echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
3734
38- # Create a release on GitHub using GITHUB_TOKEN
3935 - name : Create GitHub Release
40- id : create_release # Adding an ID to reference the release step
36+ id : create_release
41374238 env :
4339 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
@@ -49,18 +45,12 @@ jobs:
4945 draft : false
5046 prerelease : false
5147
52- # Upload the ISO to the GitHub release with a specific, predictable name
5348 - name : Upload ISO to GitHub Release
5449 uses : actions/upload-release-asset@v1
5550 env :
5651 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
5752 with :
5853 upload_url : ${{ steps.create_release.outputs.upload_url }}
59- asset_path : ${{ github.workspace }} /Arch.iso
54+ asset_path : out /Arch.iso
6055 asset_name : Arch.iso
6156 asset_content_type : application/octet-stream
62-
63- - name : Clean Up
64- run : |
65- docker stop arch-container
66- docker rm arch-container
0 commit comments