frontend/.drone.yml

538 lines
12 KiB
YAML
Raw Permalink Normal View History

---
2019-04-25 18:03:19 +00:00
kind: pipeline
2022-11-05 13:24:24 +00:00
type: docker
Frontend Testing With Cypress (#313) Wait until the request is finished Wait for the newly created task exists in the dom Wait until the login request is done Wait until the list request is done Make sure no user token is in local storage when trying to register Make sure to always upload test results Disable capturing videos of test runs in CI Add uploading test result screenshots from ci Assert a success notification is shown after creating a new list Change input element locators Fix testing for favorite lists Make sure faked usernames are always random Make sure the tests work Make sure to use node 12 everywhere in ci Add docs Fix setting api url for running tests Use a working node version Ignore cypress screenshots and videos Set cache folders Explicitly ignore cypress files when running unit tests Trigger Drone Only run unit tests with yarn test:unit Add serve dist command to serve built static files Trigger Drone Fix cypress image Change cypress image Unify test & build step back again to prevent double installation of dependencies Add cache location config Move test steps to separate pipeline Run cypress tests in drone Fix all tests Make all factory methods static Use factories everywhere Cleanup Add tests for the editor Add tests for viewing link shares Fix seed Add test to make sure settings elements are hidden if the user does not have the right to edit the current list Co-authored-by: kolaente <k@knt.li> Reviewed-on: https://kolaente.dev/vikunja/frontend/pulls/313 Co-Authored-By: konrad <konrad@kola-entertainments.de> Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-10 13:52:35 +00:00
name: build
2018-09-08 15:44:29 +00:00
2019-04-25 18:03:19 +00:00
trigger:
branch:
include:
2021-02-10 17:17:20 +00:00
- main
2019-04-25 18:03:19 +00:00
event:
include:
- push
- pull_request
2018-09-08 15:44:29 +00:00
Frontend Testing With Cypress (#313) Wait until the request is finished Wait for the newly created task exists in the dom Wait until the login request is done Wait until the list request is done Make sure no user token is in local storage when trying to register Make sure to always upload test results Disable capturing videos of test runs in CI Add uploading test result screenshots from ci Assert a success notification is shown after creating a new list Change input element locators Fix testing for favorite lists Make sure faked usernames are always random Make sure the tests work Make sure to use node 12 everywhere in ci Add docs Fix setting api url for running tests Use a working node version Ignore cypress screenshots and videos Set cache folders Explicitly ignore cypress files when running unit tests Trigger Drone Only run unit tests with yarn test:unit Add serve dist command to serve built static files Trigger Drone Fix cypress image Change cypress image Unify test & build step back again to prevent double installation of dependencies Add cache location config Move test steps to separate pipeline Run cypress tests in drone Fix all tests Make all factory methods static Use factories everywhere Cleanup Add tests for the editor Add tests for viewing link shares Fix seed Add test to make sure settings elements are hidden if the user does not have the right to edit the current list Co-authored-by: kolaente <k@knt.li> Reviewed-on: https://kolaente.dev/vikunja/frontend/pulls/313 Co-Authored-By: konrad <konrad@kola-entertainments.de> Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-10 13:52:35 +00:00
services:
- name: api
2021-09-26 13:54:58 +00:00
image: vikunja/api:unstable
pull: always
Frontend Testing With Cypress (#313) Wait until the request is finished Wait for the newly created task exists in the dom Wait until the login request is done Wait until the list request is done Make sure no user token is in local storage when trying to register Make sure to always upload test results Disable capturing videos of test runs in CI Add uploading test result screenshots from ci Assert a success notification is shown after creating a new list Change input element locators Fix testing for favorite lists Make sure faked usernames are always random Make sure the tests work Make sure to use node 12 everywhere in ci Add docs Fix setting api url for running tests Use a working node version Ignore cypress screenshots and videos Set cache folders Explicitly ignore cypress files when running unit tests Trigger Drone Only run unit tests with yarn test:unit Add serve dist command to serve built static files Trigger Drone Fix cypress image Change cypress image Unify test & build step back again to prevent double installation of dependencies Add cache location config Move test steps to separate pipeline Run cypress tests in drone Fix all tests Make all factory methods static Use factories everywhere Cleanup Add tests for the editor Add tests for viewing link shares Fix seed Add test to make sure settings elements are hidden if the user does not have the right to edit the current list Co-authored-by: kolaente <k@knt.li> Reviewed-on: https://kolaente.dev/vikunja/frontend/pulls/313 Co-Authored-By: konrad <konrad@kola-entertainments.de> Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-10 13:52:35 +00:00
environment:
VIKUNJA_SERVICE_TESTINGTOKEN: averyLongSecretToSe33dtheDB
VIKUNJA_LOG_LEVEL: DEBUG
2019-04-25 18:03:19 +00:00
steps:
2021-09-29 20:48:01 +00:00
# Disabled until we figure out why it is so slow
2022-09-21 18:29:29 +00:00
# - name: restore-cache
# image: meltwater/drone-cache:dev
2022-11-04 17:29:02 +00:00
# pull: always
2022-09-21 18:29:29 +00:00
# environment:
# AWS_ACCESS_KEY_ID:
# from_secret: cache_aws_access_key_id
# AWS_SECRET_ACCESS_KEY:
# from_secret: cache_aws_secret_access_key
# settings:
# debug: true
# restore: true
# bucket: kolaente.dev-drone-dependency-cache
# endpoint: https://s3.fr-par.scw.cloud
# region: fr-par
# path_style: true
# cache_key: '{{ .Repo.Name }}_{{ checksum "pnpm-lock.yaml" }}_{{ arch }}_{{ os }}'
# mount:
# - .cache
- name: dependencies
image: node:20.11.0-alpine
2022-11-04 17:29:02 +00:00
pull: always
environment:
2022-04-09 20:24:16 +00:00
PNPM_CACHE_FOLDER: .cache/pnpm
CYPRESS_CACHE_FOLDER: .cache/cypress
PUPPETEER_SKIP_DOWNLOAD: true
2018-09-08 15:44:29 +00:00
commands:
2022-09-26 12:49:48 +00:00
- corepack enable && pnpm config set store-dir .cache/pnpm
2022-04-09 18:00:29 +00:00
- pnpm install --fetch-timeout 100000
2022-09-21 18:29:29 +00:00
# depends_on:
# - restore-cache
- name: lint
image: node:20.11.0-alpine
2022-11-04 17:29:02 +00:00
pull: always
environment:
2022-04-09 20:24:16 +00:00
PNPM_CACHE_FOLDER: .cache/pnpm
commands:
2022-09-26 12:49:48 +00:00
- corepack enable && pnpm config set store-dir .cache/pnpm
2022-04-09 18:00:29 +00:00
- pnpm run lint
depends_on:
- dependencies
- name: build-prod
image: node:20.11.0-alpine
2022-11-04 17:29:02 +00:00
pull: always
environment:
2022-04-09 20:24:16 +00:00
PNPM_CACHE_FOLDER: .cache/pnpm
commands:
2022-09-26 12:49:48 +00:00
- corepack enable && pnpm config set store-dir .cache/pnpm
2022-04-09 18:00:29 +00:00
- pnpm run build
depends_on:
- dependencies
Frontend Testing With Cypress (#313) Wait until the request is finished Wait for the newly created task exists in the dom Wait until the login request is done Wait until the list request is done Make sure no user token is in local storage when trying to register Make sure to always upload test results Disable capturing videos of test runs in CI Add uploading test result screenshots from ci Assert a success notification is shown after creating a new list Change input element locators Fix testing for favorite lists Make sure faked usernames are always random Make sure the tests work Make sure to use node 12 everywhere in ci Add docs Fix setting api url for running tests Use a working node version Ignore cypress screenshots and videos Set cache folders Explicitly ignore cypress files when running unit tests Trigger Drone Only run unit tests with yarn test:unit Add serve dist command to serve built static files Trigger Drone Fix cypress image Change cypress image Unify test & build step back again to prevent double installation of dependencies Add cache location config Move test steps to separate pipeline Run cypress tests in drone Fix all tests Make all factory methods static Use factories everywhere Cleanup Add tests for the editor Add tests for viewing link shares Fix seed Add test to make sure settings elements are hidden if the user does not have the right to edit the current list Co-authored-by: kolaente <k@knt.li> Reviewed-on: https://kolaente.dev/vikunja/frontend/pulls/313 Co-Authored-By: konrad <konrad@kola-entertainments.de> Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-10 13:52:35 +00:00
- name: test-unit
image: node:20.11.0-alpine
2022-11-04 17:29:02 +00:00
pull: always
Better reminders (#308) Fix setting the new reminder component to null after adding a new date Add "close on change" event which only fires if the component closed and the value actually changed Hide the "today" option after 21:00 Add "confirm" button to close the component Use disabled in reminders Add a disabled property to the datepicker Cleanup workarounds for flatpickr Use the new datepicker for end dates Use the new datepicker for start date Use the new datepicker for due dates Mobile styling Format Sync flatpickr when clicking on choose a date Make sure to only hide the popup when not clicked something inside of it Make flatpickr dates work Use datepicker component for reminders Merge branch 'master' into feature/better-reminders Fix bottom padding of inline flatpickr Set time Add method to calculate the neares time Move time helpers in separate folder Remove separate flatpickr date Cleanup Set the flatpickr date when setting changing the date Better formatting of the chosen date Bubble Set date when choosing one Fix test Show correct weekday in preview Change hover background color Make label to show if selected date is null configurable Use a different icon for weekend Ignore test files when linting Add tests to dron Move day interval calculation to separate file and test it Add next date calculation Add basic date picker component Co-authored-by: kolaente <k@knt.li> Reviewed-on: https://kolaente.dev/vikunja/frontend/pulls/308 Co-Authored-By: konrad <konrad@kola-entertainments.de> Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-11-28 13:59:27 +00:00
commands:
2022-09-26 12:49:48 +00:00
- corepack enable && pnpm config set store-dir .cache/pnpm
2022-04-09 18:00:29 +00:00
- pnpm run test:unit
Frontend Testing With Cypress (#313) Wait until the request is finished Wait for the newly created task exists in the dom Wait until the login request is done Wait until the list request is done Make sure no user token is in local storage when trying to register Make sure to always upload test results Disable capturing videos of test runs in CI Add uploading test result screenshots from ci Assert a success notification is shown after creating a new list Change input element locators Fix testing for favorite lists Make sure faked usernames are always random Make sure the tests work Make sure to use node 12 everywhere in ci Add docs Fix setting api url for running tests Use a working node version Ignore cypress screenshots and videos Set cache folders Explicitly ignore cypress files when running unit tests Trigger Drone Only run unit tests with yarn test:unit Add serve dist command to serve built static files Trigger Drone Fix cypress image Change cypress image Unify test & build step back again to prevent double installation of dependencies Add cache location config Move test steps to separate pipeline Run cypress tests in drone Fix all tests Make all factory methods static Use factories everywhere Cleanup Add tests for the editor Add tests for viewing link shares Fix seed Add test to make sure settings elements are hidden if the user does not have the right to edit the current list Co-authored-by: kolaente <k@knt.li> Reviewed-on: https://kolaente.dev/vikunja/frontend/pulls/313 Co-Authored-By: konrad <konrad@kola-entertainments.de> Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-10 13:52:35 +00:00
depends_on:
- dependencies
- name: typecheck
failure: ignore
image: node:20.11.0-alpine
2022-11-04 17:29:02 +00:00
pull: always
2022-04-09 18:00:29 +00:00
environment:
2022-04-09 20:24:16 +00:00
PNPM_CACHE_FOLDER: .cache/pnpm
commands:
2022-09-26 12:49:48 +00:00
- corepack enable && pnpm config set store-dir .cache/pnpm
2022-04-09 18:00:29 +00:00
- pnpm run typecheck
depends_on:
- dependencies
Frontend Testing With Cypress (#313) Wait until the request is finished Wait for the newly created task exists in the dom Wait until the login request is done Wait until the list request is done Make sure no user token is in local storage when trying to register Make sure to always upload test results Disable capturing videos of test runs in CI Add uploading test result screenshots from ci Assert a success notification is shown after creating a new list Change input element locators Fix testing for favorite lists Make sure faked usernames are always random Make sure the tests work Make sure to use node 12 everywhere in ci Add docs Fix setting api url for running tests Use a working node version Ignore cypress screenshots and videos Set cache folders Explicitly ignore cypress files when running unit tests Trigger Drone Only run unit tests with yarn test:unit Add serve dist command to serve built static files Trigger Drone Fix cypress image Change cypress image Unify test & build step back again to prevent double installation of dependencies Add cache location config Move test steps to separate pipeline Run cypress tests in drone Fix all tests Make all factory methods static Use factories everywhere Cleanup Add tests for the editor Add tests for viewing link shares Fix seed Add test to make sure settings elements are hidden if the user does not have the right to edit the current list Co-authored-by: kolaente <k@knt.li> Reviewed-on: https://kolaente.dev/vikunja/frontend/pulls/313 Co-Authored-By: konrad <konrad@kola-entertainments.de> Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-10 13:52:35 +00:00
- name: test-frontend
image: cypress/browsers:node18.12.0-chrome107
2022-11-04 17:29:02 +00:00
pull: always
Frontend Testing With Cypress (#313) Wait until the request is finished Wait for the newly created task exists in the dom Wait until the login request is done Wait until the list request is done Make sure no user token is in local storage when trying to register Make sure to always upload test results Disable capturing videos of test runs in CI Add uploading test result screenshots from ci Assert a success notification is shown after creating a new list Change input element locators Fix testing for favorite lists Make sure faked usernames are always random Make sure the tests work Make sure to use node 12 everywhere in ci Add docs Fix setting api url for running tests Use a working node version Ignore cypress screenshots and videos Set cache folders Explicitly ignore cypress files when running unit tests Trigger Drone Only run unit tests with yarn test:unit Add serve dist command to serve built static files Trigger Drone Fix cypress image Change cypress image Unify test & build step back again to prevent double installation of dependencies Add cache location config Move test steps to separate pipeline Run cypress tests in drone Fix all tests Make all factory methods static Use factories everywhere Cleanup Add tests for the editor Add tests for viewing link shares Fix seed Add test to make sure settings elements are hidden if the user does not have the right to edit the current list Co-authored-by: kolaente <k@knt.li> Reviewed-on: https://kolaente.dev/vikunja/frontend/pulls/313 Co-Authored-By: konrad <konrad@kola-entertainments.de> Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-10 13:52:35 +00:00
environment:
CYPRESS_API_URL: http://api:3456/api/v1
CYPRESS_TEST_SECRET: averyLongSecretToSe33dtheDB
2022-04-09 20:24:16 +00:00
PNPM_CACHE_FOLDER: .cache/pnpm
CYPRESS_CACHE_FOLDER: .cache/cypress
CYPRESS_DEFAULT_COMMAND_TIMEOUT: 60000
CYPRESS_RECORD_KEY:
from_secret: cypress_project_key
Frontend Testing With Cypress (#313) Wait until the request is finished Wait for the newly created task exists in the dom Wait until the login request is done Wait until the list request is done Make sure no user token is in local storage when trying to register Make sure to always upload test results Disable capturing videos of test runs in CI Add uploading test result screenshots from ci Assert a success notification is shown after creating a new list Change input element locators Fix testing for favorite lists Make sure faked usernames are always random Make sure the tests work Make sure to use node 12 everywhere in ci Add docs Fix setting api url for running tests Use a working node version Ignore cypress screenshots and videos Set cache folders Explicitly ignore cypress files when running unit tests Trigger Drone Only run unit tests with yarn test:unit Add serve dist command to serve built static files Trigger Drone Fix cypress image Change cypress image Unify test & build step back again to prevent double installation of dependencies Add cache location config Move test steps to separate pipeline Run cypress tests in drone Fix all tests Make all factory methods static Use factories everywhere Cleanup Add tests for the editor Add tests for viewing link shares Fix seed Add test to make sure settings elements are hidden if the user does not have the right to edit the current list Co-authored-by: kolaente <k@knt.li> Reviewed-on: https://kolaente.dev/vikunja/frontend/pulls/313 Co-Authored-By: konrad <konrad@kola-entertainments.de> Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-10 13:52:35 +00:00
commands:
- sed -i 's/localhost/api/g' dist/index.html
2022-09-26 12:49:48 +00:00
- corepack enable && pnpm config set store-dir .cache/pnpm
2022-09-21 18:42:49 +00:00
- pnpm cypress install
- pnpm run test:e2e-record
depends_on:
- build-prod
2022-09-21 18:29:29 +00:00
# - name: rebuild-cache
# image: meltwater/drone-cache:dev
2022-11-04 17:29:02 +00:00
# pull: always
2022-09-21 18:29:29 +00:00
# environment:
# AWS_ACCESS_KEY_ID:
# from_secret: cache_aws_access_key_id
# AWS_SECRET_ACCESS_KEY:
# from_secret: cache_aws_secret_access_key
# settings:
# rebuild: true
# bucket: kolaente.dev-drone-dependency-cache
# endpoint: https://s3.fr-par.scw.cloud
# region: fr-par
# path_style: true
# cache_key: '{{ .Repo.Name }}_{{ checksum "pnpm-lock.yaml" }}_{{ arch }}_{{ os }}'
# mount:
# - .cache
# depends_on:
# - dependencies
2022-04-09 20:24:16 +00:00
- name: deploy-preview
image: williamjackson/netlify-cli
2022-11-04 17:29:02 +00:00
pull: always
user: root # The rest runs as root and thus the permissions wouldn't work
environment:
NETLIFY_AUTH_TOKEN:
from_secret: netlify_auth_token
NETLIFY_SITE_ID:
from_secret: netlify_site_id
GITEA_TOKEN:
from_secret: gitea_token
commands:
- cp -r dist dist-preview
# Override the default api url used for preview
- sed -i 's|http://localhost:3456|https://try.vikunja.io|g' dist-preview/index.html
2022-04-09 18:00:29 +00:00
- apk add --no-cache perl-utils
# create via:
# `shasum -a 384 ./scripts/deploy-preview-netlify.mjs > ./scripts/deploy-preview-netlify.mjs.sha384`
- shasum -a 384 -c ./scripts/deploy-preview-netlify.mjs.sha384
- node ./scripts/deploy-preview-netlify.mjs
depends_on:
- build-prod
when:
event:
include:
- pull_request
2019-04-25 18:03:19 +00:00
---
kind: pipeline
2022-11-05 13:24:24 +00:00
type: docker
2019-04-25 18:03:19 +00:00
name: release-latest
depends_on:
- build
2019-04-25 18:03:19 +00:00
trigger:
branch:
2021-02-10 17:17:20 +00:00
- main
2019-04-25 18:03:19 +00:00
event:
- push
steps:
- name: fetch-tags
image: docker:git
commands:
- git fetch --tags
2022-09-21 18:29:29 +00:00
# - name: restore-cache
# image: meltwater/drone-cache:dev
2022-11-04 17:29:02 +00:00
# pull: always
2022-09-21 18:29:29 +00:00
# environment:
# AWS_ACCESS_KEY_ID:
# from_secret: cache_aws_access_key_id
# AWS_SECRET_ACCESS_KEY:
# from_secret: cache_aws_secret_access_key
# settings:
# restore: true
# bucket: kolaente.dev-drone-dependency-cache
# endpoint: https://s3.fr-par.scw.cloud
# region: fr-par
# path_style: true
# cache_key: '{{ .Repo.Name }}_{{ checksum "pnpm-lock.yaml" }}_{{ arch }}_{{ os }}'
# mount:
# - .cache
2019-04-25 18:03:19 +00:00
- name: build
image: node:20.11.0-alpine
2022-11-04 17:29:02 +00:00
pull: always
environment:
2022-04-09 20:24:16 +00:00
PNPM_CACHE_FOLDER: .cache/pnpm
2023-06-18 13:44:16 +00:00
SENTRY_AUTH_TOKEN:
from_secret: sentry_auth_token
SENTRY_ORG: vikunja
SENTRY_PROJECT: frontend-oss
PUPPETEER_SKIP_DOWNLOAD: true
2018-09-08 15:44:29 +00:00
commands:
2022-10-25 07:16:37 +00:00
- apk add git
- corepack enable && pnpm config set store-dir .cache/pnpm
2022-10-25 07:16:37 +00:00
- pnpm install --fetch-timeout 100000 --frozen-lockfile
2022-04-09 18:00:29 +00:00
- pnpm run lint
- "echo '{\"VERSION\": \"'$(git describe --tags --always --abbrev=10 | sed 's/-/+/' | sed 's/^v//' | sed 's/-g/-/')'\"}' > src/version.json"
2022-04-09 18:00:29 +00:00
- pnpm run build
2020-05-05 21:34:58 +00:00
- sed -i 's/http\:\\/\\/localhost\\:3456\\/api\\/v1/\\/api\\/v1/g' dist/index.html # Override the default api url used for developing
2022-09-21 18:29:29 +00:00
# depends_on:
# - restore-cache
2019-04-25 18:03:19 +00:00
- name: static
image: kolaente/zip
2022-11-04 17:29:02 +00:00
pull: always
2018-09-08 15:52:06 +00:00
commands:
- cp src/version.json dist
2018-09-08 15:52:06 +00:00
- cd dist
2021-02-10 17:17:20 +00:00
- zip -r ../vikunja-frontend-unstable.zip *
2018-09-08 15:52:06 +00:00
- cd ..
2019-04-25 18:05:12 +00:00
depends_on: [ build ]
2018-09-08 15:44:29 +00:00
2019-04-25 18:05:12 +00:00
- name: release
image: plugins/s3
2022-11-04 17:29:02 +00:00
pull: always
2019-04-25 18:03:19 +00:00
settings:
2020-07-14 11:45:57 +00:00
bucket: vikunja-releases
2019-04-25 18:03:19 +00:00
access_key:
from_secret: aws_access_key_id
secret_key:
from_secret: aws_secret_access_key
2020-07-14 11:45:57 +00:00
endpoint: https://s3.fr-par.scw.cloud
region: fr-par
2019-04-25 18:03:19 +00:00
path_style: true
2021-02-10 17:17:20 +00:00
source: vikunja-frontend-unstable.zip
2020-03-01 21:53:40 +00:00
target: /frontend/
2019-04-25 18:05:12 +00:00
depends_on: [ static ]
2019-04-25 18:03:19 +00:00
---
kind: pipeline
2022-11-05 13:24:24 +00:00
type: docker
2019-04-25 18:03:19 +00:00
name: release-version
2018-09-08 15:44:29 +00:00
depends_on:
- build
2019-04-25 18:03:19 +00:00
trigger:
event:
- tag
steps:
- name: fetch-tags
image: docker:git
commands:
- git fetch --tags
2022-09-21 18:29:29 +00:00
# - name: restore-cache
# image: meltwater/drone-cache:dev
2022-11-04 17:29:02 +00:00
# pull: always
2022-09-21 18:29:29 +00:00
# environment:
# AWS_ACCESS_KEY_ID:
# from_secret: cache_aws_access_key_id
# AWS_SECRET_ACCESS_KEY:
# from_secret: cache_aws_secret_access_key
# settings:
# restore: true
# bucket: kolaente.dev-drone-dependency-cache
# endpoint: https://s3.fr-par.scw.cloud
# region: fr-par
# path_style: true
# cache_key: '{{ .Repo.Name }}_{{ checksum "pnpm-lock.yaml" }}_{{ arch }}_{{ os }}'
# mount:
# - .cache
2019-04-25 18:03:19 +00:00
- name: build
image: node:20.11.0-alpine
2022-11-04 17:29:02 +00:00
pull: always
environment:
2022-04-09 20:24:16 +00:00
PNPM_CACHE_FOLDER: .cache/pnpm
2023-06-18 13:44:16 +00:00
SENTRY_AUTH_TOKEN:
from_secret: sentry_auth_token
SENTRY_ORG: vikunja
SENTRY_PROJECT: frontend-oss
2019-04-25 18:03:19 +00:00
commands:
2022-10-25 07:16:37 +00:00
- apk add git
2022-09-26 12:49:48 +00:00
- corepack enable && pnpm config set store-dir .cache/pnpm
2022-10-25 07:16:37 +00:00
- pnpm install --fetch-timeout 100000 --frozen-lockfile
2022-04-09 18:00:29 +00:00
- pnpm run lint
- "echo '{\"VERSION\": \"'$(git describe --tags --always --abbrev=10 | sed 's/-/+/' | sed 's/^v//' | sed 's/-g/-/')'\"}' > src/version.json"
2022-04-09 18:00:29 +00:00
- pnpm run build
2020-05-05 21:34:58 +00:00
- sed -i 's/http\:\\/\\/localhost\\:3456\\/api\\/v1/\\/api\\/v1/g' dist/index.html # Override the default api url used for developing
2022-09-21 18:29:29 +00:00
# depends_on:
# - restore-cache
2019-04-25 18:03:19 +00:00
- name: static
image: kolaente/zip
2022-11-04 17:29:02 +00:00
pull: always
2019-04-25 18:03:19 +00:00
commands:
- cp src/version.json dist
2019-04-25 18:03:19 +00:00
- cd dist
- zip -r ../vikunja-frontend-${DRONE_TAG##v}.zip *
- cd ..
2019-04-25 18:05:12 +00:00
depends_on: [ build ]
2019-04-25 18:03:19 +00:00
2019-04-25 18:05:12 +00:00
- name: release
image: plugins/s3
2022-11-04 17:29:02 +00:00
pull: always
2019-04-25 18:03:19 +00:00
settings:
2020-07-14 11:45:57 +00:00
bucket: vikunja-releases
2019-04-25 18:03:19 +00:00
access_key:
from_secret: aws_access_key_id
secret_key:
from_secret: aws_secret_access_key
2020-07-14 11:45:57 +00:00
endpoint: https://s3.fr-par.scw.cloud
region: fr-par
2019-04-25 18:03:19 +00:00
path_style: true
source: vikunja-frontend-${DRONE_TAG##v}.zip
2020-03-01 21:53:40 +00:00
target: /frontend/
2019-04-25 18:05:12 +00:00
depends_on: [ static ]
2018-09-08 15:44:29 +00:00
---
kind: pipeline
2022-11-05 13:24:24 +00:00
type: docker
name: trigger-desktop-update
trigger:
branch:
2021-02-10 17:17:20 +00:00
- main
event:
- push
2021-08-06 08:26:16 +00:00
depends_on:
- release-latest
steps:
- name: trigger
2021-08-06 08:26:16 +00:00
image: plugins/downstream
settings:
server: https://drone.kolaente.de
token:
from_secret: drone_token
repositories:
2021-02-10 17:17:20 +00:00
- vikunja/desktop@main
---
kind: pipeline
type: docker
name: docker-release
depends_on:
- build
trigger:
2020-06-22 17:13:43 +00:00
ref:
2021-02-10 17:17:20 +00:00
- refs/heads/main
2020-06-22 17:13:43 +00:00
- "refs/tags/**"
event:
exclude:
- cron
steps:
- name: fetch-tags
image: docker:git
commands:
- git fetch --tags
- name: docker-unstable
image: thegeeklab/drone-docker-buildx
privileged: true
pull: always
settings:
username:
from_secret: docker_username
password:
from_secret: docker_password
repo: vikunja/frontend
tags: unstable
build_args:
- USE_RELEASE=false
platforms:
- linux/386
- linux/amd64
- linux/arm/v6
- linux/arm/v7
- linux/arm64/v8
depends_on: [ fetch-tags ]
when:
ref:
2021-02-10 17:17:20 +00:00
- refs/heads/main
- name: generate-tags
image: thegeeklab/docker-autotag
environment:
DOCKER_AUTOTAG_VERSION: ${DRONE_TAG}
DOCKER_AUTOTAG_EXTRA_TAGS: latest
DOCKER_AUTOTAG_OUTPUT_FILE: .tags
depends_on: [ fetch-tags ]
when:
ref:
- "refs/tags/**"
- name: docker-release
image: thegeeklab/drone-docker-buildx
privileged: true
pull: always
settings:
username:
from_secret: docker_username
password:
from_secret: docker_password
repo: vikunja/frontend
build_args:
- USE_RELEASE=false
platforms:
- linux/386
- linux/amd64
- linux/arm/v6
- linux/arm/v7
- linux/arm64/v8
depends_on: [ generate-tags ]
2021-02-12 19:02:51 +00:00
when:
ref:
- "refs/tags/**"
2020-06-22 17:13:43 +00:00
---
kind: pipeline
type: docker
name: notify
trigger:
ref:
2021-02-10 17:17:20 +00:00
- refs/heads/main
2020-06-22 17:13:43 +00:00
- "refs/tags/**"
event:
exclude:
- cron
2020-06-22 17:13:43 +00:00
depends_on:
- build
2020-06-22 17:13:43 +00:00
- release-version
- release-latest
- trigger-desktop-update
- docker-release
2020-06-22 17:13:43 +00:00
steps:
- name: notify
image: plugins/matrix
2020-06-22 17:13:43 +00:00
settings:
homeserver: https://matrix.org
roomid: WqBDCxzghKcNflkErL:matrix.org
username:
from_secret: matrix_username
password:
from_secret: matrix_password
2020-06-22 17:13:43 +00:00
when:
status:
- success
- failure
---
kind: pipeline
type: docker
2021-07-13 10:06:50 +00:00
name: update-translations
trigger:
branch:
include:
- main
event:
include:
- cron
cron:
- update_translations
steps:
- name: download
pull: always
2024-01-07 19:20:14 +00:00
image: ghcr.io/kolaente/kolaente/drone-crowdin-v2:latest
settings:
crowdin_key:
from_secret: crowdin_key
project_id: 462614
target: download
download_to: src/i18n/lang/
download_export_approved_only: true
- name: move-files
pull: always
image: bash
depends_on:
- download
commands:
- mv src/i18n/lang/*/*.json src/i18n/lang
- name: push
pull: always
image: appleboy/drone-git-push
2021-09-05 11:03:15 +00:00
depends_on:
- move-files
settings:
author_email: "frederik@vikunja.io"
author_name: Frederick [Bot]
branch: main
commit: true
commit_message: "chore(i18n): update translations via Crowdin"
remote: "ssh://git@kolaente.dev:9022/vikunja/frontend.git"
ssh_key:
from_secret: git_push_ssh_key
2021-07-13 10:06:50 +00:00
- name: upload
pull: always
2024-01-07 19:20:14 +00:00
image: ghcr.io/kolaente/kolaente/drone-crowdin-v2:latest
2021-09-05 11:02:43 +00:00
depends_on:
- clone
settings:
crowdin_key:
from_secret: crowdin_key
project_id: 462614
target: upload
2023-09-06 13:22:51 +00:00
upload_files:
src/i18n/lang/en.json: en.json
---
kind: signature
hmac: a044c7c4db3c2a11299d4d118397e9d25be36db241723a1bbd0a2f9cc90ffdac
...