This repository has been archived on 2024-02-08. You can view files and clone it, but cannot push or open issues or pull requests.
desktop/.drone.yml

237 lines
6.1 KiB
YAML

---
kind: pipeline
type: docker
name: build
trigger:
branch:
exclude:
- main
event:
include:
- push
- pull_request
steps:
- name: fetch-tags
image: docker:git
commands:
- git fetch --tags
- name: restore-cache
image: meltwater/drone-cache:dev
pull: true
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 "yarn.lock" }}_{{ arch }}_{{ os }}'
mount:
- '.cache'
- name: build
image: electronuserland/builder:wine-mono
pull: true
environment:
YARN_CACHE_FOLDER: .cache/yarn/
depends_on:
- fetch-tags
- restore-cache
commands:
- export VERSION=${DRONE_TAG##v}
- if [ -z "$$VERSION" ]; then export VERSION=unstable; fi
# TODO: Move to a yarn script
- wget https://dl.vikunja.io/frontend/vikunja-frontend-$$VERSION.zip
- unzip vikunja-frontend-$$VERSION.zip -d frontend
- sed -i 's/\\/api\\/v1//g' frontend/index.html
# Make sure that the -unstable suffix is added to release files
- sed -i "s/\$${version}/$$VERSION/g" package.json
- yarn install
- yarn dist --linux --windows
- name: rebuild-cache
image: meltwater/drone-cache:dev
pull: true
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 "yarn.lock" }}_{{ arch }}_{{ os }}'
mount:
- '.cache'
depends_on:
- build
---
kind: pipeline
type: docker
name: release
trigger:
ref:
- refs/heads/main
- "refs/tags/**"
steps:
- name: fetch-tags
image: docker:git
commands:
- git fetch --tags
- name: restore-cache
image: meltwater/drone-cache:dev
pull: true
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 "yarn.lock" }}_{{ arch }}_{{ os }}'
mount:
- '.cache'
- name: build
image: electronuserland/builder:wine-mono
pull: true
environment:
YARN_CACHE_FOLDER: .cache/yarn/
depends_on:
- fetch-tags
- restore-cache
commands:
- export VERSION=${DRONE_TAG##v}
- if [ -z "$$VERSION" ]; then export VERSION=unstable; fi
# TODO: Move to a yarn script
- wget https://dl.vikunja.io/frontend/vikunja-frontend-$$VERSION.zip
- unzip vikunja-frontend-$$VERSION.zip -d frontend
- sed -i 's/\\/api\\/v1//g' frontend/index.html
# Make sure that the -unstable suffix is added to release files
- sed -i "s/\$${version}/$$VERSION/g" package.json
- yarn install
- yarn dist --linux --windows
- name: rebuild-cache
image: meltwater/drone-cache:dev
pull: true
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 "yarn.lock" }}_{{ arch }}_{{ os }}'
mount:
- '.cache'
depends_on:
- build
- name: release-latest
image: plugins/s3
pull: true
settings:
bucket: vikunja-releases
access_key:
from_secret: aws_access_key_id
secret_key:
from_secret: aws_secret_access_key
endpoint: https://s3.fr-par.scw.cloud
region: fr-par
path_style: true
strip_prefix: dist/
source: dist/*
target: /desktop/unstable/
when:
event:
exclude:
- tag
depends_on: [ build ]
- name: release-version
image: plugins/s3
pull: true
settings:
bucket: vikunja-releases
access_key:
from_secret: aws_access_key_id
secret_key:
from_secret: aws_secret_access_key
endpoint: https://s3.fr-par.scw.cloud
region: fr-par
path_style: true
strip_prefix: dist/
source: dist/*
target: /desktop/${DRONE_TAG##v}/
when:
event:
- tag
depends_on: [ build ]
# Disabled until we have a working mac runner
#---
#kind: pipeline
#type: exec
#name: release-macos
#
#trigger:
# ref:
# - refs/heads/main
# - "refs/tags/**"
#
#platform:
# os: darwin
# arch: amd64
#
#steps:
# - name: build
# environment:
# ACCESS_KEY:
# from_secret: aws_access_key_id
# SECRET_KEY:
# from_secret: aws_secret_access_key
# commands:
# - git fetch --tags
# - export VERSION=${DRONE_TAG##v}
# - if [ -z "$$VERSION" ]; then export VERSION=unstable; fi
# # TODO: Move to a yarn script
# - wget https://dl.vikunja.io/frontend/vikunja-frontend-$$VERSION.zip
# - unzip vikunja-frontend-$$VERSION.zip -d frontend
# - sed -i '' 's/\\/api\\/v1//g' frontend/index.html
# # Make sure that the -unstable suffix is added to release files
# - sed -i '' "s/\$${version}/$$VERSION/g" package.json
# - yarn install
# - yarn dist --mac
# - mc config host add scw-fr-par https://s3.fr-par.scw.cloud $ACCESS_KEY $SECRET_KEY --api S3v4
# - mc cp ./dist/*.dmg scw-fr-par/vikunja-releases/desktop/$VERSION/
# - mc cp ./dist/*.dmg.blockmap scw-fr-par/vikunja-releases/desktop/$VERSION/
---
kind: signature
hmac: f5aa08e285044e34b02b197a309bb8682b8cc9adf630dabaa18cc09cc6b50cf6
...