152 lines
3.9 KiB
YAML
152 lines
3.9 KiB
YAML
---
|
|
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:1
|
|
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:1
|
|
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 ]
|
|
|
|
---
|
|
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/* scw-fr-par/vikunja-releases/desktop/$VERSION/
|
|
|