Skip to content

Commit

Permalink
Merge branch 'main' into fix/ex-app-fetcher
Browse files Browse the repository at this point in the history
  • Loading branch information
andrey18106 authored Sep 26, 2024
2 parents 1d95373 + 3d93719 commit 206f030
Show file tree
Hide file tree
Showing 6 changed files with 139 additions and 145 deletions.
62 changes: 41 additions & 21 deletions .github/workflows/appstore-build-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,26 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT

name: Build and publish app release

on:
release:
types: [published]

env:
PHP_VERSION: 8.1

jobs:
build_and_publish:
runs-on: ubuntu-latest

# Only allowed to be run on nextcloud-releases repositories
if: ${{ github.repository_owner == 'cloud-py-api' }}
if: ${{ github.repository_owner == 'nextcloud-releases' }}

steps:
- name: Check actor permission
uses: skjnldsv/check-actor-permission@e591dbfe838300c007028e1219ca82cc26e8d7c5 # v2.1
uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v3.0
with:
require: write

Expand All @@ -32,10 +32,21 @@ jobs:
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
path: ${{ env.APP_NAME }}

- name: Get app version number
id: app-version
uses: skjnldsv/xpath-action@7e6a7c379d0e9abc8acaef43df403ab4fc4f770c # master
with:
filename: ${{ env.APP_NAME }}/appinfo/info.xml
expression: "//info//version/text()"

- name: Validate app version against tag
run: |
[ "${{ env.APP_VERSION }}" = "v${{ fromJSON(steps.app-version.outputs.result).version }}" ]
- name: Get appinfo data
id: appinfo
uses: skjnldsv/xpath-action@7e6a7c379d0e9abc8acaef43df403ab4fc4f770c # master
Expand All @@ -44,38 +55,44 @@ jobs:
expression: "//info//dependencies//nextcloud/@min-version"

- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
# Continue if no package.json
continue-on-error: true
with:
path: ${{ env.APP_NAME }}
fallbackNode: "^16"
fallbackNpm: "^7"
fallbackNode: '^20'
fallbackNpm: '^10'

- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
# Skip if no package.json
if: ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
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 }}"
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'

- name: Get php version
id: php-versions
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
with:
filename: ${{ env.APP_NAME }}/appinfo/info.xml

- name: Set up php ${{ env.PHP_VERSION }}
uses: shivammathur/setup-php@1a18b2267f80291a81ca1d33e7c851fe09e7dfc4 # v2
- name: Set up php ${{ steps.php-versions.outputs.php-min }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ env.PHP_VERSION }}
php-version: ${{ steps.php-versions.outputs.php-min }}
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Check composer.json
id: check_composer
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0.0
with:
files: "${{ env.APP_NAME }}/composer.json"

Expand All @@ -88,14 +105,16 @@ jobs:
- name: Build ${{ env.APP_NAME }}
# Skip if no package.json
if: ${{ steps.versions.outputs.nodeVersion }}
env:
CYPRESS_INSTALL_BINARY: 0
run: |
cd ${{ env.APP_NAME }}
npm ci
npm run build
npm run build --if-present
- name: Check Krankerl config
id: krankerl
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0.0
with:
files: ${{ env.APP_NAME }}/krankerl.toml

Expand All @@ -121,12 +140,12 @@ jobs:
continue-on-error: true
id: server-checkout
run: |
NCVERSION=${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}
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@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
if: ${{ steps.server-checkout.outcome != 'success' }}
with:
submodules: true
Expand All @@ -140,7 +159,7 @@ jobs:
tar -xvf ${{ env.APP_NAME }}.tar.gz
cd ../../../
# Setting up keys
echo "${{ secrets.APP_PRIVATE_KEY }}" > ${{ env.APP_NAME }}.key
echo '${{ secrets.APP_PRIVATE_KEY }}' > ${{ env.APP_NAME }}.key
wget --quiet "https://github.com/nextcloud/app-certificate-requests/raw/master/${{ env.APP_NAME }}/${{ env.APP_NAME }}.crt"
# Signing
php nextcloud/occ integrity:sign-app --privateKey=../${{ env.APP_NAME }}.key --certificate=../${{ env.APP_NAME }}.crt --path=../${{ env.APP_NAME }}/build/artifacts/${{ env.APP_NAME }}
Expand All @@ -149,7 +168,7 @@ jobs:
tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }}
- name: Attach tarball to github release
uses: svenstaro/upload-release-action@133984371c30d34e38222a64855679a414cb7575 # v2
uses: svenstaro/upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # v2
id: attach_to_release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -165,3 +184,4 @@ jobs:
appstore_token: ${{ secrets.APPSTORE_TOKEN }}
download_url: ${{ steps.attach_to_release.outputs.browser_download_url }}
app_private_key: ${{ secrets.APP_PRIVATE_KEY }}

42 changes: 19 additions & 23 deletions .github/workflows/tests-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ name: Tests - Deploy

on:
pull_request:
branches: [main]
push:
branches: [main]
workflow_dispatch:
Expand All @@ -20,13 +21,8 @@ jobs:
strategy:
fail-fast: false
matrix:
php-version: [ '8.1' ]
server-version: [ 'stable28' ]
include:
- server-version: "stable29"
php-version: "8.2"
- server-version: "master"
php-version: "8.3"
php-version: [ '8.3' ]
server-version: [ 'master' ]

services:
postgres:
Expand Down Expand Up @@ -144,9 +140,9 @@ jobs:

nc-docker-app-docker:
runs-on: ubuntu-22.04
name: NC In Julius Docker • 🐘8.1
name: NC In Julius Docker • 🐘8.3
env:
docker-image: ghcr.io/juliushaertl/nextcloud-dev-php81:20231202-1
docker-image: ghcr.io/juliushaertl/nextcloud-dev-php83:master

steps:
- name: Set app env
Expand Down Expand Up @@ -220,9 +216,9 @@ jobs:

nc-docker-dsp-http:
runs-on: ubuntu-22.04
name: NC In Julius Docker(DSP-HTTP) • 🐘8.1
name: NC In Julius Docker(DSP-HTTP) • 🐘8.3
env:
docker-image: ghcr.io/juliushaertl/nextcloud-dev-php81:20231202-1
docker-image: ghcr.io/juliushaertl/nextcloud-dev-php83:master

steps:
- name: Set app env
Expand Down Expand Up @@ -299,9 +295,9 @@ jobs:

nc-docker-dsp-https:
runs-on: ubuntu-22.04
name: NC In Julius Docker(DSP-HTTPS) • 🐘8.1
name: NC In Julius Docker(DSP-HTTPS) • 🐘8.3
env:
docker-image: ghcr.io/juliushaertl/nextcloud-dev-php81:20231202-1
docker-image: ghcr.io/juliushaertl/nextcloud-dev-php83:master

steps:
- name: Set app env
Expand Down Expand Up @@ -402,7 +398,7 @@ jobs:

nc-host-app-docker-redis:
runs-on: ubuntu-22.04
name: NC In Host(Redis) • stable28 • 🐘8.1
name: NC In Host(Redis) • master • 🐘8.3

services:
postgres:
Expand Down Expand Up @@ -434,17 +430,17 @@ jobs:
with:
submodules: true
repository: nextcloud/server
ref: stable28
ref: master

- name: Checkout AppAPI
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
path: apps/${{ env.APP_NAME }}

- name: Set up php 8.1
- name: Set up php 8.3
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: 8.1
php-version: 8.3
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, pgsql, pdo_pgsql, redis
coverage: none
ini-file: development
Expand Down Expand Up @@ -520,29 +516,29 @@ jobs:
if: always()
uses: actions/upload-artifact@v3
with:
name: nc_host_app_docker_redis_stable28_8.1_container.json
name: nc_host_app_docker_redis_master_8.3_container.json
path: container.json
if-no-files-found: warn

- name: Upload Container logs
if: always()
uses: actions/upload-artifact@v3
with:
name: nc_host_app_docker_redis_stable28_8.1_container.log
name: nc_host_app_docker_redis_master_8.3_container.log
path: container.log
if-no-files-found: warn

- name: Upload NC logs
if: always()
uses: actions/upload-artifact@v3
with:
name: nc_host_app_docker_redis_stable28_8.1_nextcloud.log
name: nc_host_app_docker_redis_master_8.3_nextcloud.log
path: data/nextcloud.log
if-no-files-found: warn

nc-host-network-host:
runs-on: ubuntu-22.04
name: NC In Host(network=host) • master • 🐘8.2
name: NC In Host(network=host) • master • 🐘8.3

services:
postgres:
Expand Down Expand Up @@ -571,10 +567,10 @@ jobs:
with:
path: apps/${{ env.APP_NAME }}

- name: Set up php 8.2
- name: Set up php 8.3
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: 8.2
php-version: 8.3
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, pgsql, pdo_pgsql, redis
coverage: none
ini-file: development
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/tests-special.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ name: Tests Special

on:
pull_request:
branches: [main]
push:
branches: [main]
workflow_dispatch:
Expand Down Expand Up @@ -50,7 +51,7 @@ jobs:
with:
submodules: true
repository: nextcloud/server
ref: 'stable28'
ref: 'master'

- name: Checkout AppAPI
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
Expand All @@ -60,7 +61,7 @@ jobs:
- name: Set up php
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: '8.1'
php-version: '8.3'
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, pgsql, pdo_pgsql
coverage: none
ini-file: development
Expand Down
Loading

0 comments on commit 206f030

Please sign in to comment.