# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs name: Node.js CI on: push: branches: [ "master" ] paths: ["version"] jobs: build: runs-on: ubuntu-latest strategy: matrix: node-version: [20.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: - uses: actions/checkout@v4 - name: version id: version run: | version=$(cat version) echo "version=$version" >> $GITHUB_ENV - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: 'npm' - name: Install dependencies run: npm install # Actions构建 - name: Build run: npm run actions --tag=${{ env.version }} # 上传构建产物zip - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: halo-theme-dream2.0-plus path: dist - name: Create Release id: create_release uses: actions/create-release@latest env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: v${{ env.version }} release_name: v${{ env.version }} body: ${{ github.event.commits[0].message }} draft: false prerelease: false - name: Upload Release Asset uses: dwenegar/upload-release-assets@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: release_id: ${{ steps.create_release.outputs.id }} assets_path: | ./releases/