Skip to content

Commit

Permalink
Use github-mirror-action@v3
Browse files Browse the repository at this point in the history
  • Loading branch information
johnny-mnemonic committed Jan 8, 2024
1 parent ca4d9b8 commit 6f23707
Show file tree
Hide file tree
Showing 13 changed files with 4,816 additions and 3 deletions.
36 changes: 36 additions & 0 deletions .github/workflows/build-kernel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: 'build kernel'
on:
workflow_call:
inputs:
branch:
required: true
type: string

workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
ref: ${{ inputs.branch }}

- name: build_step
run: |
echo "build"
build_dir=$( pwd )
pushd ../
wget 'https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/13.2.0/x86_64-gcc-13.2.0-nolibc-ia64-linux.tar.xz' -O ./tarball.tar.xz
wget 'https://raw.githubusercontent.com/johnny-mnemonic/linux-stable-rc/__mirror/make-kernel.bash' && chmod +x make-kernel.bash
wget 'https://raw.githubusercontent.com/johnny-mnemonic/linux-stable-rc/__mirror/rx2620-rx2660-rx2800-i2-combined-localmodconfig'
wget 'https://raw.githubusercontent.com/johnny-mnemonic/linux-stable-rc/__mirror/ia64-linux-workaround-ice-with-gcc-13.patch'
tar -xf tarball.tar.xz
ls -l
PATH=$PATH:$PWD/gcc-13.2.0-nolibc/ia64-linux/bin
popd
patch -p1 < ../ia64-linux-workaround-ice-with-gcc-13.patch
pushd ../
time ./make-kernel.bash ./rx2620-rx2660-rx2800-i2-combined-localmodconfig ia64 ${build_dir}
13 changes: 13 additions & 0 deletions .github/workflows/linux-4.19.y.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: 'linux-4.19.y'
on:
workflow_run:
workflows: [linux_4_19_y_rc_ready]
types: [completed]
workflow_dispatch:

jobs:
build:
#if: ${{ github.event.workflow_run.conclusion == 'success' }}
uses: ./.github/workflows/build-kernel.yml
with:
branch: 'linux-4.19.y'
13 changes: 13 additions & 0 deletions .github/workflows/linux-5.10.y.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: 'linux-5.10.y'
on:
workflow_run:
workflows: [linux_5_10_y_rc_ready]
types: [completed]
workflow_dispatch:

jobs:
build:
#if: ${{ github.event.workflow_run.conclusion == 'success' }}
uses: ./.github/workflows/build-kernel.yml
with:
branch: 'linux-5.10.y'
13 changes: 13 additions & 0 deletions .github/workflows/linux-5.15.y.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: 'linux-5.15.y'
on:
workflow_run:
workflows: [linux_5_15_y_rc_ready]
types: [completed]
workflow_dispatch:

jobs:
build:
#if: ${{ github.event.workflow_run.conclusion == 'success' }}
uses: ./.github/workflows/build-kernel.yml
with:
branch: 'linux-5.15.y'
13 changes: 13 additions & 0 deletions .github/workflows/linux-5.4.y.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: 'linux-5.4.y'
on:
workflow_run:
workflows: [linux_5_4_y_rc_ready]
types: [completed]
workflow_dispatch:

jobs:
build:
#if: ${{ github.event.workflow_run.conclusion == 'success' }}
uses: ./.github/workflows/build-kernel.yml
with:
branch: 'linux-5.4.y'
13 changes: 13 additions & 0 deletions .github/workflows/linux-6.1.y.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: 'linux-6.1.y'
on:
workflow_run:
workflows: [linux_6_1_y_rc_ready]
types: [completed]
workflow_dispatch:

jobs:
build:
#if: ${{ github.event.workflow_run.conclusion == 'success' }}
uses: ./.github/workflows/build-kernel.yml
with:
branch: 'linux-6.1.y'
13 changes: 13 additions & 0 deletions .github/workflows/linux-6.6.y.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: 'linux-6.6.y'
on:
workflow_run:
workflows: [linux_6_6_y_rc_ready]
types: [completed]
workflow_dispatch:

jobs:
build:
#if: ${{ github.event.workflow_run.conclusion == 'success' }}
uses: ./.github/workflows/build-kernel.yml
with:
branch: 'linux-6.6.y'
88 changes: 86 additions & 2 deletions .github/workflows/mirror.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,97 @@ on:
workflow_dispatch:

jobs:
mirror:
mirror-and-check:
runs-on: ubuntu-latest
name: mirror
outputs:
matrix: ${{ steps.check.outputs.matrix }}
steps:
- name: mirror
id: mirror
uses: bridgelightcloud/github-mirror-action@v2
uses: bridgelightcloud/github-mirror-action@v3
with:
origin: 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git'
GITHUB_TOKEN: ${{ secrets.PAT }}

- name: check
id: check
run: |
REPO=$( basename $PWD )
cd ..
mv $REPO ${REPO}.git
git clone --shared ${REPO}.git $REPO
JSON_DATA_FILE="workflows.json"
cd $REPO
for branch in $( cat rc-branches ); do
git worktree add ../${branch} ${branch}
pushd ../${branch}
if git log --oneline HEAD~1 | grep "Linux\ .*\-rc.*" >/dev/null; then
KERNEL_VERSION=$( git log --oneline HEAD~1 | grep -o "Linux\ .*\-rc.*" )
echo "build ${KERNEL_VERSION}"
if [[ -e ${JSON_DATA_FILE} ]]; then
echo -n ",{\"workflow\":\"build_${branch}.yml\"}" >> ../${JSON_DATA_FILE}
else
echo -n "{\"workflow\":\"build_${branch}.yml\"}" >> ../${JSON_DATA_FILE}
fi
fi
popd
done
cat ../${JSON_DATA_FILE}
echo "::set-output name=matrix::{\"include\":[$( cat ../${JSON_DATA_FILE} )]}"
signal_build:
needs: mirror-and-check
runs-on: ubuntu-latest
strategy:
matrix: ${{fromJson(needs.mirror-and-check.outputs.matrix)}}
steps:
# uses: ./.github/workflows/${{ matrix.workflow }}
- name: test
run: |
echo ${{ matrix.workflow }}

# - name: check_env
# run: |
# pwd
# ls -l
# git status || true
# git checkout linux-6.6.y || true
# if git log --oneline HEAD~1 | grep "Linux\ .*\-rc.*"; then
# echo "build"
# echo "call linux-6.6.y test-build workflow"
# else
# echo "nobuild"
# fi
# cd ..
# ls -l

# check_matrix:
# needs: mirror
# strategy:
# # Don't cancel the remaining running jobs if some job(s) fail(s)
# fail-fast: false
# matrix:
# branch: ['linux-6.6.y', 'linux-6.1.y' ]
# max-parallel: 1
# steps:
# - name: check
# run: |
# pwd
# ls -l
# if [[ -e Makefile ]]; then
# make mrproper || true
# fi
# git checkout ${{ matrix.branch }}
# if git log --oneline | grep "Linux\ .*\-rc.*"; then
# echo "build for ${{ matrix.branch }}"
# else
# echo "nobuild for ${{ matrix.branch }}"
# fi
# ls -l
# cd ..
# ls -l
# exit 0

21 changes: 20 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,20 @@
This branch exists for internal purposes, to see the code, go to [the master branch](../../tree/master)
# Linux stable Release (Candidate) builds for ia64 #

## Mirror workflow ##

[![mirror](https://github.com/johnny-mnemonic/linux-stable-rc/actions/workflows/mirror.yml/badge.svg?branch=__mirror)](https://github.com/johnny-mnemonic/linux-stable-rc/actions/workflows/mirror.yml)

## Kernel build workflows #

| Status | Kernel version |
| -------------- | ------ |
| [![linux-6.6.y](https://github.com/johnny-mnemonic/linux-stable-rc/actions/workflows/linux-6.6.y.yml/badge.svg)](https://github.com/johnny-mnemonic/linux-stable-rc/actions/workflows/linux-6.6.y.yml) | |
| [![linux-6.1.y](https://github.com/johnny-mnemonic/linux-stable-rc/actions/workflows/linux-6.1.y.yml/badge.svg)](https://github.com/johnny-mnemonic/linux-stable-rc/actions/workflows/linux-6.1.y.yml) | |
| [![linux-5.15.y](https://github.com/johnny-mnemonic/linux-stable-rc/actions/workflows/linux-5.15.y.yml/badge.svg)](https://github.com/johnny-mnemonic/linux-stable-rc/actions/workflows/linux-5.15.y.yml) | |
| [![linux-5.10.y](https://github.com/johnny-mnemonic/linux-stable-rc/actions/workflows/linux-5.10.y.yml/badge.svg)](https://github.com/johnny-mnemonic/linux-stable-rc/actions/workflows/linux-5.10.y.yml) | |
| [![linux-5.4.y](https://github.com/johnny-mnemonic/linux-stable-rc/actions/workflows/linux-5.4.y.yml/badge.svg)](https://github.com/johnny-mnemonic/linux-stable-rc/actions/workflows/linux-5.4.y.yml) | |
| [![linux-4.19.y](https://github.com/johnny-mnemonic/linux-stable-rc/actions/workflows/linux-4.19.y.yml/badge.svg)](https://github.com/johnny-mnemonic/linux-stable-rc/actions/workflows/linux-4.19.y.yml) | |

****

This branch exists for internal purposes, to see the code, go to [the master branch](../../tree/master)
46 changes: 46 additions & 0 deletions ia64-linux-workaround-ice-with-gcc-13.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
From: Frank Scheiner <[email protected]>
Date: Mon, 18 Sep 2023 16:33:50 +0200
Subject: [ia64] `-fno-var-tracking` works around an ICE in gcc-13 for target
ia64

Apply it for the two files that trigger the ICE according to e.g. [1] to
enable successful Linux kernel builds for ia64 when using gcc-13 until
the corresponding GCC bug ([2]) is fixed.

[1]: https://buildd.debian.org/status/fetch.php?pkg=linux&arch=ia64&ver=6.4.4-2&stamp=1690708282&raw=0

[2]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111425
---
drivers/net/ethernet/broadcom/bnx2x/Makefile | 3 +++
net/ipv4/Makefile | 3 +++
2 files changed, 6 insertions(+)

diff --git a/drivers/net/ethernet/broadcom/bnx2x/Makefile b/drivers/net/ethernet/broadcom/bnx2x/Makefile
index 2523cfc7527d..13db3ee9fcb5 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/Makefile
+++ b/drivers/net/ethernet/broadcom/bnx2x/Makefile
@@ -5,5 +5,8 @@

obj-$(CONFIG_BNX2X) += bnx2x.o

+ifeq ($(ARCH),ia64)
+ CFLAGS_bnx2x_sp.o += -fno-var-tracking
+endif
bnx2x-y := bnx2x_main.o bnx2x_link.o bnx2x_cmn.o bnx2x_ethtool.o bnx2x_stats.o bnx2x_dcb.o bnx2x_sp.o bnx2x_self_test.o
bnx2x-$(CONFIG_BNX2X_SRIOV) += bnx2x_vfpf.o bnx2x_sriov.o
diff --git a/net/ipv4/Makefile b/net/ipv4/Makefile
index b18ba8ef93ad..82326539bf25 100644
--- a/net/ipv4/Makefile
+++ b/net/ipv4/Makefile
@@ -3,6 +3,9 @@
# Makefile for the Linux TCP/IP (INET) layer.
#

+ifeq ($(ARCH),ia64)
+ CFLAGS_fib_semantics.o += -fno-var-tracking
+endif
obj-y := route.o inetpeer.o protocol.o \
ip_input.o ip_fragment.o ip_forward.o ip_options.o \
ip_output.o ip_sockglue.o inet_hashtables.o \
--
2.11.0
Loading

0 comments on commit 6f23707

Please sign in to comment.