diff --git a/workflow-templates/appstore-build-publish.yml b/workflow-templates/appstore-build-publish.yml index ffc9e6e3..a7f7ec6f 100644 --- a/workflow-templates/appstore-build-publish.yml +++ b/workflow-templates/appstore-build-publish.yml @@ -46,6 +46,7 @@ jobs: - name: Read package.json node and npm engines version uses: skjnldsv/read-package-engines-version-actions@v1.1 id: versions + # Continue if no package.json continue-on-error: true with: path: ${{ env.APP_NAME }} @@ -53,12 +54,14 @@ jobs: fallbackNpm: '^6' - name: Set up node ${{ steps.versions.outputs.nodeVersion }} + # Skip if no package.json if: ${{ steps.versions.outputs.nodeVersion }} uses: actions/setup-node@v2 with: node-version: ${{ steps.versions.outputs.nodeVersion }} - name: Set up npm ${{ steps.versions.outputs.npmVersion }} + # Skip if no package.json if: ${{ steps.versions.outputs.npmVersion }} run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" @@ -68,7 +71,20 @@ jobs: php-version: ${{ env.PHP_VERSION }} coverage: none + - name: Check composer.json + id: check_composer + uses: andstor/file-existence-action@v1 + with: + files: "${{ env.APP_NAME }}/composer.json" + + - name: Install composer dependencies + if: steps.check_composer.outputs.files_exists == 'true' + run: | + cd ${{ env.APP_NAME }} + composer install --no-dev + - name: Build ${{ env.APP_NAME }} + # Skip if no package.json if: ${{ steps.versions.outputs.nodeVersion }} run: | cd ${{ env.APP_NAME }} @@ -76,16 +92,26 @@ jobs: npm run build - name: Package ${{ env.APP_NAME }} ${{ env.APP_VERSION }} + # Try krankerl, fallback to makefile run: | cd ${{ env.APP_NAME }} krankerl package || make appstore - name: Checkout server ${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }} + continue-on-error: true + id: server-checkout run: | NCVERSION=${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }} wget --quiet https://download.nextcloud.com/server/releases/latest-$NCVERSION.zip unzip latest-$NCVERSION.zip + - name: Checkout server master fallback + uses: actions/checkout@v2 + if: ${{ steps.server-checkout.outcome != 'success' }} + with: + repository: nextcloud/server + path: nextcloud + - name: Sign app run: | # Extracting release