diff --git a/.github/workflows/publish-to-nextcloud.yml b/.github/workflows/publish-to-nextcloud.yml index bedfb91..d642830 100644 --- a/.github/workflows/publish-to-nextcloud.yml +++ b/.github/workflows/publish-to-nextcloud.yml @@ -1,14 +1,16 @@ -name: Build and publish app release +name: Publish to Nextcloud store on: - release: - types: [published] + workflow_run: + workflows: ["Build and Release"] + types: + - completed env: - APP_NAME: news + APP_NAME: cidgravity_gateway jobs: - build_and_publish: + publish_to_nextcloud_store: runs-on: ubuntu-latest name: "Release: build, sign and upload the app" strategy: diff --git a/Makefile b/Makefile index 12720ea..c0ac8a4 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ app_name=cidgravity_gateway -project_dir=$(CURDIR)/../$(app_name) +project_dir=$(CURDIR) build_dir=$(CURDIR)/build/artifacts appstore_dir=$(build_dir)/appstore source_dir=$(build_dir)/source @@ -85,6 +85,10 @@ appstore: --exclude=vendor \ --exclude=webpack.*.js \ $(project_dir)/ $(sign_dir)/$(app_name) + + php ./bin/tools/file_from_env.php "APP_PRIVATE_KEY" "$(cert_dir)/$(app_name).key" + php ./bin/tools/file_from_env.php "APP_PUBLIC_CRT" "$(cert_dir)/$(app_name).crt" + @if [ -f $(cert_dir)/$(app_name).key ]; then \ echo "Signing app files…"; \ php ../../occ integrity:sign-app \ diff --git a/bin/tools/file_from_env.php b/bin/tools/file_from_env.php new file mode 100644 index 0000000..c4b031e --- /dev/null +++ b/bin/tools/file_from_env.php @@ -0,0 +1,29 @@ +#!/usr/bin/env php + +* @copyright Benjamin Brahmer 2020 +*/ + +if ($argc < 2) { + echo "This script expects two parameters:\n"; + echo "./file_from_env.php ENV_VAR PATH_TO_FILE\n"; + exit(1); +} + +# Read environment variable +$content = getenv($argv[1]); + +if (!$content){ + echo "Variable was empty\n"; + exit(1); +} + +file_put_contents($argv[2], $content); + +echo "Done...\n"; \ No newline at end of file