-
Notifications
You must be signed in to change notification settings - Fork 4
71 lines (58 loc) · 2.35 KB
/
main.yml
File metadata and controls
71 lines (58 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [ main ]
pull_request:
branches: [ main ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Extract version from package.json
uses: sergeysova/jq-action@v2
id: version
with:
cmd: 'jq ".version" package.json -r'
- name: Extract name from package.json
uses: sergeysova/jq-action@v2
id: name
with:
cmd: 'jq ".name" package.json -r'
- name: Extract description from package.json
uses: sergeysova/jq-action@v2
id: description
with:
cmd: 'jq ".description" package.json -r'
- name: Patch build info into files
run: |
find src -type f -exec sed -i "s/<PLUGIN_NAME_PLACEHOLDER>/${{steps.description.outputs.value}} (${{steps.name.outputs.value}})/g" {} +
find src -type f -exec sed -i "s/<PLUGIN_VERSION_PLACEHOLDER>/${{steps.version.outputs.value}}_${{github.run_number}}/g" {} +
find src -type f -exec sed -i "s|<VERSION_INFO_PLACEHOLDER>|${{steps.name.outputs.value}} ${{steps.version.outputs.value}}_${{github.run_number}} from $GITHUB_REPOSITORY|g" {} +
- name: Install dependencies and compile
run: |
npm install
npm run build
- name: Lint the code
run: |
npm run lint
- name: Copy the build result
run: |
mkdir -p dist/js
mv dist/plugin.js dist/js/${{steps.name.outputs.value}}.js
- uses: actions/upload-artifact@v2
with:
name: ${{steps.name.outputs.value}}-${{steps.version.outputs.value}}_${{github.run_number}}
path: |
dist
!dist/plugin.tsbuildinfo