From b93b7d24bd49e44c308ceb9faf6af73b8cc30655 Mon Sep 17 00:00:00 2001 From: Lukas Hirt Date: Wed, 26 Aug 2020 11:33:35 +0200 Subject: [PATCH 1/9] Add tests step --- .drone.star | 51 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/.drone.star b/.drone.star index 9b08cdb..9cec275 100644 --- a/.drone.star +++ b/.drone.star @@ -1,10 +1,11 @@ def main(ctx): before = [ - changelog(ctx), - website(ctx), + tests(ctx), ] after = [ + changelog(ctx), + website(ctx), notify(), ] @@ -219,4 +220,48 @@ def notify(): 'failure' ] }, - } \ No newline at end of file + } + +def tests(): + return { + 'kind': 'pipeline', + 'type': 'docker', + 'name': 'tests', + 'platform': { + 'os': 'linux', + 'arch': 'amd64', + }, + 'steps': [ + { + 'name': 'install', + 'image': 'webhippie/nodejs:latest', + 'pull': 'always', + 'commands': [ + 'yarn install --frozen-lockfile', + ], + }, + { + 'name': 'lint', + 'image': 'webhippie/nodejs:latest', + 'pull': 'always', + 'commands': [ + 'yarn lint', + ], + }, + { + 'name': 'build', + 'image': 'webhippie/nodejs:latest', + 'pull': 'always', + 'commands': [ + 'yarn build', + ], + }, + ], + 'trigger': { + 'ref': [ + 'refs/heads/master', + 'refs/tags/**', + 'refs/pull/**', + ], + }, + } From 4762ca99872138f3c4655753f852773b77378a49 Mon Sep 17 00:00:00 2001 From: Lukas Hirt Date: Wed, 26 Aug 2020 11:40:45 +0200 Subject: [PATCH 2/9] Add context as param --- .drone.star | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.star b/.drone.star index 9cec275..24726b1 100644 --- a/.drone.star +++ b/.drone.star @@ -222,7 +222,7 @@ def notify(): }, } -def tests(): +def tests(ctx): return { 'kind': 'pipeline', 'type': 'docker', From 386ad8f9e9399fa960c92ec48d31d56777d3b6df Mon Sep 17 00:00:00 2001 From: Lukas Hirt Date: Wed, 26 Aug 2020 12:06:25 +0200 Subject: [PATCH 3/9] Add release job --- .drone.star | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 71 insertions(+), 3 deletions(-) diff --git a/.drone.star b/.drone.star index 24726b1..b1cb6d7 100644 --- a/.drone.star +++ b/.drone.star @@ -1,15 +1,19 @@ def main(ctx): before = [ tests(ctx), + changelog(ctx), + website(ctx), + ] + + stages = [ + release(ctx), ] after = [ - changelog(ctx), - website(ctx), notify(), ] - return before + after + return before + stages + after def changelog(ctx): repo_slug = ctx.build.source_repo if ctx.build.source_repo else ctx.repo.slug @@ -265,3 +269,67 @@ def tests(ctx): ], }, } + +def release(ctx): + return { + 'kind': 'pipeline', + 'type': 'docker', + 'name': 'release', + 'platform': { + 'os': 'linux', + 'arch': 'amd64', + }, + 'steps': [ + { + 'name': 'build', + 'image': 'webhippie/nodejs:latest', + 'pull': 'always', + 'commands': [ + 'yarn install --frozen-lockfile' + 'yarn build' + ] + }, + { + 'name': 'publish-github', + 'image': 'plugins/github-release:latest', + 'pull': 'always', + 'settings': { + 'api_key': { + 'from_secret': 'github_token', + }, + 'title': ctx.build.ref.replace("refs/tags/v", ""), + 'note': 'dist/CHANGELOG.md', + 'overwrite': True, + }, + 'trigger': { + 'ref': [ + 'refs/tags/**', + ], + }, + }, + { + 'name': 'publish-npm', + 'image': 'plugins/npm:latest', + 'pull': 'always', + 'settings': { + 'username': { + 'from_secret': 'npm_username', + }, + 'email': { + 'from_secret': 'npm_email', + }, + 'token': { + 'from_secret': 'npm_token', + }, + }, + 'depends_on': [ + 'tests' + ], + 'trigger': { + 'ref': [ + 'refs/tags/**', + ], + }, + }, + ] + } From 0c7bcca5b8af0c79463e859e60c76663d0778cef Mon Sep 17 00:00:00 2001 From: Lukas Hirt Date: Wed, 26 Aug 2020 12:08:13 +0200 Subject: [PATCH 4/9] Remove demo.html after build --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 101c1fd..323f1ab 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "author": "ownclouders ", "scripts": { "serve": "vue-cli-service serve", - "build": "vue-cli-service build --target wc --name file-picker", + "build": "vue-cli-service build --target wc --name file-picker && rm ./dist/demo.html", "test:unit": "vue-cli-service test:unit", "lint": "vue-cli-service lint" }, From 6cb82800cddd9f2b819d11d1b984fcdec8953ab2 Mon Sep 17 00:00:00 2001 From: Lukas Hirt Date: Wed, 26 Aug 2020 12:33:33 +0200 Subject: [PATCH 5/9] Adjust package.json for npm --- .drone.star | 2 +- package.json | 26 +++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/.drone.star b/.drone.star index b1cb6d7..8fd353c 100644 --- a/.drone.star +++ b/.drone.star @@ -285,7 +285,7 @@ def release(ctx): 'image': 'webhippie/nodejs:latest', 'pull': 'always', 'commands': [ - 'yarn install --frozen-lockfile' + 'yarn install --frozen-lockfile', 'yarn build' ] }, diff --git a/package.json b/package.json index 323f1ab..b54ee5d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,31 @@ { - "name": "file-picker", + "name": "@owncloud/file-picker", "version": "0.1.0", "author": "ownclouders ", + "description": "Easily integrate ownCloud into your existing products", + "type": "module", + "module": "dist/file-picker.js", + "main": "dist/file-picker.js", + "unpkg": "dist/file-picker.min.js", + "repository": { + "type": "git", + "url": "git+https://github.com/owncloud/file-picker.git" + }, + "keywords": [ + "vue", + "vuejs", + "file", + "picker", + "ocis", + "owncloud", + "location", + "picker" + ], + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/owncloud/file-picker/issues" + }, + "homepage": "https://owncloud.github.io/integration/file_picker", "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build --target wc --name file-picker && rm ./dist/demo.html", From 6f2534ac27e5900b775d7aea05416f4235b52aa8 Mon Sep 17 00:00:00 2001 From: Lukas Hirt Date: Thu, 27 Aug 2020 16:38:03 +0200 Subject: [PATCH 6/9] Run release pipeline only on tags --- .drone.star | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.drone.star b/.drone.star index 8fd353c..4618dc8 100644 --- a/.drone.star +++ b/.drone.star @@ -321,15 +321,15 @@ def release(ctx): 'token': { 'from_secret': 'npm_token', }, - }, - 'depends_on': [ - 'tests' - ], - 'trigger': { - 'ref': [ - 'refs/tags/**', - ], - }, + } }, - ] + ], + 'depends_on': [ + 'tests' + ], + 'trigger': { + 'ref': [ + 'refs/tags/**', + ], + }, } From a13b1eb2620f1016330d2e795a2430d3772819f2 Mon Sep 17 00:00:00 2001 From: Lukas Hirt Date: Thu, 27 Aug 2020 16:56:04 +0200 Subject: [PATCH 7/9] Use owncloudci/nodejs image with version 11 --- .drone.star | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.drone.star b/.drone.star index 4618dc8..849196e 100644 --- a/.drone.star +++ b/.drone.star @@ -238,7 +238,7 @@ def tests(ctx): 'steps': [ { 'name': 'install', - 'image': 'webhippie/nodejs:latest', + 'image': 'owncloudci/nodejs:11', 'pull': 'always', 'commands': [ 'yarn install --frozen-lockfile', @@ -246,7 +246,7 @@ def tests(ctx): }, { 'name': 'lint', - 'image': 'webhippie/nodejs:latest', + 'image': 'owncloudci/nodejs:11', 'pull': 'always', 'commands': [ 'yarn lint', @@ -254,7 +254,7 @@ def tests(ctx): }, { 'name': 'build', - 'image': 'webhippie/nodejs:latest', + 'image': 'owncloudci/nodejs:11', 'pull': 'always', 'commands': [ 'yarn build', @@ -282,7 +282,7 @@ def release(ctx): 'steps': [ { 'name': 'build', - 'image': 'webhippie/nodejs:latest', + 'image': 'owncloudci/nodejs:11', 'pull': 'always', 'commands': [ 'yarn install --frozen-lockfile', From c4d4fff62f7258fd016d0ae4c316294271702eaf Mon Sep 17 00:00:00 2001 From: Lukas Hirt Date: Thu, 27 Aug 2020 18:48:49 +0200 Subject: [PATCH 8/9] Add changelog step to release pipeline --- .drone.star | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/.drone.star b/.drone.star index 849196e..2ce7b40 100644 --- a/.drone.star +++ b/.drone.star @@ -287,7 +287,25 @@ def release(ctx): 'commands': [ 'yarn install --frozen-lockfile', 'yarn build' - ] + ], + 'when': { + 'ref': [ + 'refs/tags/**', + ], + }, + }, + { + 'name': 'changelog', + 'image': 'toolhippie/calens:latest', + 'pull': 'always', + 'commands': [ + 'calens --version %s -o dist/CHANGELOG.md' % ctx.build.ref.replace("refs/tags/v", "").split("-")[0], + ], + 'when': { + 'ref': [ + 'refs/tags/**', + ], + }, }, { 'name': 'publish-github', @@ -301,7 +319,7 @@ def release(ctx): 'note': 'dist/CHANGELOG.md', 'overwrite': True, }, - 'trigger': { + 'when': { 'ref': [ 'refs/tags/**', ], @@ -321,7 +339,12 @@ def release(ctx): 'token': { 'from_secret': 'npm_token', }, - } + }, + 'when': { + 'ref': [ + 'refs/tags/**', + ], + }, }, ], 'depends_on': [ From 87ae3967179ed7b2f4e453ba5ee602609956536e Mon Sep 17 00:00:00 2001 From: Lukas Hirt Date: Mon, 31 Aug 2020 14:37:43 +0200 Subject: [PATCH 9/9] Fix generation of changelog --- .drone.star | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.drone.star b/.drone.star index 2ce7b40..38683c4 100644 --- a/.drone.star +++ b/.drone.star @@ -51,10 +51,10 @@ def changelog(ctx): }, { 'name': 'generate', - 'image': 'webhippie/golang:1.13', + 'image': 'toolhippie/calens:latest', 'pull': 'always', 'commands': [ - 'make changelog', + 'calens >| CHANGELOG.md', ], }, {