Compare commits

..

No commits in common. "main" and "submit" have entirely different histories.
main ... submit

4 changed files with 28 additions and 40 deletions

View File

@ -33,7 +33,7 @@ jobs:
else
echo "trigger=false" >> $GITHUB_OUTPUT
echo "⛔ 只有包含“完成作业”的提交才会执行自动评分" >&2
fi
fi
grade:
needs: check-trigger
@ -63,7 +63,7 @@ jobs:
pip3 install --break-system-packages python-dotenv requests markdown weasyprint -i https://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
# 刷新字体缓存
fc-cache -f -v > /dev/null 2>&1 || true
rm -rf /var/lib/apt/lists/*
rm -rf /var/lib/apt/lists/*
- name: Configure Gradle mirror (Aliyun)
run: |
@ -80,7 +80,7 @@ jobs:
}
}
EOF
echo "✅ Gradle configured to use Aliyun mirror"
echo "✅ Gradle configured to use Aliyun mirror"
- name: Checkout code
env:
@ -93,7 +93,7 @@ jobs:
AUTH_URL=$(echo "$REPO_URL" | sed "s|://|://${GITHUB_TOKEN}@|")
git remote add origin "$AUTH_URL"
git fetch --depth=1 origin ${{ github.sha }}
git checkout ${{ github.sha }}
git checkout ${{ github.sha }}
- name: Fix permissions
run: chown -R $(whoami):$(whoami) ${{ github.workspace }} || true
@ -177,7 +177,7 @@ jobs:
fi
# Cleanup
rm -rf _priv_tests
rm -rf _priv_tests
- name: Run tests
working-directory: ${{ github.workspace }}
@ -190,7 +190,7 @@ jobs:
# Also try to get a single combined report
if [ -f build/test-results/test/TEST-*.xml ]; then
cp build/test-results/test/TEST-*.xml junit.xml 2>/dev/null || true
fi
fi
- name: Grade programming tests
working-directory: ${{ github.workspace }}
@ -200,7 +200,7 @@ jobs:
--junit-dir build/test-results/test \
--groups test_groups.json \
--out grade.json \
--summary summary.md
--summary summary.md
- name: Grade REPORT.md
working-directory: ${{ github.workspace }}
@ -217,7 +217,7 @@ jobs:
else
echo '{"total": 0, "flags": ["missing_file"]}' > report_grade.json
echo "⚠️ REPORT.md or rubric not found"
fi
fi
- name: Grade FRONTEND.md
working-directory: ${{ github.workspace }}
@ -234,7 +234,7 @@ jobs:
else
echo '{"total": 0, "flags": ["missing_file"]}' > frontend_grade.json
echo "⚠️ FRONTEND.md or rubric not found"
fi
fi
- name: Aggregate grades
working-directory: ${{ github.workspace }}
@ -244,7 +244,7 @@ jobs:
--report report_grade.json \
--frontend frontend_grade.json \
--out final_grade.json \
--summary final_summary.md
--summary final_summary.md
- name: Generate PDF report
working-directory: ${{ github.workspace }}
@ -279,7 +279,7 @@ jobs:
--student-name "$STUDENT_NAME" \
--class-name "$CLASS_NAME" \
--commit-sha "$COMMIT_SHA"
fi
fi
- name: Upload report to student repo
if: env.RUNNER_METADATA_TOKEN != ''
@ -350,7 +350,7 @@ jobs:
# 清理临时文件
rm -f /tmp/upload_request.json
fi
fi
- name: Create metadata
working-directory: ${{ github.workspace }}
@ -360,7 +360,7 @@ jobs:
if [ -f final_grade.json ]; then
export GRADE_TYPE=final
python3 ./.autograde/create_minimal_metadata.py > metadata.json || echo "{}" > metadata.json
fi
fi
- name: Upload metadata
if: env.RUNNER_METADATA_TOKEN != ''
@ -386,4 +386,5 @@ jobs:
--workflow grade \
--server-url "${SERVER_URL}" \
--external-host "${EXTERNAL_GITEA_HOST}"
fi
fi

View File

@ -16,9 +16,6 @@ java {
repositories {
maven { url = uri("https://maven.aliyun.com/repository/public") }
maven { url = uri("https://maven.aliyun.com/repository/central") }
maven { url = uri("https://maven.aliyun.com/repository/spring") }
maven { url = uri("https://maven.aliyun.com/repository/spring-plugin") }
mavenCentral()
}
@ -53,9 +50,5 @@ tasks.withType<Test> {
reports {
junitXml.required.set(true)
}
// Simplified configuration for Java 21 compatibility
enableAssertions = true
// Increase memory for tests
jvmArgs = listOf("-Xmx1024m", "-XX:+UseG1GC")
}

View File

@ -1,11 +1,8 @@
# Disable Gradle Daemon
org.gradle.daemon=false
# Gradle settings
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.caching=true
# Disable parallel execution
org.gradle.parallel=false
# JDK 21 path - modify this to your actual installation path
org.gradle.java.home=F:/OpenJDK21U-jdk_x64_windows_hotspot/jdk-21.0.9.10-hotspot
# Disable configuration on demand
org.gradle.configureondemand=false
# Fix for Java 21 compatibility
org.gradle.jvmargs=-Xmx1024m -XX:+UseG1GC

View File

@ -3,12 +3,12 @@ package com.vibevault.model;
import jakarta.persistence.*;
/**
* 姝屾洸瀹炰綋绫?
*
* 瑕佸疄鐜帮細
* - 灏嗘绫绘槧灏勪负鏁版嵁搴撹 "songs"
* - id 浣滀负鑷涓婚敭
* - 姣忛姝屾洸灞炰簬涓瓕鍗曪紙澶氬鍏崇郴锛?
* 歌曲实体类
*
* 需要实现
* - 将此类映射为数据库表 "songs"
* - id 作为自增主键
* - 每首歌曲属于一个歌单多对一关系
*/
@Entity
@Table(name = "songs")
@ -18,13 +18,10 @@ public class Song {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String title;
@Column(nullable = false)
private String artist;
@Column(nullable = false)
private int durationInSeconds;
@ManyToOne
@ -63,4 +60,4 @@ public class Song {
public void setPlaylist(Playlist playlist) {
this.playlist = playlist;
}
}
}