NetAdmin/.github/workflows/release.yml
nsnail c088492cfa
feat: 框架代码同步 (#173)
Co-authored-by: tk <fiyne1a@dingtalk.com>
2024-08-29 17:21:06 +08:00

58 lines
2.0 KiB
YAML

# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
name: release
on:
push:
tags:
- v*
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [ 22.x ]
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
filter: tree:0
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
# https://docs.github.com/zh/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key
- uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-npm-${{ hashFiles('./src/frontend/admin/package.json') }}
restore-keys: ${{ runner.os }}-npm
- working-directory: ./src/frontend/admin
run: npm install && npm run build
- uses: actions/setup-dotnet@v3
with:
dotnet-version: 9.0.x
- uses: actions/cache@v3
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
restore-keys: ${{ runner.os }}-nuget
- working-directory: ./src/backend/NetAdmin.AdmServer.Host
run: dotnet publish NetAdmin.AdmServer.Host.csproj -c Release
- uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
- id: get_version
run: echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/v}
- run: docker build -t nsnail/netadmin -t nsnail/netadmin:${{steps.get_version.outputs.VERSION}} .
- uses: docker/login-action@v3
with:
username: "nsnail"
password: "${{secrets.DOCKER_PASSWORD}}"
- run: docker push nsnail/netadmin
- run: docker push nsnail/netadmin:${{steps.get_version.outputs.VERSION}}