Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 0 additions & 87 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,93 +107,6 @@ The GitHub Actions workflow automatically builds and releases the ISO. Here’s
You can run the workflow manually by going to **Actions > Build ISO** and clicking on **Run Workflow**.


### GitHub Actions Workflow Example

Here's the full GitHub Actions workflow used for automated builds and releases:

```yaml
name: Build ISO

on:
workflow_dispatch:
schedule:
# Run the workflow every day at midnight
- cron: 0 0 * * *

jobs:
build:
runs-on: ubuntu-latest # Use a standard runner

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up Arch Linux Container
run: |
docker run --privileged --name arch-container -d -v ${{ github.workspace }}:/workdir archlinux:latest sleep infinity

- name: Build ISO in Arch Container
run: |
docker exec arch-container bash -c "
pacman -Syu --noconfirm &&
pacman -S --noconfirm git archiso grub &&
cd /workdir &&
mkarchiso -v -w workdir/ -o out/ .
"

- name: Rename ISO to Arch.iso
run: |
docker exec arch-container bash -c "
# Find the created ISO (assuming only one .iso file in the output directory)
iso_file=\$(ls /workdir/out/*.iso | head -n 1) &&
mv \$iso_file /workdir/out/Arch.iso
"

- name: List ISO files
run: |
# List files in the output directory to verify renaming
docker exec arch-container bash -c "ls -l /workdir/out/"

- name: Copy ISO to Host
run: |
# Copy the renamed ISO to the host
docker cp arch-container:/workdir/out/Arch.iso ${{ github.workspace }}/

- name: Get current date
id: date
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT

# Create a release on GitHub using Personal Access Token (PAT)
- name: Create GitHub Release
id: create_release # Adding an ID to reference the release step
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v${{ github.run_id }}-release
release_name: "Arch Linux Release"
body: |
This release contains the Arch Linux ISO built on ${{ steps.date.outputs.date }}.
draft: false
prerelease: false

# Upload the ISO to the GitHub release with a specific, predictable name
- name: Upload ISO to GitHub Release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ${{ github.workspace }}/Arch.iso
asset_name: Arch.iso
asset_content_type: application/octet-stream

- name: Clean Up
run: |
docker stop arch-container
docker rm arch-container
```

---

## License
Expand Down
Loading