1
0

feat: use hetzner object storage for releases

(cherry picked from commit 0472acac980d31c37863d34a8eed988ee1dc6523)
This commit is contained in:
kolaente 2024-10-16 17:18:38 +02:00
parent 00a4d63344
commit 3f98f47256
No known key found for this signature in database
GPG Key ID: F40E70337AB24C9B

View File

@ -579,6 +579,53 @@ steps:
when: when:
event: [ push, tag, pull_request ] event: [ push, tag, pull_request ]
- name: generate-config-yaml
image: vikunja/golang-build:latest
pull: always
commands:
- ./mage-static generate:config-yaml 1
depends_on: [ mage ]
- name: upload-config-yaml-unstable
image: plugins/s3
pull: always
settings:
bucket: vikunja-releases
access_key:
from_secret: hetzner_access_key_id
secret_key:
from_secret: hetzner_secret_access_key
endpoint: https://fsn1.your-objectstorage.com
region: fsn1
path_style: true
source: config.yml.sample
target: /vikunja/unstable/
when:
branch:
- main
event:
- push
depends_on: [ generate-config-yaml ]
- name: upload-config-yaml-version
image: plugins/s3
pull: always
settings:
bucket: vikunja-releases
access_key:
from_secret: hetzner_access_key_id
secret_key:
from_secret: hetzner_secret_access_key
endpoint: https://fsn1.your-objectstorage.com
region: fsn1
path_style: true
source: config.yml.sample
target: /vikunja/${DRONE_TAG##v}/
when:
event:
- tag
depends_on: [ generate-config-yaml ]
- name: before-static-build - name: before-static-build
image: ghcr.io/techknowlogick/xgo:go-1.23.x image: ghcr.io/techknowlogick/xgo:go-1.23.x
pull: always pull: always
@ -678,11 +725,11 @@ steps:
settings: settings:
bucket: vikunja-releases bucket: vikunja-releases
access_key: access_key:
from_secret: aws_access_key_id from_secret: hetzner_access_key_id
secret_key: secret_key:
from_secret: aws_secret_access_key from_secret: hetzner_secret_access_key
endpoint: https://s3.fr-par.scw.cloud endpoint: https://fsn1.your-objectstorage.com
region: fr-par region: fsn1
path_style: true path_style: true
strip_prefix: dist/zip/ strip_prefix: dist/zip/
source: dist/zip/* source: dist/zip/*
@ -700,11 +747,11 @@ steps:
settings: settings:
bucket: vikunja-releases bucket: vikunja-releases
access_key: access_key:
from_secret: aws_access_key_id from_secret: hetzner_access_key_id
secret_key: secret_key:
from_secret: aws_secret_access_key from_secret: hetzner_secret_access_key
endpoint: https://s3.fr-par.scw.cloud endpoint: https://fsn1.your-objectstorage.com
region: fr-par region: fsn1
path_style: true path_style: true
strip_prefix: dist/zip/ strip_prefix: dist/zip/
source: dist/zip/* source: dist/zip/*
@ -752,11 +799,11 @@ steps:
settings: settings:
bucket: vikunja-releases bucket: vikunja-releases
access_key: access_key:
from_secret: aws_access_key_id from_secret: hetzner_access_key_id
secret_key: secret_key:
from_secret: aws_secret_access_key from_secret: hetzner_secret_access_key
endpoint: https://s3.fr-par.scw.cloud endpoint: https://fsn1.your-objectstorage.com
region: fr-par region: fsn1
path_style: true path_style: true
strip_prefix: dist/os-packages/ strip_prefix: dist/os-packages/
source: dist/os-packages/* source: dist/os-packages/*
@ -774,11 +821,11 @@ steps:
settings: settings:
bucket: vikunja-releases bucket: vikunja-releases
access_key: access_key:
from_secret: aws_access_key_id from_secret: hetzner_access_key_id
secret_key: secret_key:
from_secret: aws_secret_access_key from_secret: hetzner_secret_access_key
endpoint: https://s3.fr-par.scw.cloud endpoint: https://fsn1.your-objectstorage.com
region: fr-par region: fsn1
path_style: true path_style: true
strip_prefix: dist/os-packages/ strip_prefix: dist/os-packages/
source: dist/os-packages/* source: dist/os-packages/*
@ -931,11 +978,11 @@ steps:
settings: settings:
bucket: vikunja-releases bucket: vikunja-releases
access_key: access_key:
from_secret: aws_access_key_id from_secret: hetzner_access_key_id
secret_key: secret_key:
from_secret: aws_secret_access_key from_secret: hetzner_secret_access_key
endpoint: https://s3.fr-par.scw.cloud endpoint: https://fsn1.your-objectstorage.com
region: fr-par region: fsn1
path_style: true path_style: true
source: frontend/vikunja-frontend-unstable.zip source: frontend/vikunja-frontend-unstable.zip
target: / target: /
@ -990,11 +1037,11 @@ steps:
settings: settings:
bucket: vikunja-releases bucket: vikunja-releases
access_key: access_key:
from_secret: aws_access_key_id from_secret: hetzner_access_key_id
secret_key: secret_key:
from_secret: aws_secret_access_key from_secret: hetzner_secret_access_key
endpoint: https://s3.fr-par.scw.cloud endpoint: https://fsn1.your-objectstorage.com
region: fr-par region: fsn1
path_style: true path_style: true
source: frontend/vikunja-frontend-${DRONE_TAG##v}.zip source: frontend/vikunja-frontend-${DRONE_TAG##v}.zip
target: / target: /
@ -1093,8 +1140,8 @@ steps:
# settings: # settings:
# restore: true # restore: true
# bucket: kolaente.dev-drone-dependency-cache # bucket: kolaente.dev-drone-dependency-cache
# endpoint: https://s3.fr-par.scw.cloud # endpoint: https://fsn1.your-objectstorage.com
# region: fr-par # region: fsn1
# path_style: true # path_style: true
# cache_key: '{{ .Repo.Name }}_{{ checksum "desktop/yarn.lock" }}_{{ arch }}_{{ os }}' # cache_key: '{{ .Repo.Name }}_{{ checksum "desktop/yarn.lock" }}_{{ arch }}_{{ os }}'
# mount: # mount:
@ -1131,8 +1178,8 @@ steps:
# settings: # settings:
# rebuild: true # rebuild: true
# bucket: kolaente.dev-drone-dependency-cache # bucket: kolaente.dev-drone-dependency-cache
# endpoint: https://s3.fr-par.scw.cloud # endpoint: https://fsn1.your-objectstorage.com
# region: fr-par # region: fsn1
# path_style: true # path_style: true
# cache_key: '{{ .Repo.Name }}_{{ checksum "desktop/yarn.lock" }}_{{ arch }}_{{ os }}' # cache_key: '{{ .Repo.Name }}_{{ checksum "desktop/yarn.lock" }}_{{ arch }}_{{ os }}'
# mount: # mount:
@ -1174,8 +1221,8 @@ steps:
# settings: # settings:
# restore: true # restore: true
# bucket: kolaente.dev-drone-dependency-cache # bucket: kolaente.dev-drone-dependency-cache
# endpoint: https://s3.fr-par.scw.cloud # endpoint: https://fsn1.your-objectstorage.com
# region: fr-par # region: fsn1
# path_style: true # path_style: true
# cache_key: '{{ .Repo.Name }}_{{ checksum "desktop/yarn.lock" }}_{{ arch }}_{{ os }}' # cache_key: '{{ .Repo.Name }}_{{ checksum "desktop/yarn.lock" }}_{{ arch }}_{{ os }}'
# mount: # mount:
@ -1198,9 +1245,9 @@ steps:
- unzip vikunja-frontend-$$VERSION.zip -d frontend - unzip vikunja-frontend-$$VERSION.zip -d frontend
- sed -i 's/\\/api\\/v1//g' frontend/index.html - sed -i 's/\\/api\\/v1//g' frontend/index.html
- ./bumpp.sh - ./bumpp.sh
- yarn install - corepack enable && pnpm config set store-dir .cache/pnpm
- cat package.json - pnpm install --fetch-timeout 100000
- yarn dist --linux --windows - pnpm dist --linux --windows
# - name: rebuild-cache # - name: rebuild-cache
# image: meltwater/drone-cache:dev # image: meltwater/drone-cache:dev
@ -1213,8 +1260,8 @@ steps:
# settings: # settings:
# rebuild: true # rebuild: true
# bucket: kolaente.dev-drone-dependency-cache # bucket: kolaente.dev-drone-dependency-cache
# endpoint: https://s3.fr-par.scw.cloud # endpoint: https://fsn1.your-objectstorage.com
# region: fr-par # region: fsn1
# path_style: true # path_style: true
# cache_key: '{{ .Repo.Name }}_{{ checksum "desktop/yarn.lock" }}_{{ arch }}_{{ os }}' # cache_key: '{{ .Repo.Name }}_{{ checksum "desktop/yarn.lock" }}_{{ arch }}_{{ os }}'
# mount: # mount:
@ -1241,11 +1288,11 @@ steps:
settings: settings:
bucket: vikunja-releases bucket: vikunja-releases
access_key: access_key:
from_secret: aws_access_key_id from_secret: hetzner_access_key_id
secret_key: secret_key:
from_secret: aws_secret_access_key from_secret: hetzner_secret_access_key
endpoint: https://s3.fr-par.scw.cloud endpoint: https://fsn1.your-objectstorage.com
region: fr-par region: fsn1
path_style: true path_style: true
strip_prefix: desktop/dist/ strip_prefix: desktop/dist/
source: desktop/dist/Vikunja-Desktop* source: desktop/dist/Vikunja-Desktop*
@ -1263,11 +1310,11 @@ steps:
settings: settings:
bucket: vikunja-releases bucket: vikunja-releases
access_key: access_key:
from_secret: aws_access_key_id from_secret: hetzner_access_key_id
secret_key: secret_key:
from_secret: aws_secret_access_key from_secret: hetzner_secret_access_key
endpoint: https://s3.fr-par.scw.cloud endpoint: https://fsn1.your-objectstorage.com
region: fr-par region: fsn1
path_style: true path_style: true
strip_prefix: desktop/dist/ strip_prefix: desktop/dist/
source: desktop/dist/* source: desktop/dist/*
@ -1296,9 +1343,9 @@ steps:
# - name: build # - name: build
# environment: # environment:
# ACCESS_KEY: # ACCESS_KEY:
# from_secret: aws_access_key_id # from_secret: hetzner_access_key_id
# SECRET_KEY: # SECRET_KEY:
# from_secret: aws_secret_access_key # from_secret: hetzner_secret_access_key
# commands: # commands:
# - git fetch --tags # - git fetch --tags
# - export VERSION=${DRONE_TAG##v} # - export VERSION=${DRONE_TAG##v}
@ -1311,9 +1358,9 @@ steps:
# - sed -i '' "s/\$${version}/$$VERSION/g" package.json # - sed -i '' "s/\$${version}/$$VERSION/g" package.json
# - yarn install # - yarn install
# - yarn dist --mac # - yarn dist --mac
# - mc config host add scw-fr-par https://s3.fr-par.scw.cloud $ACCESS_KEY $SECRET_KEY --api S3v4 # - mc config host add scw-fsn1 https://fsn1.your-objectstorage.com $ACCESS_KEY $SECRET_KEY --api S3v4
# - mc cp ./dist/*.dmg scw-fr-par/vikunja-releases/desktop/$VERSION/ # - mc cp ./dist/*.dmg scw-fsn1/vikunja-releases/desktop/$VERSION/
# - mc cp ./dist/*.dmg.blockmap scw-fr-par/vikunja-releases/desktop/$VERSION/ # - mc cp ./dist/*.dmg.blockmap scw-fsn1/vikunja-releases/desktop/$VERSION/
--- ---
kind: pipeline kind: pipeline
@ -1350,6 +1397,6 @@ steps:
- failure - failure
--- ---
kind: signature kind: signature
hmac: a06d088bd62507aeb2be9cd4bfcd313bdc6fe0629b82816bef81770f8a34a3ef hmac: 35bb01a5ddc3fa2bd383eca7b3bf3f7d5c8a4dbf65a0fe71ef5401d5a7f748aa
... ...