Build Nightly #123
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Nightly | |
on: | |
schedule: | |
- cron: "0 22 * * *" | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout KasugaLib Repository | |
uses: actions/checkout@v4 | |
with: | |
repository: 'KasugaLibGroup/KasugaLib' | |
ref: '1.19.2-create' | |
path: 'kasugalib' | |
submodules: true | |
- name: Checkout KuaYue Repository | |
uses: actions/checkout@v4 | |
with: | |
repository: 'KasugaLibGroup/NeoKuaYue' | |
ref: 'master' | |
path: 'kuayue' | |
submodules: true | |
- name: Setup Java | |
uses: actions/[email protected] | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
cache: 'gradle' | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0 | |
with: | |
gradle-version: "7.5.1" | |
- name: Setup Node.js environment | |
uses: actions/[email protected] | |
with: | |
node-version: "22.x" | |
- name: Set UTC+8 Asia/Shanghai TimeZone | |
run: | | |
TIME="$(TZ='Asia/Shanghai' date +'%Y-%m-%d %H:%M:%S')" | |
echo "Build At: $TIME" >> $GITHUB_STEP_SUMMARY | |
- name: Build KasugaLib Javascript Runtime | |
run: | | |
cd ./kasugalib | |
git submodule update --remote --recursive | |
rm ./src/generated/resources/script/ -r -f | |
yarn | |
yarn build | |
cd .. | |
- name: Build KuaYue Javascript Code Pack | |
run: | | |
cd ./kuayue | |
git submodule update --remote --recursive | |
rm ./src/generated/resources/script/ -r -f | |
corepack enable | |
cd ./scripts/ | |
yarn install | |
yarn tsx ./build.ts | |
corepack disable | |
cd .. | |
- name: Build | |
env: | |
KUAYUE_TEAM_GITEA_ACCESS_TOKEN: ${{ secrets.KUAYUE_TEAM_GITEA_ACCESS_TOKEN }} | |
run: | | |
rm -r -f ./artifacts 2> /dev/null | |
mkdir ./artifacts/ | |
DATE_NUMBER="$(TZ='Asia/Shanghai' date +'%y%m%d')" | |
KASUGA_COMMIT=$(git --git-dir ./kasugalib/.git rev-parse HEAD) | |
KUAYUE_COMMIT=$(git --git-dir ./kuayue/.git rev-parse --short HEAD) | |
KASUGA_VERSION=1.19.2-nightly-create-${DATE_NUMBER}-$(git --git-dir ./kasugalib/.git rev-parse --short HEAD) | |
KUAYUE_VERSION=1.19.2-nightly-create-${DATE_NUMBER}-$(git --git-dir ./kuayue/.git rev-parse --short HEAD) | |
KASUGA_RELEASE="./kasugalib/build/libs/kasuga_lib-${KASUGA_VERSION}.jar" | |
KASUGA_RELEASE_LIB="./kuayue/libs/kasuga_lib-${KASUGA_VERSION}.jar" | |
KUAYUE_RELEASE="./kuayue/build/libs/kuayue-${KUAYUE_VERSION}.jar" | |
echo "## Output Versions: " >> $GITHUB_STEP_SUMMARY | |
echo "KuaYue: $KUAYUE_VERSION @ $KUAYUE_COMMIT" >> $GITHUB_STEP_SUMMARY | |
echo "KasugaLib: $KASUGA_VERSION @ $KASUGA_COMMIT" >> $GITHUB_STEP_SUMMARY | |
cd ./kasugalib | |
./gradlew build -Pmod_version="$KASUGA_VERSION" -PjarVersion="$KASUGA_VERSION" -Pnightly=true | |
./gradlew publishAllPublicationsToGradleCIMavenRepository -Pmod_version="$KASUGA_VERSION" -PjarVersion="$KASUGA_VERSION" -Pnightly=true -PkuaYueTeamGradleCiToken="$KUAYUE_TEAM_GITEA_ACCESS_TOKEN" | |
cd .. | |
cp $KASUGA_RELEASE "./artifacts/" | |
cp $KASUGA_RELEASE $KASUGA_RELEASE_LIB | |
cd ./kuayue | |
./gradlew build -Pmod_version="$KUAYUE_VERSION" -PjarVersion="$KUAYUE_VERSION" -Pkasuga_lib_version="$KASUGA_VERSION" -Pnightly=true | |
./gradlew publishAllPublicationsToGradleCIMavenRepository -Pmod_version="$KUAYUE_VERSION" -PjarVersion="$KUAYUE_VERSION" -Pkasuga_lib_version="$KASUGA_VERSION" -Pnightly=true -PkuaYueTeamGradleCiToken="$KUAYUE_TEAM_GITEA_ACCESS_TOKEN" | |
cd .. | |
cp $KUAYUE_RELEASE "./artifacts/" | |
NIGHTLY_VERSIONS='{"kasugalib":{"version":"'${KASUGA_VERSION}'","download":"/artifacts/nightly/kasuga_lib-'${KASUGA_VERSION}'.jar","commit":"'${KASUGA_COMMIT}'"},"kuayue":{"version":"'${KUAYUE_VERSION}'","download":"/artifacts/nightly/kuayue-'${KUAYUE_VERSION}'.jar","commit":"'${KUAYUE_COMMIT}'"}}' | |
echo $NIGHTLY_VERSIONS >> ./artifacts/build-info.json | |
- name: Upload Artifact to FTP Server | |
uses: SamKirkland/[email protected] | |
with: | |
server: ${{ secrets.KUAYUE_UPLOAD_SERVER }} | |
username: uploader | |
password: ${{ secrets.KUAYUE_UPLOAD_PASSWORD }} | |
local-dir: ./artifacts/ | |
server-dir: ./nightly/ | |