-
-
Notifications
You must be signed in to change notification settings - Fork 12
87 lines (85 loc) · 3.32 KB
/
build-release.yml
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
name: Build release
on:
push:
branches: [ master ]
# branches: [ develop ]
tags-ignore:
- '*'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set Env
run: |
export VERSION=$(cat package.json | python3 -c "import sys, json; print(json.load(sys.stdin)['version'])")
#export TAG=v${VERSION}.${GITHUB_RUN_ID}.${GITHUB_RUN_NUMBER}
export TAG=v${VERSION}
export RELEASE_TEXT=$(grep -Pzo "## ${VERSION}\n(\n|.)+?\n##" CHANGELOG.md | sed '$ d')
echo "VERSION=${VERSION}" >> $GITHUB_ENV
echo "TAG=${TAG}" >> $GITHUB_ENV
# add multiline release text
echo "RELEASE_TEXT<<EOF" >> $GITHUB_ENV
echo "${RELEASE_TEXT}" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
- name: Printenv
run: |
echo "VERSION=${VERSION}"
echo "TAG=${TAG}"
echo "RELEASE_TEXT=${RELEASE_TEXT}"
printenv
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 14.x
- run: npm install
# packages/qownnotes-web-companion.v2020.5.0.chrome.zip
# packages/qownnotes-web-companion.v20.5.0.firefox.xpi.zip
- run: ./build.sh
- name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.TAG }}
release_name: Release v${{ env.VERSION }}
body: ${{ env.RELEASE_TEXT }}
- name: Upload Chrome package
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
# asset_path: packages/qownnotes-web-companion.v20${{ env.VERSION }}.chrome.zip
asset_path: packages/chrome.zip
asset_name: qownnotes-web-companion.v20${{ env.VERSION }}.chrome.zip
asset_content_type: application/zip
- name: Upload Firefox package
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: packages/qownnotes-web-companion.v${{ env.VERSION }}.firefox.xpi.zip
asset_name: qownnotes-web-companion.v${{ env.VERSION }}.firefox.xpi.zip
asset_content_type: application/zip
# # https://github.com/trmcnvn/firefox-addon
# - uses: trmcnvn/firefox-addon@v1
# with:
# # search for extension name in about:memory
# uuid: '{87477736-c9f4-44c4-8eee-7fdfaaf750e9}'
# xpi: packages/qownnotes-web-companion.v${{ env.VERSION }}.firefox.xpi.zip
# manifest: dist/firefox/manifest.json
# api-key: ${{ secrets.FIREFOX_API_KEY }}
# api-secret: ${{ secrets.FIREFOX_API_SECRET }}
# # https://github.com/trmcnvn/chrome-addon
# - uses: trmcnvn/chrome-addon@v2
# with:
# extension: pkgkfnampapjbopomdpnkckbjdnpkbkp
# zip: packages/qownnotes-web-companion.v20${{ env.VERSION }}.chrome.zip
# # Credentials see: https://github.com/DrewML/chrome-webstore-upload/blob/master/How%20to%20generate%20Google%20API%20keys.md
# client-id: ${{ secrets.CHROME_CLIENT_ID }}
# client-secret: ${{ secrets.CHROME_CLIENT_SECRET }}
# refresh-token: ${{ secrets.CHROME_REFRESH_TOKEN }}