diff options
-rw-r--r-- | .travis.yml | 15 | ||||
-rw-r--r-- | README.md | 23 | ||||
-rw-r--r-- | appveyor.yml | 11 | ||||
-rw-r--r-- | build-helpers/notarize.js | 2 | ||||
-rw-r--r-- | package-lock.json | 2 | ||||
-rw-r--r-- | package.json | 2 |
6 files changed, 45 insertions, 10 deletions
diff --git a/.travis.yml b/.travis.yml index 7579878b7..29d31c4a8 100644 --- a/.travis.yml +++ b/.travis.yml | |||
@@ -12,7 +12,7 @@ matrix: | |||
12 | - libxkbfile-dev | 12 | - libxkbfile-dev |
13 | - rpm | 13 | - rpm |
14 | - os: osx | 14 | - os: osx |
15 | if: branch = release | 15 | if: branch IN (nightly, release) |
16 | osx_image: xcode11 | 16 | osx_image: xcode11 |
17 | 17 | ||
18 | language: node_js | 18 | language: node_js |
@@ -22,6 +22,7 @@ branches: | |||
22 | only: | 22 | only: |
23 | - develop | 23 | - develop |
24 | - release | 24 | - release |
25 | - nightly | ||
25 | cache: npm | 26 | cache: npm |
26 | 27 | ||
27 | before_install: | 28 | before_install: |
@@ -34,6 +35,14 @@ before_script: | |||
34 | script: | 35 | script: |
35 | - | | 36 | - | |
36 | if [ $TRAVIS_BRANCH == "release" ]; then | 37 | if [ $TRAVIS_BRANCH == "release" ]; then |
37 | travis_retry travis_wait 100 npm run build | 38 | travis_retry travis_wait 100 npm run build |
39 | fi | ||
40 | - | | ||
41 | if [ $TRAVIS_BRANCH == "nightly" ]; then | ||
42 | npm version prerelease --preid=nightly -m "%s [skip ci]" | ||
43 | travis_retry travis_wait 100 npm run build -- --publish always -c.publish.provider=github -c.publish.owner=getferdi -c.publish.repo=nightlies | ||
44 | if [ $TRAVIS_OS_NAME == "osx" ]; then | ||
45 | git remote add nightly https://${GH_TOKEN}@github.com/getferdi/ferdi.git > /dev/null 2>&1 | ||
46 | git push --quiet --set-upstream nightly HEAD:nightly >/dev/null 2>&1 | ||
47 | fi | ||
38 | fi | 48 | fi |
39 | |||
@@ -282,18 +282,33 @@ Deliverables will be available in the `out` folder. | |||
282 | 282 | ||
283 | ### Release | 283 | ### Release |
284 | 284 | ||
285 | Create a new [draft release](https://github.com/getferdi/ferdi/releases/new) that targets the `release` branch, then: | ||
286 | |||
287 | ```bash | ||
288 | $ git checkout develop && git pull | ||
289 | $ git checkout release | ||
290 | $ git submodule update --remote --force | ||
291 | $ git add . | ||
292 | $ git commit -m "Update submodules" | ||
293 | $ git merge --no-ff develop | ||
294 | $ git push | ||
295 | ``` | ||
296 | |||
297 | Once the draft release assets are uploaded (13 assets), publish the release. The last commit of the `release` branch will be tagged. You can then merge `release` into `master` and back into `develop` if needed. | ||
298 | |||
299 | #### Nightly | ||
300 | |||
285 | ```bash | 301 | ```bash |
286 | $ git checkout develop && git pull | 302 | $ git checkout develop && git pull |
303 | $ git checkout nightly | ||
287 | $ git submodule update --remote --force | 304 | $ git submodule update --remote --force |
288 | $ git add . | 305 | $ git add . |
289 | $ git commit -m "Update submodules" | 306 | $ git commit -m "Update submodules" |
290 | $ git checkout master | ||
291 | $ git merge --no-ff develop | 307 | $ git merge --no-ff develop |
292 | $ git tag v5.3.4-beta.4 | 308 | $ git push |
293 | $ git push --tags | ||
294 | ``` | 309 | ``` |
295 | 310 | ||
296 | When pushing a new tag, the CI builds will create a draft GitHub release and upload the deliverables in the draft release assets. Wait for all the assets to be uploaded before publishing the draft release. | 311 | The draft release and assets will be available in [getferdi/nightlies releases](https://github.com/getferdi/nightlies/releases). You need to manually publish the draft release as a pre-release for now. |
297 | 312 | ||
298 | ## Contributors ✨ | 313 | ## Contributors ✨ |
299 | 314 | ||
diff --git a/appveyor.yml b/appveyor.yml index acdd94e13..d6e909f9c 100644 --- a/appveyor.yml +++ b/appveyor.yml | |||
@@ -2,6 +2,7 @@ version: build-{build} | |||
2 | branches: | 2 | branches: |
3 | only: | 3 | only: |
4 | - release | 4 | - release |
5 | - nightly | ||
5 | skip_tags: true | 6 | skip_tags: true |
6 | skip_branch_with_pr: true | 7 | skip_branch_with_pr: true |
7 | 8 | ||
@@ -20,3 +21,13 @@ before_build: | |||
20 | 21 | ||
21 | build_script: | 22 | build_script: |
22 | - appveyor-retry npm run build | 23 | - appveyor-retry npm run build |
24 | |||
25 | for: | ||
26 | - | ||
27 | branches: | ||
28 | only: | ||
29 | - nightly | ||
30 | before_build: | ||
31 | - npm version prerelease --preid=nightly --no-git-tag-version | ||
32 | build_script: | ||
33 | - appveyor-retry npm run build -- --publish always -c.publish.provider=github -c.publish.owner=getferdi -c.publish.repo=nightlies | ||
diff --git a/build-helpers/notarize.js b/build-helpers/notarize.js index fc463f749..cb83808ad 100644 --- a/build-helpers/notarize.js +++ b/build-helpers/notarize.js | |||
@@ -2,7 +2,7 @@ const { notarize } = require("electron-notarize"); | |||
2 | 2 | ||
3 | exports.default = async function notarizing(context) { | 3 | exports.default = async function notarizing(context) { |
4 | const { electronPlatformName, appOutDir } = context; | 4 | const { electronPlatformName, appOutDir } = context; |
5 | if (electronPlatformName !== "darwin" || process.env.TRAVIS_BRANCH !== 'release') { | 5 | if (electronPlatformName !== "darwin" || (process.env.TRAVIS_BRANCH !== 'release' && process.env.TRAVIS_BRANCH !== 'nightly')) { |
6 | return; | 6 | return; |
7 | } | 7 | } |
8 | 8 | ||
diff --git a/package-lock.json b/package-lock.json index 74e7d5a5c..0e43558a5 100644 --- a/package-lock.json +++ b/package-lock.json | |||
@@ -1,6 +1,6 @@ | |||
1 | { | 1 | { |
2 | "name": "ferdi", | 2 | "name": "ferdi", |
3 | "version": "5.5.0", | 3 | "version": "5.5.1-nightly.13", |
4 | "lockfileVersion": 1, | 4 | "lockfileVersion": 1, |
5 | "requires": true, | 5 | "requires": true, |
6 | "dependencies": { | 6 | "dependencies": { |
diff --git a/package.json b/package.json index 9c92036da..281eb0712 100644 --- a/package.json +++ b/package.json | |||
@@ -3,7 +3,7 @@ | |||
3 | "productName": "Ferdi", | 3 | "productName": "Ferdi", |
4 | "desktopName": "ferdi.desktop", | 4 | "desktopName": "ferdi.desktop", |
5 | "appId": "com.kytwb.ferdi", | 5 | "appId": "com.kytwb.ferdi", |
6 | "version": "5.5.0", | 6 | "version": "5.5.1-nightly.13", |
7 | "description": "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more.", | 7 | "description": "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more.", |
8 | "copyright": "kytwb", | 8 | "copyright": "kytwb", |
9 | "main": "index.js", | 9 | "main": "index.js", |