diff --git a/.github/workflows/build_image.yml b/.github/workflows/build_image.yml new file mode 100644 index 0000000..9b0a911 --- /dev/null +++ b/.github/workflows/build_image.yml @@ -0,0 +1,43 @@ +name: Build image + +on: + push: + pull_request: + +jobs: + build_image: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + + - name: Upgrade packages and install required software + run: | + sudo apt update + sudo apt -y upgrade + sudo apt -y install qemu-utils grub-pc + + - name: Set version + run: echo "ver=$(git log -1 --pretty=format:"%h")" >> "$GITHUB_ENV" + + - name: Linux Release + run: git archive --prefix=MultiOS-USB_$ver/ -o MultiOS-USB_linux_$ver.tar.gz $ver + + - name: Windows Release + run: | + image_name="image.img" + image_size="54542848" + qemu-img create -f raw $image_name $image_size + dev=$(sudo losetup -f -P --show $image_name) + sed -i -e '170s/^/# /; 173s/^/# /; 183s/^/# /; 200s/^/# /; 225,226s/^/# /' installer.sh + echo "YeS" | sudo ./installer.sh $dev + sudo losetup -d $dev + (cd part_data && sudo zip -r ../files.zip *) + mv docs/README_image README + sudo zip MultiOS-USB_windows_image_$ver.zip $image_name files.zip README + + - uses: actions/upload-artifact@v4 + with: + name: MultiOS-USB_images_${{ env.ver }} + path: | + MultiOS-USB_windows_image_*.zip + MultiOS-USB_linux_*.tar.gz diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d964848..a6d8e25 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,34 +9,29 @@ jobs: build_image: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4 - - name: Refresh repositories and upgrade packages + - name: Upgrade packages and install required software run: | - sudo apt update && sudo apt upgrade -y + sudo apt update + sudo apt -y upgrade + sudo apt -y install qemu-utils grub-pc - - name: Install required software - run: sudo apt install -y qemu-utils grub-pc + - name: Set version + run: echo "ver=$(git describe --tags --exact-match)" >> "$GITHUB_ENV" - name: Linux Release - run: | - ver=$(git describe --tags --exact-match) - git archive --prefix=MultiOS-USB_$ver/ -o MultiOS-USB_linux_$ver.tar.gz $ver + run: git archive --prefix=MultiOS-USB_$ver/ -o MultiOS-USB_linux_$ver.tar.gz $ver - name: Windows Release run: | - ver=$(git describe --tags --exact-match) image_name="image.img" image_size="54542848" qemu-img create -f raw $image_name $image_size dev=$(sudo losetup -f -P --show $image_name) - sudo ln -s ${dev}p1 ${dev}1 - sudo ln -s ${dev}p2 ${dev}2 - sed -i -e '139s/^/# /' -e '143s/^/# /' -e '152s/^/# /' -e '168s/^/# /' -e '189,190s/^/# /' installer.sh - printf 'YeS\n' | sudo ./installer.sh $dev + sed -i -e '170s/^/# /; 173s/^/# /; 183s/^/# /; 200s/^/# /; 225,226s/^/# /' installer.sh + echo "YeS" | sudo ./installer.sh $dev sudo losetup -d $dev - sudo rm ${dev}1 ${dev}2 (cd part_data && sudo zip -r ../files.zip *) mv docs/README_image README sudo zip MultiOS-USB_windows_image_$ver.zip $image_name files.zip README