diff --git a/.github/workflows/build-arm64.yaml b/.github/workflows/build-arm64.yaml index e1cd4f3..15b6188 100644 --- a/.github/workflows/build-arm64.yaml +++ b/.github/workflows/build-arm64.yaml @@ -40,7 +40,7 @@ jobs: fromIndex: true onlyMissing: true buildx: true - platform: linux/arm/v8 + platform: linux/arm64 FINAL_REPO: quay.io/kairos/packages-arm64 DOCKER_USERNAME: ${{ secrets.QUAY_USERNAME }} DOCKER_PASSWORD: ${{ secrets.QUAY_PASSWORD }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 1b88834..5930f34 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -7,6 +7,43 @@ on: pull_request: jobs: + build-arm64: + runs-on: ubuntu-latest + env: + ARCH: amd64 + steps: + - uses: actions/checkout@v2 + - run: | + git fetch --prune --unshallow + mkdir build + - name: Set up QEMU + uses: docker/setup-qemu-action@master + with: + platforms: all + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@master + - name: Download meta 🔧 + uses: luet-lab/luet-github-action@master + with: + FINAL_REPO: quay.io/kairos/packages + REPOSITORY_TYPE: docker + downloadAllMeta: true + downloadFromList: true + downloadMeta: true + - name: Build packages 🔧 + uses: luet-lab/luet-github-action@master + with: + build: true + fromIndex: true + buildx: true + platform: linux/arm64 + onlyMissing: true + FINAL_REPO: quay.io/kairos/packages + DOCKER_USERNAME: ${{ secrets.QUAY_USERNAME }} + REPOSITORY_TYPE: docker + pushFinalImages: false + pushCache: false build: runs-on: ubuntu-latest diff --git a/packages/edgevpn/definition.yaml b/packages/edgevpn/definition.yaml index 7a4d497..b718e0c 100644 --- a/packages/edgevpn/definition.yaml +++ b/packages/edgevpn/definition.yaml @@ -1,6 +1,6 @@ name: edgevpn category: utils -version: "0.17.0" +version: "0.17.0+1" labels: github.repo: "edgevpn" github.owner: "mudler" diff --git a/packages/initrd/collection.yaml b/packages/initrd/collection.yaml index 93711fb..ced4aa8 100644 --- a/packages/initrd/collection.yaml +++ b/packages/initrd/collection.yaml @@ -1,10 +1,10 @@ packages: - name: "opensuse" category: "distro-initrd" - version: "0.11" + version: "0.12" # - name: "fedora" # category: "distro-initrd" # version: "0.11" - name: "ubuntu" category: "distro-initrd" - version: "0.11" + version: "0.12" diff --git a/packages/kernels/collection.yaml b/packages/kernels/collection.yaml index 0495a2b..a843e63 100644 --- a/packages/kernels/collection.yaml +++ b/packages/kernels/collection.yaml @@ -1,7 +1,7 @@ packages: - category: "distro-kernels" name: "opensuse" - version: "15.4+2" + version: "15.4+1" image_tag: "15.4" image: "opensuse/leap" distribution: "opensuse" @@ -16,7 +16,7 @@ packages: - category: "distro-kernels" name: "ubuntu" image_tag: "20.04" - version: "20.04" + version: "20.04+1" image: "ubuntu" distribution: "ubuntu" packages: "linux-image-generic-hwe-20.04 dracut dracut-network" \ No newline at end of file diff --git a/packages/static/grub-artifacts/build.yaml b/packages/static/grub-artifacts/build.yaml new file mode 100644 index 0000000..6107316 --- /dev/null +++ b/packages/static/grub-artifacts/build.yaml @@ -0,0 +1,26 @@ + +image: {{.Values.image}} + +{{if eq .Values.image "opensuse"}} +{{ if eq .Values.arch "arm64" }} +prelude: +- zypper in -y grub2-arm64-efi grub2 +{{ else if eq .Values.arch "arm" }} + +{{ else }} +prelude: +- zypper in -y grub2-i386-pc grub2-x86_64-efi grub2 +{{ end }} +{{end}} + +steps: +- mkdir /grub-artifacts + {{if .Values.distribution}} + {{if eq .Values.distribution "opensuse"}} +- cp -rf /usr/share/grub2/* /grub-artifacts + {{else}} +- cp -rfL /usr/lib/grub/* /grub-artifacts + {{end}} + {{end}} + +package_dir: /grub-artifacts \ No newline at end of file diff --git a/packages/static/grub-artifacts/definition.yaml b/packages/static/grub-artifacts/definition.yaml new file mode 100644 index 0000000..5b5998d --- /dev/null +++ b/packages/static/grub-artifacts/definition.yaml @@ -0,0 +1,5 @@ +name: "grub-artifacts" +category: "static" +version: "0.1" +distribution: opensuse +image: opensuse/leap:15.3 \ No newline at end of file diff --git a/packages/static/grub-config/build.yaml b/packages/static/grub-config/build.yaml new file mode 100644 index 0000000..f19a127 --- /dev/null +++ b/packages/static/grub-config/build.yaml @@ -0,0 +1,11 @@ +requires: +- name: "elemental-toolkit-opensuse" + category: "system" + version: ">=0" + +steps: +- | + mkdir -p /{{.Values.name}}/etc && \ + cp -rfv /framework/etc/cos /{{.Values.name}}/etc + +package_dir: "/{{.Values.name}}" \ No newline at end of file diff --git a/packages/static/grub-config/definition.yaml b/packages/static/grub-config/definition.yaml new file mode 100644 index 0000000..3d8f92f --- /dev/null +++ b/packages/static/grub-config/definition.yaml @@ -0,0 +1,3 @@ +name: "grub-config" +category: "static" +version: "0.1" \ No newline at end of file diff --git a/packages/static/grub-efi/build.yaml b/packages/static/grub-efi/build.yaml new file mode 100644 index 0000000..a30cc49 --- /dev/null +++ b/packages/static/grub-efi/build.yaml @@ -0,0 +1,34 @@ + + +image: {{.Values.image}} + +package_dir: "/output" +steps: +- mkdir -p /output/EFI/BOOT +- cp config/grub_live_efi.cfg /output/EFI/BOOT/grub.cfg + {{if .Values.distribution}} + {{if eq .Values.distribution "opensuse"}} + {{if .Values.arch }} + {{if eq .Values.arch "x86_64"}} +- cp /usr/share/grub2/x86_64-efi/grub.efi /output/EFI/BOOT/bootx64.efi + {{end}} + {{if eq .Values.arch "arm64"}} +- cp /usr/share/grub2/arm64-efi/grub.efi /output/EFI/BOOT/bootaa64.efi + {{end}} + {{end}} + {{else if eq .Values.distribution "fedora"}} + {{if eq .Values.arch "x86_64"}} +- grub2-mkimage -O x86_64-efi -o /output/EFI/BOOT/bootx64.efi -c /output/EFI/BOOT/grub.cfg -p /grub2 -d /usr/lib/grub/x86_64-efi {{.Values.efi_modules}} + {{else if eq .Values.arch "arm64"}} +- mkdir -p /output/EFI/fedora +- cp -r /boot/efi/EFI/fedora/* /output/EFI/fedora/ +- cp -r /boot/efi/EFI/BOOT/* /output/EFI/BOOT/ + {{end}} + {{else if eq .Values.distribution "ubuntu"}} + {{if eq .Values.arch "x86_64"}} +- grub-mkimage -O x86_64-efi -o /output/EFI/BOOT/bootx64.efi -c /output/EFI/BOOT/grub.cfg -p /grub2 -d /usr/lib/grub/x86_64-efi {{.Values.efi_modules}} linuxefi + {{else if eq .Values.arch "arm64"}} +- grub-mkimage -O arm64-efi -o /output/EFI/BOOT/bootaa64.efi -c /output/EFI/BOOT/grub.cfg -p /grub2 -d /usr/lib/grub/arm64-efi {{.Values.efi_modules_arm64}} + {{end}} + {{end}} + {{end}} diff --git a/packages/static/grub-efi/config/grub_live_efi.cfg b/packages/static/grub-efi/config/grub_live_efi.cfg new file mode 100644 index 0000000..276a3ca --- /dev/null +++ b/packages/static/grub-efi/config/grub_live_efi.cfg @@ -0,0 +1,4 @@ +search --no-floppy --label --set=root COS_RECOVERY +set root=($root) +set prefix=($root)/grub2 +configfile ($root)/etc/cos/grub.cfg \ No newline at end of file diff --git a/packages/static/grub-efi/definition.yaml b/packages/static/grub-efi/definition.yaml new file mode 100644 index 0000000..96e4084 --- /dev/null +++ b/packages/static/grub-efi/definition.yaml @@ -0,0 +1,8 @@ +name: "grub-efi" +category: "static" +version: "0.1" +distribution: opensuse +image: opensuse/leap:15.3 +arch: "x86_64" +efi_modules: ext2 iso9660 linux echo configfile search_label search_fs_file search search_fs_uuid ls normal gzio png fat gettext font minicmd gfxterm gfxmenu all_video xfs gcry_rijndael gcry_sha256 gcry_sha512 test true loadenv part_gpt part_msdos efi_gop efi_uga +efi_modules_arm64: ext2 iso9660 linux echo configfile search_label search_fs_file search search_fs_uuid ls normal gzio png fat gettext font minicmd gfxterm gfxmenu all_video xfs gcry_rijndael gcry_sha256 gcry_sha512 test true loadenv part_gpt part_msdos efi_gop \ No newline at end of file diff --git a/packages/system/elemental/definition.yaml b/packages/system/elemental/definition.yaml index ebd2da3..8f5db85 100644 --- a/packages/system/elemental/definition.yaml +++ b/packages/system/elemental/definition.yaml @@ -1,6 +1,6 @@ name: "elemental-cli" category: "system" -version: "0.20221018+1" +version: "0.20221018+3" bin_name: "elemental" fips: false labels: diff --git a/packages/system/kcrypt-challenger/definition.yaml b/packages/system/kcrypt-challenger/definition.yaml index 4e54388..09e87e0 100644 --- a/packages/system/kcrypt-challenger/definition.yaml +++ b/packages/system/kcrypt-challenger/definition.yaml @@ -1,7 +1,7 @@ name: kcrypt-challenger category: system live: "yes" -version: "0.0.1+1" +version: "0.0.1+2" labels: github.repo: "kcrypt-challenger" github.owner: "kairos-io" diff --git a/packages/system/kcrypt/definition.yaml b/packages/system/kcrypt/definition.yaml index a69697e..a1d648f 100644 --- a/packages/system/kcrypt/definition.yaml +++ b/packages/system/kcrypt/definition.yaml @@ -1,6 +1,6 @@ name: kcrypt category: system -version: "0.3.1" +version: "0.3.1+1" labels: github.repo: "kcrypt" github.owner: "kairos-io" diff --git a/packages/toolchain-go/build.yaml b/packages/toolchain-go/build.yaml index cf60dc4..908b27e 100644 --- a/packages/toolchain-go/build.yaml +++ b/packages/toolchain-go/build.yaml @@ -1,7 +1,7 @@ {{ if .Values.variant }} -image: "golang:{{.Values.version}}-{{.Values.variant}}" +image: "golang:{{.Values.tag}}-{{.Values.variant}}" {{ else }} -image: "golang:{{.Values.version}}" +image: "golang:{{.Values.tag}}" {{ end }} {{ if eq .Values.variant "alpine" }} diff --git a/packages/toolchain-go/collection.yaml b/packages/toolchain-go/collection.yaml index 67605c7..031808c 100644 --- a/packages/toolchain-go/collection.yaml +++ b/packages/toolchain-go/collection.yaml @@ -2,10 +2,12 @@ packages: - name: toolchain-go category: development variant: "alpine" - version: "1.18" + version: "1.18+1" + tag: "1.18" hidden: true - name: toolchain-go-ubuntu variant: "" category: development - version: "1.18" + version: "1.18+1" + tag: "1.18" hidden: true \ No newline at end of file diff --git a/packages/toolchain-ubuntu/definition.yaml b/packages/toolchain-ubuntu/definition.yaml index a1c951b..8cb77a2 100644 --- a/packages/toolchain-ubuntu/definition.yaml +++ b/packages/toolchain-ubuntu/definition.yaml @@ -1,4 +1,4 @@ name: toolchain-ubuntu category: development -version: "0.1" +version: "0.2" hidden: true diff --git a/packages/utils/kubectl/definition.yaml b/packages/utils/kubectl/definition.yaml index f346b61..a440014 100644 --- a/packages/utils/kubectl/definition.yaml +++ b/packages/utils/kubectl/definition.yaml @@ -1,6 +1,6 @@ name: kubectl category: container -version: "1.25.3" +version: "1.25.3+1" arch: "amd64" labels: github.repo: "kubectl" diff --git a/packages/utils/kubesplit/build.yaml b/packages/utils/kubesplit/build.yaml index 51c5490..083ab59 100644 --- a/packages/utils/kubesplit/build.yaml +++ b/packages/utils/kubesplit/build.yaml @@ -10,7 +10,9 @@ env: - GITHUB_ORG={{ ( index .Values.labels "github.owner" ) }} - CGO_ENABLED=0 steps: -- cd go/src/github.com/${GITHUB_ORG}/{{ .Values.name }}/ && git checkout v"${PACKAGE_VERSION}" -b build && go build -o {{.Values.name}} && mv {{ .Values.name }} /usr/bin/{{ .Values.name }} +- | + PACKAGE_VERSION=${PACKAGE_VERSION%\+*} && \ + cd go/src/github.com/${GITHUB_ORG}/{{ .Values.name }}/ && git checkout v"${PACKAGE_VERSION}" -b build && go build -o {{.Values.name}} && mv {{ .Values.name }} /usr/bin/{{ .Values.name }} - chmod +x /usr/bin/{{ .Values.name }} includes: - /usr/bin/{{.Values.name}} \ No newline at end of file diff --git a/packages/utils/kubesplit/definition.yaml b/packages/utils/kubesplit/definition.yaml index e1eb185..7f61519 100644 --- a/packages/utils/kubesplit/definition.yaml +++ b/packages/utils/kubesplit/definition.yaml @@ -1,6 +1,6 @@ name: kubesplit category: utils -version: "0.2.1" +version: "0.2.1+1" description: "A opinionated simple tool to split big YAML Kubernetes files into chunks to help building helm charts" labels: github.repo: "kubesplit"