Files
yunhai.netcore.tool/.gitea/workflows/ci.yml
T
wanghu 64ee63c938
ci / build-test (push) Successful in 1m16s
ci / publish (push) Successful in 1m21s
ci: 修复 push 步骤 --configfile 不可用,改脚本生成 nuget.config 并查重跳过
2026-09-02 11:38:03 +08:00

78 lines
3.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: ci
on:
push:
branches: [main, master]
pull_request:
jobs:
build-test:
runs-on: ubuntu-latest
steps:
# 内网无 GitHub,不能用 actions/checkout@v4;手动 clone 本仓库(Gitea Actions 已注入 GITHUB_TOKEN)
- name: 拉取源码(内网手动 clone)
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git clone --depth 1 --branch "$GITHUB_REF_NAME" "http://x-access-token:${GITHUB_TOKEN}@gitea.yunhaixingtong.com/${{ github.repository }}.git" /tmp/src
cp -a /tmp/src/. .
rm -rf /tmp/src
- name: 确认 dotnet SDK
run: |
if ! command -v dotnet >/dev/null 2>&1; then
echo "dotnet 不存在,安装 .NET 8 SDK..."
curl -sSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh
chmod +x /tmp/dotnet-install.sh
/tmp/dotnet-install.sh --channel 8.0 --install-dir /usr/share/dotnet
ln -s /usr/share/dotnet/dotnet /usr/local/bin/dotnet
fi
dotnet --version
- name: Restore
run: dotnet restore BasePlatformDotnet/yh-platform-net.sln
- name: Build
run: dotnet build BasePlatformDotnet/yh-platform-net.sln --no-restore -c Release
- name: Test
run: dotnet test BasePlatformDotnet/yh-platform-net.sln --no-build -c Release --logger "console;verbosity=normal"
- name: Pack
run: dotnet pack BasePlatformDotnet/yh-platform-net.sln --no-build -c Release -o BasePlatformDotnet/artifacts
publish:
# 仅主分支 push 时发版到 Nexus 私服(PR 不触发)
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master')
needs: build-test
runs-on: ubuntu-latest
steps:
- name: 拉取源码(无内网 GitHub)
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git clone --depth 1 --branch "$GITHUB_REF_NAME" "http://x-access-token:${GITHUB_TOKEN}@gitea.yunhaixingtong.com/${{ github.repository }}.git" /tmp/src
cp -a /tmp/src/. .
rm -rf /tmp/src
- name: 确认 dotnet SDK
run: |
if ! command -v dotnet >/dev/null 2>&1; then
echo "dotnet 不存在,安装 .NET 8 SDK..."
curl -sSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh
chmod +x /tmp/dotnet-install.sh
/tmp/dotnet-install.sh --channel 8.0 --install-dir /usr/share/dotnet
ln -s /usr/share/dotnet/dotnet /usr/local/bin/dotnet
fi
dotnet --version
- name: Pack
run: dotnet pack BasePlatformDotnet/yh-platform-net.sln -c Release -o BasePlatformDotnet/artifacts
- name: Push to Nexus
# 委托独立脚本:生成带凭据 nuget.config(dotnet nuget push 不支持 --configfile)、
# 按 Disable redeploy 策略先查重再推送,凭据全部走 Gitea Secrets,不入 git。
env:
NEXUS_URL: ${{ secrets.NEXUS_URL }}
NEXUS_USER: ${{ secrets.NEXUS_USER }}
NEXUS_PASS: ${{ secrets.NEXUS_PASS }}
run: bash .gitea/scripts/push-to-nexus.sh