name: Refresh kernel for target on: workflow_call: inputs: target: required: true type: string testing: type: boolean permissions: contents: read jobs: setup_build: name: Setup build runs-on: ubuntu-latest outputs: owner_lc: ${{ steps.lower_owner.outputs.owner_lc }} steps: - name: Set lower case owner name id: lower_owner run: | OWNER_LC=$(echo "${{ github.repository_owner }}" \ | tr '[:upper:]' '[:lower:]') echo "owner_lc=$OWNER_LC" >> $GITHUB_OUTPUT check-patch: name: Check Kernel patches needs: setup_build runs-on: ubuntu-latest container: ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:latest permissions: contents: read packages: read steps: - name: Checkout master directory uses: actions/checkout@v3 with: path: openwrt - name: Fix permission run: | chown -R buildbot:buildbot openwrt - name: Initialization environment run: | TARGET=$(echo ${{ inputs.target }} | cut -d "/" -f 1) SUBTARGET=$(echo ${{ inputs.target }} | cut -d "/" -f 2) echo "TARGET=$TARGET" >> "$GITHUB_ENV" echo "SUBTARGET=$SUBTARGET" >> "$GITHUB_ENV" - name: Extract prebuilt tools shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: ./scripts/ext-tools.sh --tools /tools.tar - name: Configure testing kernel if: inputs.testing == true shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: | echo CONFIG_TESTING_KERNEL=y >> .config - name: Configure system shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: | echo CONFIG_ALL_KMODS=y >> .config echo CONFIG_DEVEL=y >> .config echo CONFIG_AUTOREMOVE=y >> .config echo CONFIG_CCACHE=y >> .config echo "CONFIG_TARGET_${{ env.TARGET }}=y" >> .config echo "CONFIG_TARGET_${{ env.TARGET }}_${{ env.SUBTARGET }}=y" >> .config make defconfig - name: Build tools shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: make tools/quilt/compile -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh - name: Refresh Kernel patches shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: | make target/linux/refresh V=s . .github/workflows/scripts/ci_helpers.sh if git diff --name-only --exit-code; then success "Kernel patches for ${{ env.TARGET }}/${{ env.SUBTARGET }} seems ok" else err "Kernel patches for ${{ env.TARGET }}/${{ env.SUBTARGET }} require refresh. (run 'make target/linux/refresh' and force push this pr)" exit 1 fi