From ce00c11a042e59db8bc00fdb0b51b824f6ff6bfb Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Mon, 23 May 2022 15:59:20 +0600 Subject: [PATCH 01/19] replace job deploy with remote template --- .gitlab-ci.yml | 72 +++++++------------------------------------------- 1 file changed, 9 insertions(+), 63 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4351923ad..53dac6d56 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -42,74 +42,20 @@ build-frontend: paths: - dist/ +include: + - project: 'e/infra/selfhost/nextcloud-apps/ci-templates' + ref: dev/template + file: 'auto-deploy-pipelines.yml' + .deploy:nextcloud-app: - image: ubuntu:focal stage: deploy dependencies: - build-frontend - before_script: - - mkdir $HOME/.ssh - - chmod 700 ~/.ssh - - echo "$SSH_PRIVATE_KEY_ED" > $HOME/.ssh/id_ed25519 - - echo "$SSH_PUBKEY_ED" > $HOME/.ssh/id_ed25519.pub - - echo "$SSH_KNOWN_HOSTS" > $HOME/.ssh/known_hosts - - chmod 600 ~/.ssh/id_ed25519 - - chmod 644 ~/.ssh/known_hosts ~/.ssh/id_ed25519.pub - - apt-get update && apt-get install -y openssh-client rsync - script: - - echo "Deploying $CI_PROJECT_NAME of $CI_PROJECT_PATH_SLUG to $CI_ENVIRONMENT_NAME ($DEPLOYMENT_HOST)" - - rsync -avzh dist/ $SSH_USER@$DEPLOYMENT_HOST:/tmp/${CI_JOB_ID} - - ssh $SSH_USER@$DEPLOYMENT_HOST "sudo rsync -avzh --chown www-data:www-data --delete /tmp/${CI_JOB_ID}/$CI_PROJECT_NAME ${DEPLOYMENT_PATH}/html/custom_apps/ && rm -rf /tmp/${CI_JOB_ID} && sudo docker exec -u www-data $CONTAINER_NAME /var/www/html/occ app:enable $CI_PROJECT_NAME" - - deploy:dev01: - extends: .deploy:nextcloud-app - when: manual - only: - - /^dev\/.*$/ - - main - environment: - name: dev/01 - url: https://dev.eeo.one/ - variables: - DEPLOYMENT_BRANCH: $CI_COMMIT_BRANCH - CONTAINER_NAME: dev01_nextcloud - + stage: deploy deploy:dev02: - extends: .deploy:nextcloud-app - when: manual - only: - - /^dev\/.*$/ - - main - environment: - name: dev/02 - url: https://ecloud02.dev.eeo.one - variables: - DEPLOYMENT_BRANCH: $CI_COMMIT_BRANCH - CONTAINER_NAME: dev02_nextcloud - + stage: deploy deploy:dev03: - extends: .deploy:nextcloud-app - when: manual - only: - - /^dev\/.*$/ - - main - environment: - name: dev/03 - url: https://ecloud03.dev.eeo.one - variables: - DEPLOYMENT_BRANCH: $CI_COMMIT_BRANCH - CONTAINER_NAME: dev03_nextcloud - + stage: deploy deploy:staging: - extends: .deploy:nextcloud-app - when: manual - only: - - main - - production - environment: - name: staging/01 - url: https://eeo.one - variables: - DEPLOYMENT_BRANCH: $CI_COMMIT_BRANCH - CONTAINER_NAME: nextcloud + stage: deploy -- GitLab From a7117f013d87558b6fad10c5e2b9bc48820aa6e7 Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Mon, 23 May 2022 16:54:11 +0600 Subject: [PATCH 02/19] remove stating tag for dependent deploy tasks --- .gitlab-ci.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 53dac6d56..92d1012ab 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -51,11 +51,3 @@ include: stage: deploy dependencies: - build-frontend -deploy:dev01: - stage: deploy -deploy:dev02: - stage: deploy -deploy:dev03: - stage: deploy -deploy:staging: - stage: deploy -- GitLab From a9784cafef5dbea4497baada9fc8a6c32676fe59 Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Tue, 24 May 2022 16:26:32 +0600 Subject: [PATCH 03/19] replace lint, build-frontend job with remote template --- .gitlab-ci.yml | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 92d1012ab..06e2cb5dd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -27,27 +27,24 @@ install-node-deps: changes: - package*.json +include: + - project: "e/infra/ecloud/nextcloud-apps/ci-templates" + ref: dev/template + file: "nc-apps-build-frontend.yml" + - project: "e/infra/ecloud/nextcloud-apps/ci-templates" + ref: dev/template + file: "nc-apps-deploy.yml" + - project: "e/infra/ecloud/nextcloud-apps/ci-templates" + ref: dev/template + file: "nc-apps-lint.yml" + lint: - stage: test - script: - - npm run lint + stage: test build-frontend: - stage: build - script: - - npm run build - - mkdir -p dist/$CI_PROJECT_NAME - - cp -a appinfo css img l10n lib templates js dist/$CI_PROJECT_NAME - artifacts: - paths: - - dist/ - -include: - - project: 'e/infra/selfhost/nextcloud-apps/ci-templates' - ref: dev/template - file: 'auto-deploy-pipelines.yml' + stage: build .deploy:nextcloud-app: - stage: deploy - dependencies: - - build-frontend + stage: deploy + dependencies: + - build-frontend -- GitLab From f3018e8206c2199f1942deb6714f2e65fc60ba9d Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Tue, 24 May 2022 16:30:25 +0600 Subject: [PATCH 04/19] override lint to remove npm run stylelint --- .gitlab-ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 06e2cb5dd..92f5c0e3e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -40,6 +40,10 @@ include: lint: stage: test + # override lint script as calendar don't have npm run stylelint + # and fails if added. + script: + - npm run lint build-frontend: stage: build -- GitLab From 9035642733df829436d600b3f2125b2dac7a782b Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Tue, 24 May 2022 16:38:59 +0600 Subject: [PATCH 05/19] override build-frontend script --- .gitlab-ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 92f5c0e3e..c53d181d6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -47,6 +47,11 @@ lint: build-frontend: stage: build + script: + - npm run build + - mkdir -p dist/$CI_PROJECT_NAME + - cp -a appinfo css img l10n lib templates js dist/$CI_PROJECT_NAME + .deploy:nextcloud-app: stage: deploy -- GitLab From 3e8f7a988be357d00fb72356ec41404bf8da71f7 Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Tue, 24 May 2022 16:49:36 +0600 Subject: [PATCH 06/19] override artifact --- .gitlab-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c53d181d6..66e97d169 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -51,6 +51,9 @@ build-frontend: - npm run build - mkdir -p dist/$CI_PROJECT_NAME - cp -a appinfo css img l10n lib templates js dist/$CI_PROJECT_NAME + artifacts: + paths: + - dist/ .deploy:nextcloud-app: -- GitLab From e394d21ef05cab2b717ceac6aecba6dac9a0819d Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Tue, 24 May 2022 18:43:17 +0600 Subject: [PATCH 07/19] remove build-frontend override as it is same as template --- .gitlab-ci.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 66e97d169..cfb2828aa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -47,13 +47,6 @@ lint: build-frontend: stage: build - script: - - npm run build - - mkdir -p dist/$CI_PROJECT_NAME - - cp -a appinfo css img l10n lib templates js dist/$CI_PROJECT_NAME - artifacts: - paths: - - dist/ .deploy:nextcloud-app: -- GitLab From e6fd9e8a8dd36415c51ce99984c56ecbec459cf2 Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Thu, 26 May 2022 14:07:32 +0600 Subject: [PATCH 08/19] change ref name and file name for template --- .gitlab-ci.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cfb2828aa..db4fb1ca6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -29,14 +29,11 @@ install-node-deps: include: - project: "e/infra/ecloud/nextcloud-apps/ci-templates" - ref: dev/template - file: "nc-apps-build-frontend.yml" + ref: main + file: "nc-apps-lint-build-frontend.yml" - project: "e/infra/ecloud/nextcloud-apps/ci-templates" - ref: dev/template + ref: main file: "nc-apps-deploy.yml" - - project: "e/infra/ecloud/nextcloud-apps/ci-templates" - ref: dev/template - file: "nc-apps-lint.yml" lint: stage: test @@ -48,7 +45,6 @@ lint: build-frontend: stage: build - .deploy:nextcloud-app: stage: deploy dependencies: -- GitLab From a03f5d14ef2bf29bae7aae267c9794d147aec800 Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Thu, 26 May 2022 14:08:53 +0600 Subject: [PATCH 09/19] set variable TO_PACKAGE for build-frontend job --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index db4fb1ca6..4b063b748 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,5 @@ +variables: + TO_PACKAGE: 'appinfo css img l10n lib templates js' stages: - prepare - test -- GitLab From 59cf4560dfd249c42d2faa5fe829b0f8ce0b166e Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Thu, 26 May 2022 14:10:57 +0600 Subject: [PATCH 10/19] remove stage date fro build and deploy --- .gitlab-ci.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4b063b748..3604b6a1d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -44,10 +44,6 @@ lint: script: - npm run lint -build-frontend: - stage: build - .deploy:nextcloud-app: - stage: deploy dependencies: - build-frontend -- GitLab From cc43e7547a4f3b05c661f46960f969813fe1fac2 Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Thu, 26 May 2022 14:29:19 +0600 Subject: [PATCH 11/19] add a random named file for test --- img/yLzOZD.test | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/yLzOZD.test diff --git a/img/yLzOZD.test b/img/yLzOZD.test new file mode 100644 index 000000000..e69de29bb -- GitLab From ee75ff99b06ee02da7b216d1a869888352dc1e4a Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Thu, 26 May 2022 14:35:41 +0600 Subject: [PATCH 12/19] remove random named file --- img/yLzOZD.test | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 img/yLzOZD.test diff --git a/img/yLzOZD.test b/img/yLzOZD.test deleted file mode 100644 index e69de29bb..000000000 -- GitLab From abbb29fc20805871542ffcf6e9602bf45e51ee9c Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Thu, 26 May 2022 14:44:17 +0600 Subject: [PATCH 13/19] remove build stage from lint --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3604b6a1d..e3babd112 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -38,7 +38,6 @@ include: file: "nc-apps-deploy.yml" lint: - stage: test # override lint script as calendar don't have npm run stylelint # and fails if added. script: -- GitLab From bc96cb8f55fe1649a600fc4d18ddeb5d399c9d41 Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Thu, 26 May 2022 14:50:16 +0600 Subject: [PATCH 14/19] remove default and install-node-deps removed default and install-node-deps as they are part of lint-build-frontend template now --- .gitlab-ci.yml | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e3babd112..86bc97a91 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,29 +6,6 @@ stages: - build - deploy -default: - image: node:15.14.0-stretch - before_script: - - npm set cache .npm - - npm install --prefer-offline --no-audit - cache: - key: ${CI_COMMIT_REF_SLUG} - paths: - - .npm/ - - node_modules/ - -install-node-deps: - stage: prepare - before_script: - - node --version - - npm --version - script: - - npm set cache .npm - - npm ci - only: - changes: - - package*.json - include: - project: "e/infra/ecloud/nextcloud-apps/ci-templates" ref: main -- GitLab From 6c08345c0221db10947fad588c06937ca6772793 Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Thu, 26 May 2022 14:51:42 +0600 Subject: [PATCH 15/19] remove stages --- .gitlab-ci.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 86bc97a91..f0a1f07b2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,10 +1,5 @@ variables: TO_PACKAGE: 'appinfo css img l10n lib templates js' -stages: - - prepare - - test - - build - - deploy include: - project: "e/infra/ecloud/nextcloud-apps/ci-templates" -- GitLab From ed4bbc39dc75b5be3b04355dafff2a931001eed5 Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Thu, 26 May 2022 15:59:58 +0600 Subject: [PATCH 16/19] remove stylelint and combine it with lint --- package.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 14e5a548c..d145c9e8d 100644 --- a/package.json +++ b/package.json @@ -26,10 +26,9 @@ "scripts": { "build": "webpack --node-env production --progress", "dev": "webpack --node-env development --progress", - "watch": "webpack --node-env development --progress --watch", - "lint": "eslint --ext .js,.vue src", + "watch": "webpack --node-env development --progress --watch",~ + "lint": "eslint --ext .js,.vue src && stylelint src css", "lint:fix": "eslint --ext .js,.vue src --fix", - "stylelint": "stylelint src css", "stylelint:fix": "stylelint src css --fix", "test": "jest", "test:coverage": "jest --coverage" -- GitLab From b3176064823f0e002b7ed2f4f51d5e87c21ce229 Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Thu, 26 May 2022 16:03:31 +0600 Subject: [PATCH 17/19] remove lint and .deploy:nextcloud-app stage --- .gitlab-ci.yml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f0a1f07b2..d272c5926 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,13 +8,3 @@ include: - project: "e/infra/ecloud/nextcloud-apps/ci-templates" ref: main file: "nc-apps-deploy.yml" - -lint: - # override lint script as calendar don't have npm run stylelint - # and fails if added. - script: - - npm run lint - -.deploy:nextcloud-app: - dependencies: - - build-frontend -- GitLab From 22038eebb6c4fbbeeff338cf011b538af266d5bf Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Thu, 26 May 2022 16:13:49 +0600 Subject: [PATCH 18/19] fix typo --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d145c9e8d..6323f870c 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "scripts": { "build": "webpack --node-env production --progress", "dev": "webpack --node-env development --progress", - "watch": "webpack --node-env development --progress --watch",~ + "watch": "webpack --node-env development --progress --watch", "lint": "eslint --ext .js,.vue src && stylelint src css", "lint:fix": "eslint --ext .js,.vue src --fix", "stylelint:fix": "stylelint src css --fix", -- GitLab From 607c53f21e3037505ce7772a0a59eb524af5b200 Mon Sep 17 00:00:00 2001 From: Fazle Rabbi Date: Thu, 26 May 2022 16:24:27 +0600 Subject: [PATCH 19/19] remove stylelint from lint as it is not being used --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 6323f870c..14e5a548c 100644 --- a/package.json +++ b/package.json @@ -27,8 +27,9 @@ "build": "webpack --node-env production --progress", "dev": "webpack --node-env development --progress", "watch": "webpack --node-env development --progress --watch", - "lint": "eslint --ext .js,.vue src && stylelint src css", + "lint": "eslint --ext .js,.vue src", "lint:fix": "eslint --ext .js,.vue src --fix", + "stylelint": "stylelint src css", "stylelint:fix": "stylelint src css --fix", "test": "jest", "test:coverage": "jest --coverage" -- GitLab