mirror of
https://github.com/OBKoro1/autoCommit.git
synced 2024-11-05 18:19:26 +08:00
72 lines
2.6 KiB
YAML
72 lines
2.6 KiB
YAML
name: vscode plugin cd # github 持续集成 持续部署
|
|
# github会默认执行 .github/workflows/**.yml 文件
|
|
|
|
on:
|
|
push: # 触发workflow的条件
|
|
tags:
|
|
- "v*"
|
|
jobs:
|
|
build:
|
|
name: My Job
|
|
runs-on: macOS-latest # cicd的运行环境
|
|
# 获取node
|
|
strategy:
|
|
matrix:
|
|
node-version: [12.x]
|
|
steps:
|
|
- name: Checkout source
|
|
uses: actions/checkout@master # 获得仓库的代码
|
|
# 缓存node modules https://docs.github.com/cn/free-pro-team@latest/actions/guides/caching-dependencies-to-speed-up-workflows
|
|
- name: Cache node modules
|
|
uses: actions/cache@v2 # 缓存插件
|
|
env:
|
|
cache-name: cache-node-modules
|
|
with:
|
|
# npm cache files are stored in `~/.npm` on Linux/macOS
|
|
path: ~/.npm
|
|
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-build-${{ env.cache-name }}-
|
|
${{ runner.os }}-build-
|
|
${{ runner.os }}-
|
|
- name: Set output
|
|
id: vars
|
|
# github.ref的值是: refs/tags/v0.0.13
|
|
# 取值到0.0.13 这样可以灵活的取打包的版本号
|
|
run: echo ::set-output name=tag::${GITHUB_REF:11}
|
|
- name: set env
|
|
env:
|
|
RELEASE_VERSION: ${{ steps.vars.outputs.tag }}
|
|
run: |
|
|
echo $RELEASE_VERSION
|
|
echo ${{ steps.vars.outputs.tag }} ${{ env.RELEASE_VERSION }} ${{ github.ref }}
|
|
- name: use node
|
|
id: use_node
|
|
uses: actions/setup-node@v1 # 获得node
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
- name: Create Release
|
|
id: create_release
|
|
uses: actions/create-release@v1 # 使用创建release插件
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
tag_name: ${{ github.ref }}
|
|
release_name: Release ${{ github.ref }} # 版本名字
|
|
draft: false
|
|
prerelease: false
|
|
- run: npm i -g vsce # 安装vsce 用于打包插件
|
|
- run: npm install # 安装依赖
|
|
- run: vsce package --yarn # 打包插件
|
|
- run: ls
|
|
# 上传插件包
|
|
- name: Upload Release Asset
|
|
uses: actions/upload-release-asset@v1.0.2 # 使用上传资源的插件
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # github token
|
|
with:
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }} # 默认上传地址
|
|
asset_path: ./autoCommit-${{ steps.vars.outputs.tag }}.vsix # 需要上传的资源
|
|
asset_name: autoCommit-${{ steps.vars.outputs.tag }}.vsix # 更改资源名
|
|
asset_content_type: application # 一个包
|