add krankerl publish to makefile, initial code signing support
This commit is contained in:
parent
bc7a48174a
commit
d12928a1e2
@ -1,6 +1,7 @@
|
|||||||
stages:
|
stages:
|
||||||
- compiling
|
- compiling
|
||||||
- packaging
|
- packaging
|
||||||
|
- signing
|
||||||
- publishing
|
- publishing
|
||||||
|
|
||||||
image: node:latest
|
image: node:latest
|
||||||
@ -31,6 +32,15 @@ packaging:
|
|||||||
dotenv: variables.env
|
dotenv: variables.env
|
||||||
expire_in: never
|
expire_in: never
|
||||||
|
|
||||||
|
signing:
|
||||||
|
stage: signing
|
||||||
|
script:
|
||||||
|
- apt update
|
||||||
|
- DEBIAN_FRONTEND="noninteractive" apt install -y wget php
|
||||||
|
- wget https://download.nextcloud.com/server/releases/nextcloud-20.0.2.tar.bz2
|
||||||
|
- tar xvf nextcloud-20.0.2.tar.bz2
|
||||||
|
- php nextcloud/occ
|
||||||
|
|
||||||
publishing:
|
publishing:
|
||||||
stage: publishing
|
stage: publishing
|
||||||
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
||||||
|
@ -8,6 +8,10 @@
|
|||||||
[#215](https://git.project-insanity.org/onny/nextcloud-app-radio/-/issues/215) @onny
|
[#215](https://git.project-insanity.org/onny/nextcloud-app-radio/-/issues/215) @onny
|
||||||
- Parse and supply changelog to Gitlab release
|
- Parse and supply changelog to Gitlab release
|
||||||
[#216](https://git.project-insanity.org/onny/nextcloud-app-radio/-/issues/216) @onny
|
[#216](https://git.project-insanity.org/onny/nextcloud-app-radio/-/issues/216) @onny
|
||||||
|
- Add German translation
|
||||||
|
[#190](https://git.project-insanity.org/onny/nextcloud-app-radio/-/issues/190) @onny
|
||||||
|
- Publish releases to app store using make
|
||||||
|
[#218](https://git.project-insanity.org/onny/nextcloud-app-radio/-/issues/218) @onny
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- Add AGPL headers
|
- Add AGPL headers
|
||||||
|
10
Makefile
10
Makefile
@ -59,3 +59,13 @@ release:
|
|||||||
translations:
|
translations:
|
||||||
php utils/docker-ci/translations/translationtool/translationtool.phar create-pot-files
|
php utils/docker-ci/translations/translationtool/translationtool.phar create-pot-files
|
||||||
php utils/docker-ci/translations/translationtool/translationtool.phar convert-po-files
|
php utils/docker-ci/translations/translationtool/translationtool.phar convert-po-files
|
||||||
|
|
||||||
|
publish-appstore-nightly:
|
||||||
|
$(eval ASSET_URL = $(shell curl -s https://git.project-insanity.org/api/v4/projects/onny%2Fnextcloud-app-radio/releases | jq -r '.[0].assets.links[0].url'))
|
||||||
|
wget $(ASSET_URL) -O build/artifacts/radio.tar.gz
|
||||||
|
krankerl publish --nightly $(ASSET_URL)
|
||||||
|
|
||||||
|
publish-appstore:
|
||||||
|
$(eval ASSET_URL = $(shell curl -s https://git.project-insanity.org/api/v4/projects/onny%2Fnextcloud-app-radio/releases | jq -r '.[0].assets.links[0].url'))
|
||||||
|
wget $(ASSET_URL) -O build/artifacts/radio.tar.gz
|
||||||
|
krankerl publish $(ASSET_URL)
|
||||||
|
@ -66,9 +66,13 @@ cd nextcloud-app-radio
|
|||||||
git clone https://github.com/nextcloud/docker-ci.git utils/docker-ci
|
git clone https://github.com/nextcloud/docker-ci.git utils/docker-ci
|
||||||
make translations
|
make translations
|
||||||
```
|
```
|
||||||
|
Use the source file ``translationfiles/template/radio.pot`` to create
|
||||||
|
translations. For example, contribute translations via
|
||||||
|
[Transifex](https://www.transifex.com/project-insanityorg/radio-2/dashboard/).
|
||||||
|
|
||||||
Contribute translations via
|
Put the translated language file into the corresponding template folder. For
|
||||||
[Transifex](https://www.transifex.com/project-insanityorg/radio-2/dashboard/)!
|
example the German language file should be placed at
|
||||||
|
``translationfiles/de/radio.po``. Run ``make translations`` again.
|
||||||
|
|
||||||
### Prepare a release
|
### Prepare a release
|
||||||
Consoult [Release.md](Release.md) on how to prepare a release for Gitlab and the app store.
|
Consoult [Release.md](Release.md) on how to prepare a release for Gitlab and the app store.
|
||||||
|
14
Release.md
14
Release.md
@ -13,9 +13,15 @@ release page, including source, a prebuild tarball and the latest changelog.
|
|||||||
|
|
||||||
## Nextcloud app store release
|
## Nextcloud app store release
|
||||||
|
|
||||||
The prebuild tarball can be used in the
|
First login to the app store using an API token which can be generated
|
||||||
[Nextcloud Appstore](https://apps.nextcloud.com/developer/apps/releases/new)
|
[here](https://apps.nextcloud.com/account/token). Run the following ``make``
|
||||||
page. The signature can be generated with:
|
command to publish a nightly release in the app store. It will fetch and use the
|
||||||
|
latest release from the Gitlab project.
|
||||||
```
|
```
|
||||||
openssl dgst -sha512 -sign ~/.nextcloud/certificates/radio.key /path/to/radio.tar.gz | openssl base64
|
krankerl login --appstore <TOKEN>
|
||||||
|
make publish-appstore-nightly
|
||||||
|
```
|
||||||
|
Or if you want to publish the latest release as a stable release, do:
|
||||||
|
```
|
||||||
|
make publish-appstore
|
||||||
```
|
```
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "onny/radio",
|
"name": "onny/radio",
|
||||||
"description": "Lint config for onny/radio",
|
"description": "Lint config for onny/radio",
|
||||||
"license": "MIT",
|
"license": "AGPL",
|
||||||
"config": {
|
"config": {
|
||||||
"optimize-autoloader": true,
|
"optimize-autoloader": true,
|
||||||
"classmap-authoritative": true
|
"classmap-authoritative": true
|
||||||
@ -10,4 +10,3 @@
|
|||||||
"lint": "find . -name \\*.php -not -path './vendor/*' -exec php -l \"{}\" \\;"
|
"lint": "find . -name \\*.php -not -path './vendor/*' -exec php -l \"{}\" \\;"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,8 +26,8 @@ OC.L10N.register(
|
|||||||
"Tags" : "Stichwörter",
|
"Tags" : "Stichwörter",
|
||||||
"Could not fetch stations from remote API" : "Radio Stationen konnten nicht von der API geladen werden",
|
"Could not fetch stations from remote API" : "Radio Stationen konnten nicht von der API geladen werden",
|
||||||
"Unable to load favorites" : "Favoriten konnten nicht geladen werden",
|
"Unable to load favorites" : "Favoriten konnten nicht geladen werden",
|
||||||
"Top" : "Beliebteste Stationen",
|
"Top" : "Beliebteste",
|
||||||
"Recent" : "Neuste Stationen",
|
"Recent" : "Zuletzt gehört",
|
||||||
"New" : "Neu",
|
"New" : "Neu",
|
||||||
"Favorites" : "Favoriten",
|
"Favorites" : "Favoriten",
|
||||||
"Categories" : "Kategorien",
|
"Categories" : "Kategorien",
|
||||||
|
@ -24,8 +24,8 @@
|
|||||||
"Tags" : "Stichwörter",
|
"Tags" : "Stichwörter",
|
||||||
"Could not fetch stations from remote API" : "Radio Stationen konnten nicht von der API geladen werden",
|
"Could not fetch stations from remote API" : "Radio Stationen konnten nicht von der API geladen werden",
|
||||||
"Unable to load favorites" : "Favoriten konnten nicht geladen werden",
|
"Unable to load favorites" : "Favoriten konnten nicht geladen werden",
|
||||||
"Top" : "Beliebteste Stationen",
|
"Top" : "Beliebteste",
|
||||||
"Recent" : "Neuste Stationen",
|
"Recent" : "Zuletzt gehört",
|
||||||
"New" : "Neu",
|
"New" : "Neu",
|
||||||
"Favorites" : "Favoriten",
|
"Favorites" : "Favoriten",
|
||||||
"Categories" : "Kategorien",
|
"Categories" : "Kategorien",
|
||||||
@ -42,4 +42,4 @@
|
|||||||
"Remove from favorites" : "Von den Favoriten entfernen",
|
"Remove from favorites" : "Von den Favoriten entfernen",
|
||||||
"Details" : "Weitere Informationen"
|
"Details" : "Weitere Informationen"
|
||||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ Vue.prototype.n = translatePlural
|
|||||||
Vue.prototype.OC = window.OC
|
Vue.prototype.OC = window.OC
|
||||||
Vue.prototype.OCA = window.OCA
|
Vue.prototype.OCA = window.OCA
|
||||||
Vue.prototype.$apiUrl = 'https://de1.api.radio-browser.info'
|
Vue.prototype.$apiUrl = 'https://de1.api.radio-browser.info'
|
||||||
Vue.prototype.$version = '1.0'
|
Vue.prototype.$version = '1.0.1'
|
||||||
|
|
||||||
Vue.use(VueClipboard)
|
Vue.use(VueClipboard)
|
||||||
Vue.use(VueBlurHash)
|
Vue.use(VueBlurHash)
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
# This file is distributed under the same license as the Nextcloud package.
|
# This file is distributed under the same license as the Nextcloud package.
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
# Jonas Heinrich <onny@project-insanity.org>, 2020
|
# Jonas Heinrich <onny@project-insanity.org>, 2020
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -125,11 +125,11 @@ msgstr "Favoriten konnten nicht geladen werden"
|
|||||||
|
|
||||||
#: /home/onny/projects/nextcloud-app-radio/specialVueFakeDummyForL10nScript.js:22
|
#: /home/onny/projects/nextcloud-app-radio/specialVueFakeDummyForL10nScript.js:22
|
||||||
msgid "Top"
|
msgid "Top"
|
||||||
msgstr "Beliebteste Stationen"
|
msgstr "Beliebteste"
|
||||||
|
|
||||||
#: /home/onny/projects/nextcloud-app-radio/specialVueFakeDummyForL10nScript.js:23
|
#: /home/onny/projects/nextcloud-app-radio/specialVueFakeDummyForL10nScript.js:23
|
||||||
msgid "Recent"
|
msgid "Recent"
|
||||||
msgstr "Neuste Stationen"
|
msgstr "Zuletzt gehört"
|
||||||
|
|
||||||
#: /home/onny/projects/nextcloud-app-radio/specialVueFakeDummyForL10nScript.js:24
|
#: /home/onny/projects/nextcloud-app-radio/specialVueFakeDummyForL10nScript.js:24
|
||||||
msgid "New"
|
msgid "New"
|
||||||
|
Loading…
Reference in New Issue
Block a user