Compare commits

..

33 Commits
submit ... main

Author SHA1 Message Date
User
257c1a91ed 完成作业
Some checks failed
autograde-final-vibevault / check-trigger (push) Successful in 5s
autograde-final-vibevault / grade (push) Failing after 40s
2025-12-23 20:28:58 +08:00
User
750af38ff5 完成作业 2025-12-23 20:20:21 +08:00
User
adeae07283 完成作业
Some checks failed
autograde-final-vibevault / check-trigger (push) Successful in 3s
autograde-final-vibevault / grade (push) Failing after 41s
2025-12-23 20:10:28 +08:00
User
145d2fafcb 完成作业
Some checks failed
autograde-final-vibevault / check-trigger (push) Successful in 6s
autograde-final-vibevault / grade (push) Failing after 44s
2025-12-23 20:03:56 +08:00
User
47b459da42 完成作业
Some checks failed
autograde-final-vibevault / check-trigger (push) Successful in 3s
autograde-final-vibevault / grade (push) Failing after 36s
2025-12-23 19:51:06 +08:00
User
4959bbe4af 完成作业:修复合并冲突
Some checks failed
autograde-final-vibevault / check-trigger (push) Successful in 8s
autograde-final-vibevault / grade (push) Failing after 40s
2025-12-23 19:45:02 +08:00
User
5f2c7af0de 完成作业 2025-12-23 19:40:33 +08:00
User
53b844b9d9 完成作业 2025-12-23 19:34:37 +08:00
User
f9b2162606 Initial commit 2025-12-23 19:12:44 +08:00
f527132776 Add grade report for 5629c49
All checks were successful
autograde-final-vibevault / check-trigger (push) Successful in 4s
autograde-final-vibevault / grade (push) Has been skipped
2025-12-23 14:22:55 +08:00
mh04194357
5629c49601 完成作业
Some checks failed
autograde-final-vibevault / check-trigger (push) Successful in 3s
autograde-final-vibevault / grade (push) Has been cancelled
2025-12-23 14:18:41 +08:00
fc3273bfac 删除 reports/grade_report_d9cbab1.pdf
All checks were successful
autograde-final-vibevault / check-trigger (push) Successful in 2s
autograde-final-vibevault / grade (push) Has been skipped
2025-12-23 14:14:22 +08:00
450c704c9c 删除 reports/grade_report_737eecb.pdf
Some checks failed
autograde-final-vibevault / check-trigger (push) Has been cancelled
autograde-final-vibevault / grade (push) Has been cancelled
2025-12-23 14:14:16 +08:00
1711d6b8f7 Add grade report for 737eecb
All checks were successful
autograde-final-vibevault / check-trigger (push) Successful in 3s
autograde-final-vibevault / grade (push) Has been skipped
2025-12-23 14:10:54 +08:00
mh04194357
737eecbc3c 完成作业:重新执行评分
Some checks failed
autograde-final-vibevault / check-trigger (push) Successful in 4s
autograde-final-vibevault / grade (push) Has been cancelled
2025-12-23 14:06:52 +08:00
mh04194357
9cf1f5098b Merge branch 'main' of http://49.234.193.192:3000/mh04194357/2311061205
All checks were successful
autograde-final-vibevault / check-trigger (push) Successful in 2s
autograde-final-vibevault / grade (push) Has been skipped
2025-12-23 14:04:45 +08:00
mh04194357
1f979a6b30 完成作业:触发自动评分 2025-12-23 14:03:10 +08:00
def8f4cc14 Update grade report for d9cbab1
All checks were successful
autograde-final-vibevault / check-trigger (push) Successful in 4s
autograde-final-vibevault / grade (push) Has been skipped
2025-12-23 13:59:32 +08:00
d6fcf3a6ab Add grade report for d9cbab1
All checks were successful
autograde-final-vibevault / check-trigger (push) Successful in 3s
autograde-final-vibevault / grade (push) Has been skipped
2025-12-23 13:56:16 +08:00
mh04194357
d9cbab16b2 完成作业
Some checks failed
autograde-final-vibevault / check-trigger (push) Successful in 4s
autograde-final-vibevault / grade (push) Has been cancelled
2025-12-23 13:52:37 +08:00
mh04194357
1c57b27715 完成作业
All checks were successful
autograde-final-vibevault / check-trigger (push) Successful in 4s
autograde-final-vibevault / grade (push) Successful in 2m52s
2025-12-23 13:44:11 +08:00
mh04194357
4f607ee5be 完成作业
All checks were successful
autograde-final-vibevault / check-trigger (push) Successful in 2s
autograde-final-vibevault / grade (push) Successful in 39s
2025-12-23 13:30:59 +08:00
mh04194357
d3adf281a8 完成作业
All checks were successful
autograde-final-vibevault / check-trigger (push) Successful in 8s
autograde-final-vibevault / grade (push) Successful in 59s
2025-12-23 13:22:14 +08:00
mh04194357
6ae7f6e8e5 完成作业
All checks were successful
autograde-final-vibevault / check-trigger (push) Successful in 3s
autograde-final-vibevault / grade (push) Successful in 45s
2025-12-23 13:16:14 +08:00
mh04194357
5c5e8db0da 完成作业
Some checks failed
autograde-final-vibevault / check-trigger (push) Failing after 4s
autograde-final-vibevault / grade (push) Has been skipped
2025-12-23 13:13:20 +08:00
mh04194357
1542ba9b24 完成作业 2025-12-23 13:10:33 +08:00
mh04194357
bee0155da2 完成作业 2025-12-23 13:06:56 +08:00
mh04194357
1c0c4b8a0f 完成作业 2025-12-23 13:02:27 +08:00
mh04194357
45330280a1 完成作业 2025-12-23 13:00:33 +08:00
mh04194357
5cc51bc2a1 完成作业
All checks were successful
autograde-final-vibevault / check-trigger (push) Successful in 2s
autograde-final-vibevault / grade (push) Successful in 42s
2025-12-23 12:54:37 +08:00
mh04194357
27cc129198 完成作业:修复PDF脚本语法错误
All checks were successful
autograde-final-vibevault / check-trigger (push) Successful in 3s
autograde-final-vibevault / grade (push) Successful in 36s
2025-12-23 12:49:52 +08:00
mh04194357
98b42af37d 完成作业:修复自动评分脚本
Some checks failed
autograde-final-vibevault / check-trigger (push) Successful in 6s
autograde-final-vibevault / grade (push) Failing after 57s
2025-12-23 12:46:59 +08:00
mh04194357
c73e85ec74 完成作业:重新触发评分
Some checks failed
autograde-final-vibevault / check-trigger (push) Successful in 6s
autograde-final-vibevault / grade (push) Failing after 34s
2025-12-23 12:42:01 +08:00
4 changed files with 40 additions and 28 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,5 +386,4 @@ jobs:
--workflow grade \
--server-url "${SERVER_URL}" \
--external-host "${EXTERNAL_GITEA_HOST}"
fi
fi

View File

@ -16,6 +16,9 @@ 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()
}
@ -50,5 +53,9 @@ 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,8 +1,11 @@
# Gradle settings
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.caching=true
# Disable Gradle Daemon
org.gradle.daemon=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 parallel execution
org.gradle.parallel=false
# 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,10 +18,13 @@ 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
@ -60,4 +63,4 @@ public class Song {
public void setPlaylist(Playlist playlist) {
this.playlist = playlist;
}
}
}