1
0
Fork 0
mirror of https://github.com/JasonN3/build-container-installer.git synced 2025-12-25 10:57:55 +01:00

test creating disk and files

This commit is contained in:
Jason N. 2024-02-28 16:40:22 -05:00
parent 97b27601f6
commit 8f5f120cbf

View file

@ -17,8 +17,30 @@ env:
VARIANT: 'Server' VARIANT: 'Server'
jobs: jobs:
check-changes:
name: Check Changes
runs-on: ubuntu-latest
outputs:
container: ${{ steps.changes.outputs.container }}
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
id: changes
with:
filters: |
container:
- 'Containerfile'
- '/lorax_templates/**'
- '/xorriso/**'
- '/Makefile'
- '/entrypoint.sh'
build-container: build-container:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: needs.check-changes.outputs.container == 'true'
needs:
- check-changes
permissions: permissions:
contents: read contents: read
packages: write packages: write
@ -57,10 +79,13 @@ jobs:
build-and-push-iso: build-and-push-iso:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: needs:
- check-changes
- build-container - build-container
permissions: permissions:
contents: read contents: read
packages: write packages: write
outputs:
artifact_url: ${{ steps.upload.outputs.artifact-url }}
steps: steps:
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v4 uses: actions/checkout@v4
@ -79,7 +104,19 @@ jobs:
type=ref,event=branch type=ref,event=branch
type=ref,event=pr type=ref,event=pr
- name: Build ISO - name: Build ISO with new container
if: needs.check-changes.outputs.container == 'true'
uses: ./
with:
arch: ${{ env.ARCH}}
image_name: ${{ env.IMAGE_NAME}}
image_repo: ${{ env.IMAGE_REPO}}
version: ${{ env.VERSION }}
variant: ${{ env.VARIANT }}
action_version: ${{ steps.meta.outputs.tags }}
- name: Build ISO with latest container
if: needs.check-changes.outputs.container == 'false'
uses: ./ uses: ./
with: with:
arch: ${{ env.ARCH}} arch: ${{ env.ARCH}}
@ -94,6 +131,7 @@ jobs:
mv build/deploy.iso build/${{ env.IMAGE_NAME }}-${{ env.VERSION }}.iso mv build/deploy.iso build/${{ env.IMAGE_NAME }}-${{ env.VERSION }}.iso
- name: Upload ISO as artifact - name: Upload ISO as artifact
id: upload
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: ${{ env.IMAGE_NAME }}-${{ env.VERSION }}.iso name: ${{ env.IMAGE_NAME }}-${{ env.VERSION }}.iso
@ -102,3 +140,40 @@ jobs:
retention-days: 0 retention-days: 0
compression-level: 0 compression-level: 0
overwrite: true overwrite: true
test-qemu:
runs-on: ubuntu-latest
needs:
- build-and-push-iso
permissions:
contents: read
packages: write
steps:
- name: Ensure qemu is installed
run: |
apt-get update
apt-get install -y qemu qemu-utils xorriso unzip
- name: Create disk
run: |
qemu-img create -f qcow2 disk.qcow2 50G
- name: Add anaconda.ks to ISO
run: |
wget ${{ needs.build-and-push-iso.outputs.artifact_url }}
ls
unzip *.zip
cat << EOF > ks.cfg
EOF
xorriso -dialog on << EOF
-indev ${{ env.IMAGE_NAME }}-${{ env.VERSION }}.iso
-outdev test.iso
-map ks.cfg ks.cfg
-chmod 0444 ks.cfg
-end
EOF
#- name: Start a VM
# run: |
# qemu-system-x86_64 --name "Anaconda" -m 4096 -cpu host -cdrom test.iso -drive file=disk.qcow2