From 9baafa4a7510ee191007fd566324cbbf4ed43f2e Mon Sep 17 00:00:00 2001 From: Niccolo Raspa Date: Fri, 20 Jun 2025 11:56:24 +0200 Subject: [PATCH 1/6] feat: add test pipeline --- .github/workflows/build.yaml | 49 ++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/build.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..ad13c15 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,49 @@ +name: Build mkosi Image + +on: + workflow_dispatch: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build-mkosi: + runs-on: warp-ubuntu-latest-x64-8x + + permissions: + contents: read + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Nix + uses: DeterminateSystems/nix-installer-action@main + + # TODO: Setup Warp cache + # - name: Setup Warp cache + # uses: WarpBuilds/cache@v1 + # with: + # path: ~/.cache/mkosi/ + # key: ${{ runner.os }}-mkosi-cache-${{ hashFiles('**/mkosi.conf', '**/mkosi.packages') }} + # restore-keys: | + # ${{ runner.os }}-mkosi-cache- + + - name: Install system dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + qemu-system-x86 qemu-utils \ + debian-archive-keyring systemd-boot reprepro xz-utils + + - name: Configure Nix + run: | + mkdir -p ~/.config/nix + echo 'experimental-features = nix-command flakes' > ~/.config/nix/nix.conf + + # Building tdx-image for testing + - name: Build mkosi image using nix + run: | + mkdir -p ~/.cache/mkosi/ + ix develop --command mkosi --force -I tdx-dummy.conf From e120250be6124c38e96af3301b95abfba9cc96f9 Mon Sep 17 00:00:00 2001 From: Niccolo Raspa Date: Fri, 20 Jun 2025 12:01:51 +0200 Subject: [PATCH 2/6] fix: typo in nix command --- .github/workflows/e2e.yaml | 49 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/e2e.yaml diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml new file mode 100644 index 0000000..dbe97cd --- /dev/null +++ b/.github/workflows/e2e.yaml @@ -0,0 +1,49 @@ +name: Build mkosi Image + +on: + workflow_dispatch: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build-mkosi: + runs-on: warp-ubuntu-latest-x64-8x + + permissions: + contents: read + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Nix + uses: DeterminateSystems/nix-installer-action@main + + # TODO: Setup Warp cache + # - name: Setup Warp cache + # uses: WarpBuilds/cache@v1 + # with: + # path: ~/.cache/mkosi/ + # key: ${{ runner.os }}-mkosi-cache-${{ hashFiles('**/mkosi.conf', '**/mkosi.packages') }} + # restore-keys: | + # ${{ runner.os }}-mkosi-cache- + + - name: Install system dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + qemu-system-x86 qemu-utils \ + debian-archive-keyring systemd-boot reprepro xz-utils + + - name: Configure Nix + run: | + mkdir -p ~/.config/nix + echo 'experimental-features = nix-command flakes' > ~/.config/nix/nix.conf + + # Building tdx-image for testing + - name: Build mkosi image using nix + run: | + mkdir -p ~/.cache/mkosi/ + nix develop --command mkosi --force -I tdx-dummy.conf From 859f8b8189191b920a07d2ec4c535a557e41b550 Mon Sep 17 00:00:00 2001 From: Niccolo Raspa Date: Fri, 20 Jun 2025 12:03:50 +0200 Subject: [PATCH 3/6] test: add current branch for testing --- .github/workflows/e2e.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index dbe97cd..9b737c7 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -3,9 +3,12 @@ name: Build mkosi Image on: workflow_dispatch: push: - branches: [ main ] + branches: + - main + - feat/add-warp-ci # TODO: Remove this once the CI is working pull_request: - branches: [ main ] + branches: + - main jobs: build-mkosi: From 805d11e65a8eef9f887c5643dd1b1864cf7fcd82 Mon Sep 17 00:00:00 2001 From: Niccolo Raspa Date: Fri, 20 Jun 2025 12:08:13 +0200 Subject: [PATCH 4/6] fix: permissions errors --- .github/workflows/e2e.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index 9b737c7..e67b578 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -33,6 +33,12 @@ jobs: # restore-keys: | # ${{ runner.os }}-mkosi-cache- + - name: Enable user namespaces for mkosi + run: | + echo 'kernel.unprivileged_userns_clone=1' | sudo tee -a /etc/sysctl.conf + sudo sysctl -p + cat /proc/sys/kernel/unprivileged_userns_clone + - name: Install system dependencies run: | sudo apt-get update From a39eea0d2f57bd101299f99557ee311f2a668bde Mon Sep 17 00:00:00 2001 From: Niccolo Raspa Date: Fri, 20 Jun 2025 12:08:49 +0200 Subject: [PATCH 5/6] fix: permissions errors indentations --- .github/workflows/e2e.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index e67b578..974617c 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -33,11 +33,11 @@ jobs: # restore-keys: | # ${{ runner.os }}-mkosi-cache- - - name: Enable user namespaces for mkosi - run: | - echo 'kernel.unprivileged_userns_clone=1' | sudo tee -a /etc/sysctl.conf - sudo sysctl -p - cat /proc/sys/kernel/unprivileged_userns_clone + - name: Enable user namespaces for mkosi + run: | + echo 'kernel.unprivileged_userns_clone=1' | sudo tee -a /etc/sysctl.conf + sudo sysctl -p + cat /proc/sys/kernel/unprivileged_userns_clone - name: Install system dependencies run: | From 0c1030a506e4ada275cc5827d291eb4ead67254f Mon Sep 17 00:00:00 2001 From: Niccolo Raspa Date: Fri, 20 Jun 2025 16:28:24 +0200 Subject: [PATCH 6/6] fix: add only one CI --- .github/workflows/build.yaml | 15 ++++++++-- .github/workflows/e2e.yaml | 58 ------------------------------------ 2 files changed, 12 insertions(+), 61 deletions(-) delete mode 100644 .github/workflows/e2e.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index ad13c15..974617c 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -3,9 +3,12 @@ name: Build mkosi Image on: workflow_dispatch: push: - branches: [ main ] + branches: + - main + - feat/add-warp-ci # TODO: Remove this once the CI is working pull_request: - branches: [ main ] + branches: + - main jobs: build-mkosi: @@ -30,6 +33,12 @@ jobs: # restore-keys: | # ${{ runner.os }}-mkosi-cache- + - name: Enable user namespaces for mkosi + run: | + echo 'kernel.unprivileged_userns_clone=1' | sudo tee -a /etc/sysctl.conf + sudo sysctl -p + cat /proc/sys/kernel/unprivileged_userns_clone + - name: Install system dependencies run: | sudo apt-get update @@ -46,4 +55,4 @@ jobs: - name: Build mkosi image using nix run: | mkdir -p ~/.cache/mkosi/ - ix develop --command mkosi --force -I tdx-dummy.conf + nix develop --command mkosi --force -I tdx-dummy.conf diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml deleted file mode 100644 index 974617c..0000000 --- a/.github/workflows/e2e.yaml +++ /dev/null @@ -1,58 +0,0 @@ -name: Build mkosi Image - -on: - workflow_dispatch: - push: - branches: - - main - - feat/add-warp-ci # TODO: Remove this once the CI is working - pull_request: - branches: - - main - -jobs: - build-mkosi: - runs-on: warp-ubuntu-latest-x64-8x - - permissions: - contents: read - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup Nix - uses: DeterminateSystems/nix-installer-action@main - - # TODO: Setup Warp cache - # - name: Setup Warp cache - # uses: WarpBuilds/cache@v1 - # with: - # path: ~/.cache/mkosi/ - # key: ${{ runner.os }}-mkosi-cache-${{ hashFiles('**/mkosi.conf', '**/mkosi.packages') }} - # restore-keys: | - # ${{ runner.os }}-mkosi-cache- - - - name: Enable user namespaces for mkosi - run: | - echo 'kernel.unprivileged_userns_clone=1' | sudo tee -a /etc/sysctl.conf - sudo sysctl -p - cat /proc/sys/kernel/unprivileged_userns_clone - - - name: Install system dependencies - run: | - sudo apt-get update - sudo apt-get install -y \ - qemu-system-x86 qemu-utils \ - debian-archive-keyring systemd-boot reprepro xz-utils - - - name: Configure Nix - run: | - mkdir -p ~/.config/nix - echo 'experimental-features = nix-command flakes' > ~/.config/nix/nix.conf - - # Building tdx-image for testing - - name: Build mkosi image using nix - run: | - mkdir -p ~/.cache/mkosi/ - nix develop --command mkosi --force -I tdx-dummy.conf