|
@@ -57,10 +57,14 @@ on:
|
|
|
description: "Use repo for downloading kernel source"
|
|
description: "Use repo for downloading kernel source"
|
|
|
type: boolean
|
|
type: boolean
|
|
|
default: true
|
|
default: true
|
|
|
|
|
+ test_release_notes:
|
|
|
|
|
+ description: "Test release notes only"
|
|
|
|
|
+ type: boolean
|
|
|
|
|
+ default: false
|
|
|
|
|
|
|
|
jobs:
|
|
jobs:
|
|
|
build-android12-5-10:
|
|
build-android12-5-10:
|
|
|
- if: ${{ inputs.kernel_build_version == 'All' || inputs.kernel_build_version == 'android12-5.10' }}
|
|
|
|
|
|
|
+ if: ${{ !inputs.test_release_notes && (inputs.kernel_build_version == 'All' || inputs.kernel_build_version == 'android12-5.10') }}
|
|
|
uses: ./.github/workflows/prepare.yml
|
|
uses: ./.github/workflows/prepare.yml
|
|
|
with:
|
|
with:
|
|
|
config_file: .github/config/android12-5.10.json
|
|
config_file: .github/config/android12-5.10.json
|
|
@@ -70,7 +74,7 @@ jobs:
|
|
|
secrets: inherit
|
|
secrets: inherit
|
|
|
|
|
|
|
|
build-android13-5-10:
|
|
build-android13-5-10:
|
|
|
- if: ${{ inputs.kernel_build_version == 'All' || inputs.kernel_build_version == 'android13-5.10' }}
|
|
|
|
|
|
|
+ if: ${{ !inputs.test_release_notes && (inputs.kernel_build_version == 'All' || inputs.kernel_build_version == 'android13-5.10') }}
|
|
|
uses: ./.github/workflows/prepare.yml
|
|
uses: ./.github/workflows/prepare.yml
|
|
|
with:
|
|
with:
|
|
|
config_file: .github/config/android13-5.10.json
|
|
config_file: .github/config/android13-5.10.json
|
|
@@ -80,7 +84,7 @@ jobs:
|
|
|
secrets: inherit
|
|
secrets: inherit
|
|
|
|
|
|
|
|
build-android13-5-15:
|
|
build-android13-5-15:
|
|
|
- if: ${{ inputs.kernel_build_version == 'All' || inputs.kernel_build_version == 'android13-5.15' }}
|
|
|
|
|
|
|
+ if: ${{ !inputs.test_release_notes && (inputs.kernel_build_version == 'All' || inputs.kernel_build_version == 'android13-5.15') }}
|
|
|
uses: ./.github/workflows/prepare.yml
|
|
uses: ./.github/workflows/prepare.yml
|
|
|
with:
|
|
with:
|
|
|
config_file: .github/config/android13-5.15.json
|
|
config_file: .github/config/android13-5.15.json
|
|
@@ -90,7 +94,7 @@ jobs:
|
|
|
secrets: inherit
|
|
secrets: inherit
|
|
|
|
|
|
|
|
build-android14-5-15:
|
|
build-android14-5-15:
|
|
|
- if: ${{ inputs.kernel_build_version == 'All' || inputs.kernel_build_version == 'android14-5.15' }}
|
|
|
|
|
|
|
+ if: ${{ !inputs.test_release_notes && (inputs.kernel_build_version == 'All' || inputs.kernel_build_version == 'android14-5.15') }}
|
|
|
uses: ./.github/workflows/prepare.yml
|
|
uses: ./.github/workflows/prepare.yml
|
|
|
with:
|
|
with:
|
|
|
config_file: .github/config/android14-5.15.json
|
|
config_file: .github/config/android14-5.15.json
|
|
@@ -100,7 +104,7 @@ jobs:
|
|
|
secrets: inherit
|
|
secrets: inherit
|
|
|
|
|
|
|
|
build-android14-6-1:
|
|
build-android14-6-1:
|
|
|
- if: ${{ inputs.kernel_build_version == 'All' || inputs.kernel_build_version == 'android14-6.1' }}
|
|
|
|
|
|
|
+ if: ${{ !inputs.test_release_notes && (inputs.kernel_build_version == 'All' || inputs.kernel_build_version == 'android14-6.1') }}
|
|
|
uses: ./.github/workflows/prepare.yml
|
|
uses: ./.github/workflows/prepare.yml
|
|
|
with:
|
|
with:
|
|
|
config_file: .github/config/android14-6.1.json
|
|
config_file: .github/config/android14-6.1.json
|
|
@@ -110,7 +114,7 @@ jobs:
|
|
|
secrets: inherit
|
|
secrets: inherit
|
|
|
|
|
|
|
|
build-android15-6-6:
|
|
build-android15-6-6:
|
|
|
- if: ${{ inputs.kernel_build_version == 'All' || inputs.kernel_build_version == 'android15-6.6' }}
|
|
|
|
|
|
|
+ if: ${{ !inputs.test_release_notes && (inputs.kernel_build_version == 'All' || inputs.kernel_build_version == 'android15-6.6') }}
|
|
|
uses: ./.github/workflows/prepare.yml
|
|
uses: ./.github/workflows/prepare.yml
|
|
|
with:
|
|
with:
|
|
|
config_file: .github/config/android15-6.6.json
|
|
config_file: .github/config/android15-6.6.json
|
|
@@ -120,7 +124,7 @@ jobs:
|
|
|
secrets: inherit
|
|
secrets: inherit
|
|
|
|
|
|
|
|
build-android16-6-12:
|
|
build-android16-6-12:
|
|
|
- if: ${{ inputs.kernel_build_version == 'All' || inputs.kernel_build_version == 'android16-6.12' }}
|
|
|
|
|
|
|
+ if: ${{ !inputs.test_release_notes && (inputs.kernel_build_version == 'All' || inputs.kernel_build_version == 'android16-6.12') }}
|
|
|
uses: ./.github/workflows/prepare.yml
|
|
uses: ./.github/workflows/prepare.yml
|
|
|
with:
|
|
with:
|
|
|
config_file: .github/config/android16-6.12.json
|
|
config_file: .github/config/android16-6.12.json
|
|
@@ -130,7 +134,7 @@ jobs:
|
|
|
secrets: inherit
|
|
secrets: inherit
|
|
|
|
|
|
|
|
rej:
|
|
rej:
|
|
|
- if: always()
|
|
|
|
|
|
|
+ if: ${{ !inputs.test_release_notes && always() }}
|
|
|
runs-on: ubuntu-latest
|
|
runs-on: ubuntu-latest
|
|
|
permissions:
|
|
permissions:
|
|
|
actions: read
|
|
actions: read
|
|
@@ -198,44 +202,29 @@ jobs:
|
|
|
|
|
|
|
|
release-preview:
|
|
release-preview:
|
|
|
runs-on: ubuntu-latest
|
|
runs-on: ubuntu-latest
|
|
|
- if: ${{ always() && github.event_name == 'workflow_dispatch' }}
|
|
|
|
|
|
|
+ if: ${{ github.event_name == 'workflow_dispatch' && inputs.test_release_notes == true }}
|
|
|
permissions:
|
|
permissions:
|
|
|
contents: read
|
|
contents: read
|
|
|
- needs:
|
|
|
|
|
- - build-android12-5-10
|
|
|
|
|
- - build-android13-5-10
|
|
|
|
|
- - build-android13-5-15
|
|
|
|
|
- - build-android14-5-15
|
|
|
|
|
- - build-android14-6-1
|
|
|
|
|
- - build-android15-6-6
|
|
|
|
|
- - build-android16-6-12
|
|
|
|
|
|
|
|
|
|
env:
|
|
env:
|
|
|
GH_TOKEN: ${{ github.token }}
|
|
GH_TOKEN: ${{ github.token }}
|
|
|
- RELEASE_CONFIG: .github/config/release.json
|
|
|
|
|
|
|
+ RELEASE_NOTES: .github/config/RELEASE_NOTES.md
|
|
|
|
|
+ COMMITS_JSON: .github/config/commits.json
|
|
|
|
|
|
|
|
steps:
|
|
steps:
|
|
|
- name: Checkout code
|
|
- name: Checkout code
|
|
|
uses: actions/checkout@v5
|
|
uses: actions/checkout@v5
|
|
|
|
|
|
|
|
- - name: Load Release Config
|
|
|
|
|
- id: release_meta
|
|
|
|
|
- run: |
|
|
|
|
|
- set -euo pipefail
|
|
|
|
|
-
|
|
|
|
|
- release_title=$(python3 -c 'import json,sys;from pathlib import Path;data=json.loads(Path(sys.argv[1]).read_text());print(data["release"]["title"])' "$RELEASE_CONFIG")
|
|
|
|
|
- echo "release_title=$release_title" >> "$GITHUB_OUTPUT"
|
|
|
|
|
-
|
|
|
|
|
- name: Extract KernelSU Version Info
|
|
- name: Extract KernelSU Version Info
|
|
|
id: ksu_version
|
|
id: ksu_version
|
|
|
env:
|
|
env:
|
|
|
- RELEASE_CONFIG_PATH: ${{ env.RELEASE_CONFIG }}
|
|
|
|
|
|
|
+ COMMITS_JSON_PATH: ${{ env.COMMITS_JSON }}
|
|
|
run: |
|
|
run: |
|
|
|
set -euo pipefail
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
- # Extract KernelSU commit and branch from release config
|
|
|
|
|
- KSUN_COMMIT=$(python3 -c 'import json,sys;from pathlib import Path;data=json.loads(Path(sys.argv[1]).read_text());print(data["kernelsu"]["dev"])' "$RELEASE_CONFIG_PATH")
|
|
|
|
|
- KSUN_BRANCH=$(python3 -c 'import json,sys;from pathlib import Path;data=json.loads(Path(sys.argv[1]).read_text());print("dev")' "$RELEASE_CONFIG_PATH")
|
|
|
|
|
|
|
+ # Extract KernelSU commit and branch from commits config
|
|
|
|
|
+ KSUN_COMMIT=$(jq -er '.kernelsu.dev' "$COMMITS_JSON_PATH")
|
|
|
|
|
+ KSUN_BRANCH="dev"
|
|
|
|
|
|
|
|
# Clone KernelSU-Next on the specified branch
|
|
# Clone KernelSU-Next on the specified branch
|
|
|
echo "Cloning KernelSU-Next from branch: $KSUN_BRANCH"
|
|
echo "Cloning KernelSU-Next from branch: $KSUN_BRANCH"
|
|
@@ -280,10 +269,10 @@ jobs:
|
|
|
run: |
|
|
run: |
|
|
|
set -e
|
|
set -e
|
|
|
|
|
|
|
|
- RELEASE_CONFIG_PATH="$RELEASE_CONFIG"
|
|
|
|
|
|
|
+ RELEASE_NOTES_PATH="$RELEASE_NOTES"
|
|
|
: > release_body.md
|
|
: > release_body.md
|
|
|
|
|
|
|
|
- python3 .github/scripts/render_release_body.py "$RELEASE_CONFIG_PATH" > release_body.md
|
|
|
|
|
|
|
+ python3 .github/scripts/render_release_body.py "$RELEASE_NOTES_PATH" > release_body.md
|
|
|
|
|
|
|
|
- name: Publish release notes preview
|
|
- name: Publish release notes preview
|
|
|
run: |
|
|
run: |
|
|
@@ -295,7 +284,7 @@ jobs:
|
|
|
|
|
|
|
|
release:
|
|
release:
|
|
|
runs-on: ubuntu-latest
|
|
runs-on: ubuntu-latest
|
|
|
- if: ${{ github.event_name == 'workflow_dispatch' && (inputs.release_type == 'Pre-Release' || inputs.release_type == 'Release') }}
|
|
|
|
|
|
|
+ if: ${{ github.event_name == 'workflow_dispatch' && !inputs.test_release_notes && (inputs.release_type == 'Pre-Release' || inputs.release_type == 'Release') }}
|
|
|
permissions:
|
|
permissions:
|
|
|
contents: write
|
|
contents: write
|
|
|
needs:
|
|
needs:
|
|
@@ -309,7 +298,8 @@ jobs:
|
|
|
|
|
|
|
|
env:
|
|
env:
|
|
|
GH_TOKEN: ${{ github.token }}
|
|
GH_TOKEN: ${{ github.token }}
|
|
|
- RELEASE_CONFIG: .github/config/release.json
|
|
|
|
|
|
|
+ RELEASE_NOTES: .github/config/RELEASE_NOTES.md
|
|
|
|
|
+ COMMITS_JSON: .github/config/commits.json
|
|
|
outputs:
|
|
outputs:
|
|
|
new_tag: ${{ steps.tag.outputs.new_tag }}
|
|
new_tag: ${{ steps.tag.outputs.new_tag }}
|
|
|
steps:
|
|
steps:
|
|
@@ -366,7 +356,7 @@ jobs:
|
|
|
|
|
|
|
|
- name: Generate New Tag
|
|
- name: Generate New Tag
|
|
|
id: tag
|
|
id: tag
|
|
|
- if: inputs.release_type != 'Actions'
|
|
|
|
|
|
|
+ if: inputs.release_type != 'Action'
|
|
|
run: |
|
|
run: |
|
|
|
LATEST_TAG=$(gh api repos/${{ github.repository }}/tags --jq '.[0].name' 2>/dev/null || echo "v0.0.0")
|
|
LATEST_TAG=$(gh api repos/${{ github.repository }}/tags --jq '.[0].name' 2>/dev/null || echo "v0.0.0")
|
|
|
if [[ -z "$LATEST_TAG" || "$LATEST_TAG" == "null" ]]; then
|
|
if [[ -z "$LATEST_TAG" || "$LATEST_TAG" == "null" ]]; then
|
|
@@ -387,24 +377,24 @@ jobs:
|
|
|
echo "NEW_TAG=${NEW_TAG}" >> $GITHUB_ENV
|
|
echo "NEW_TAG=${NEW_TAG}" >> $GITHUB_ENV
|
|
|
echo "new_tag=$NEW_TAG" >> $GITHUB_OUTPUT
|
|
echo "new_tag=$NEW_TAG" >> $GITHUB_OUTPUT
|
|
|
|
|
|
|
|
- - name: Load Release Config
|
|
|
|
|
|
|
+ - name: Set Release Title
|
|
|
id: release_meta
|
|
id: release_meta
|
|
|
run: |
|
|
run: |
|
|
|
set -euo pipefail
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
- release_title=$(python3 -c 'import json,sys;from pathlib import Path;data=json.loads(Path(sys.argv[1]).read_text());print(data["release"]["title"])' "$RELEASE_CONFIG")
|
|
|
|
|
|
|
+ release_title="GKI Kernel Build ${NEW_TAG}"
|
|
|
echo "release_title=$release_title" >> "$GITHUB_OUTPUT"
|
|
echo "release_title=$release_title" >> "$GITHUB_OUTPUT"
|
|
|
|
|
|
|
|
- name: Extract KernelSU Version Info
|
|
- name: Extract KernelSU Version Info
|
|
|
id: ksu_version
|
|
id: ksu_version
|
|
|
env:
|
|
env:
|
|
|
- RELEASE_CONFIG_PATH: ${{ env.RELEASE_CONFIG }}
|
|
|
|
|
|
|
+ COMMITS_JSON_PATH: ${{ env.COMMITS_JSON }}
|
|
|
run: |
|
|
run: |
|
|
|
set -euo pipefail
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
- # Extract KernelSU commit and branch from release config
|
|
|
|
|
- KSUN_COMMIT=$(python3 -c 'import json,sys;from pathlib import Path;data=json.loads(Path(sys.argv[1]).read_text());print(data["kernelsu"]["dev"])' "$RELEASE_CONFIG_PATH")
|
|
|
|
|
- KSUN_BRANCH=$(python3 -c 'print("dev")')
|
|
|
|
|
|
|
+ # Extract KernelSU commit and branch from commits config
|
|
|
|
|
+ KSUN_COMMIT=$(jq -er '.kernelsu.dev' "$COMMITS_JSON_PATH")
|
|
|
|
|
+ KSUN_BRANCH="dev"
|
|
|
|
|
|
|
|
# Clone KernelSU-Next on the specified branch
|
|
# Clone KernelSU-Next on the specified branch
|
|
|
echo "Cloning KernelSU-Next from branch: $KSUN_BRANCH"
|
|
echo "Cloning KernelSU-Next from branch: $KSUN_BRANCH"
|
|
@@ -449,10 +439,10 @@ jobs:
|
|
|
run: |
|
|
run: |
|
|
|
set -e
|
|
set -e
|
|
|
|
|
|
|
|
- RELEASE_CONFIG_PATH="$RELEASE_CONFIG"
|
|
|
|
|
|
|
+ RELEASE_NOTES_PATH="$RELEASE_NOTES"
|
|
|
: > release_body.md
|
|
: > release_body.md
|
|
|
|
|
|
|
|
- python3 .github/scripts/render_release_body.py "$RELEASE_CONFIG_PATH" > release_body.md
|
|
|
|
|
|
|
+ python3 .github/scripts/render_release_body.py "$RELEASE_NOTES_PATH" > release_body.md
|
|
|
|
|
|
|
|
- name: Publish release notes preview
|
|
- name: Publish release notes preview
|
|
|
run: |
|
|
run: |
|