78 lines
2.9 KiB
YAML
78 lines
2.9 KiB
YAML
name: Java CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: dockerp.com/openjdk:17-jdk-slim # 使用带有 JDK 17 的 Docker 镜像
|
|
|
|
steps:
|
|
- name: Change Download URL
|
|
run: |
|
|
cat <<'EOF' > /etc/apt/sources.list
|
|
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
|
|
deb https://mirror.nju.edu.cn/ubuntu/ noble main restricted universe multiverse
|
|
# deb-src https://mirror.nju.edu.cn/ubuntu/ noble main restricted universe multiverse
|
|
deb https://mirror.nju.edu.cn/ubuntu/ noble-updates main restricted universe multiverse
|
|
# deb-src https://mirror.nju.edu.cn/ubuntu/ noble-updates main restricted universe multiverse
|
|
deb https://mirror.nju.edu.cn/ubuntu/ noble-backports main restricted universe multiverse
|
|
# deb-src https://mirror.nju.edu.cn/ubuntu/ noble-backports main restricted universe multiverse
|
|
|
|
# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
|
|
# deb https://mirror.nju.edu.cn/ubuntu/ noble-security main restricted universe multiverse
|
|
# # deb-src https://mirror.nju.edu.cn/ubuntu/ noble-security main restricted universe multiverse
|
|
|
|
deb http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse
|
|
# deb-src http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse
|
|
|
|
# 预发布软件源,不建议启用
|
|
# deb https://mirror.nju.edu.cn/ubuntu/ noble-proposed main restricted universe multiverse
|
|
# # deb-src https://mirror.nju.edu.cn/ubuntu/ noble-proposed main restricted universe multiverse
|
|
EOF
|
|
|
|
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C
|
|
|
|
|
|
- name: Apt Update
|
|
run: |
|
|
apt update
|
|
|
|
- name: Install Node.js
|
|
run: |
|
|
# 更新 apt 包管理器并安装必要的工具
|
|
apt-get update && apt-get install -y curl gnupg2 lsb-release ca-certificates
|
|
|
|
# 安装 Node.js 20.x
|
|
#curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
|
|
#apt-get install -y nodejs
|
|
apt install nodejs npm
|
|
|
|
# 验证安装是否成功
|
|
node -v
|
|
npm -v
|
|
|
|
- name: Checkout code
|
|
uses: http://fly6516.synology.me:4000/Gitea_Action/checkout@v2
|
|
|
|
- name: Compile Java program
|
|
run: |
|
|
mkdir -p ./build/classes
|
|
javac HelloWorld.java -d ./build/classes
|
|
|
|
- name: List compiled files
|
|
run: ls -la ./build/classes
|
|
|
|
- name: Upload artifact
|
|
uses: http://fly6516.synology.me:4000/Gitea_Action/upload-artifact@v2
|
|
with:
|
|
name: java-classes
|
|
path: ./build/classes
|