From 9891dc33b85faa695a938d33b856e089f493d634 Mon Sep 17 00:00:00 2001 From: june-fish Date: Thu, 28 Mar 2024 15:12:07 -0500 Subject: [PATCH] split ci into arm and x86 --- .../workflows/{build.yml => build-arm64.yml} | 2 +- .github/workflows/build-x86_64.yml | 56 +++++++++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) rename .github/workflows/{build.yml => build-arm64.yml} (98%) create mode 100644 .github/workflows/build-x86_64.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build-arm64.yml similarity index 98% rename from .github/workflows/build.yml rename to .github/workflows/build-arm64.yml index a97048c..10b5863 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build-arm64.yml @@ -1,4 +1,4 @@ -name: Kernel Build +name: Kernel Build ARM64 on: push: branches: ["main"] diff --git a/.github/workflows/build-x86_64.yml b/.github/workflows/build-x86_64.yml new file mode 100644 index 0000000..8575aed --- /dev/null +++ b/.github/workflows/build-x86_64.yml @@ -0,0 +1,56 @@ +name: Kernel Build x86_64 +on: + push: + branches: ["main"] + workflow_dispatch: +jobs: + build: + strategy: + matrix: + variant: ['stoneyridge'] + runs-on: ubuntu-latest + container: + image: registry.fedoraproject.org/fedora-minimal:39 + steps: + - name: Install Toolchain + run: | + curl -L https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo -o /etc/yum.repos.d/terra.repo + dnf5 up -y + dnf5 install -y make gcc ccache flex bison elfutils-devel xz bc tar openssl-devel rpmbuild git dwarves openssl perl python3 rsync gcc-aarch64-linux-gnu subatomic-cli + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 1 + submodules: 'recursive' + - name: Setup each variant + run: make -C ${{ matrix.variant }} setup + - name: Setup enviroment variables + run: | + echo "CCACHE_DIR=$(pwd)/ccache" >> $GITHUB_ENV + echo "KERNEL_COMMIT=$(cd linux && git rev-parse HEAD)" >> $GITHUB_ENV + - name: Setup ccache cache + uses: actions/cache@v3 + with: + path: ${{ env.CCACHE_DIR }} + key: ccache-${{ matrix.variant }}-${{ env.KERNEL_COMMIT }}-${{ hashFiles(format('{0}/config', matrix.variant)) }} + restore-keys: | + ccache-${{ matrix.variant }}-${{ env.KERNEL_COMMIT }}- + ccache-${{ matrix.variant }}- + - name: Set git safe directory + run: git config --global safe.directory '*' + - name: Make + run: make -C ${{ matrix.variant }} CC="ccache gcc" compile + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.variant }} + path: | + ${{ format('{0}/rpmbuild/RPMS/x86_64/kernel-{0}*.rpm', matrix.variant) }} + ${{ format('{0}/rpmbuild/SRPMS/kernel-{0}*.src.rpm', matrix.variant) }} + - name: Upload packages to Subatomic + if: github.event_name == 'push' + run: | + subatomic-cli upload --prune \ + --server https://subatomic.fyralabs.com \ + --token ${{ secrets.SUBATOMIC_TOKEN }} \ + kaibutsu ${{ matrix.variant }}/rpmbuild/SRPMS/* ${{ matrix.variant }}/rpmbuild/RPMS/x86_64/*