Skip to content

ci: check app release #2

ci: check app release

ci: check app release #2

Workflow file for this run

# SPDX-FileCopyrightText: 2022-2025 Jankari Tech Pvt. Ltd.
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
on:
pull_request:
branches:
- release/2.11
name: check release
jobs:
build:
name: Check release in the appstore
# environment: release
env:
APP_ID: integration_openproject
runs-on: ubuntu-latest
steps:
- name: Setup NodeJS
uses: actions/setup-node@v6
with:
node-version: 20
- name: Setup npm
run: npm i -g npm
- name: Setup PHP
uses: shivammathur/setup-php@a4e22b60bbb9c1021113f2860347b0759f66fe5d
with:
php-version: '8.2'
extensions: mbstring, intl, sqlite3, gd
ini-values: post_max_size=256M, max_execution_time=180
coverage: xdebug
tools: php-cs-fixer, phpunit
- name: Checkout code
uses: actions/checkout@v6
with:
ref: release/2.11
- name: Get current tag
id: tag
run: |
git fetch --tags --force
tag=$(git tag -l --points-at HEAD)
echo CURRENT TAG IS '"'${tag}'"' '!!!!'
vtag=$(echo $tag | grep "^v[0-9]\+\.[0-9]\+\.[0-9]\+" || echo "")
echo "currenttag=$vtag" >> $GITHUB_OUTPUT
- name: Build project
if: ${{ startsWith( steps.tag.outputs.currenttag , 'v' ) }}
id: build_release
run: |
echo "app_id=$APP_ID" >> $GITHUB_OUTPUT
echo "###### copy certificate"
mkdir -p ~/.nextcloud/certificates
echo "$APP_CRT" > ~/.nextcloud/certificates/${APP_ID}.crt
echo "$APP_KEY" > ~/.nextcloud/certificates/${APP_ID}.key
echo "###### install dependencies"
export DEBIAN_FRONTEND=noninteractive
sudo apt update -y
sudo apt install make openssl -y
echo "###### installing nextcloud"
mkdir ~/html
git clone https://github.com/nextcloud/server.git --recursive --depth 1 -b stable32 ~/html/nextcloud
cp -r $GITHUB_WORKSPACE ~/html/nextcloud/apps/${APP_ID}
php ~/html/nextcloud/occ maintenance:install --database "sqlite" --admin-user "admin" --admin-pass "password"
php ~/html/nextcloud/occ app:enable ${APP_ID}
php ~/html/nextcloud/occ maintenance:mode --off
cd ~/html/nextcloud/apps/${APP_ID}
echo "###### build app"
make
echo "###### make appstore"
tag=${{ steps.tag.outputs.currenttag }}
version=${tag/v/}
webserveruser=runner occ_dir=~/html/nextcloud version=$version make appstore
echo "version=$version" >> $GITHUB_OUTPUT
env:
APP_CRT: ${{ secrets.APP_CRT }}
APP_KEY: ${{ secrets.APP_KEY }}
- name: Publish to appstore
run: |
SIGNATURE=$(cat /tmp/build/sign.txt | tr -d '\n')
VERSION=${{ steps.build_release.outputs.version }}
DOWNLOAD_URL=https://github.com/${{ github.repository }}/releases/download/v${VERSION}/${APP_ID}-${VERSION}.tar.gz
# curl -X POST -H "Authorization: Token $APPSTORE_TOKEN" https://apps.nextcloud.com/api/v1/apps/releases -H "Content-Type: application/json" -d '{"download":"'${DOWNLOAD_URL}'", "signature": "'${SIGNATURE}'"}'
env:
APPSTORE_TOKEN: ${{ secrets.APPSTORE_TOKEN }}