Compare commits
1 commit
Author | SHA1 | Date | |
---|---|---|---|
dbc03154c8 |
12 changed files with 768 additions and 0 deletions
34
.forgejo/workflows/block-unconventional-commits.yml
Normal file
34
.forgejo/workflows/block-unconventional-commits.yml
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
# This workflow is provided via the organization template repository
|
||||||
|
#
|
||||||
|
# https://github.com/nextcloud/.github
|
||||||
|
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||||
|
#
|
||||||
|
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
name: Block unconventional commits
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [opened, ready_for_review, reopened, synchronize]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: block-unconventional-commits-${{ github.head_ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
block-unconventional-commits:
|
||||||
|
name: Block unconventional commits
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest-low
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
|
||||||
|
- uses: webiny/action-conventional-commits@8bc41ff4e7d423d56fa4905f6ff79209a78776c7 # v1.3.0
|
||||||
|
with:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
36
.forgejo/workflows/fixup.yml
Normal file
36
.forgejo/workflows/fixup.yml
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
# This workflow is provided via the organization template repository
|
||||||
|
#
|
||||||
|
# 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: Block fixup and squash commits
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [opened, ready_for_review, reopened, synchronize]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: fixup-${{ github.head_ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
commit-message-check:
|
||||||
|
if: github.event.pull_request.draft == false
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
|
name: Block fixup and squash commits
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest-low
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Run check
|
||||||
|
uses: skjnldsv/block-fixup-merge-action@c138ea99e45e186567b64cf065ce90f7158c236a # v2
|
||||||
|
with:
|
||||||
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
98
.forgejo/workflows/lint-eslint.yml
Normal file
98
.forgejo/workflows/lint-eslint.yml
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
# This workflow is provided via the organization template repository
|
||||||
|
#
|
||||||
|
# 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: Lint eslint
|
||||||
|
|
||||||
|
on: pull_request
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: lint-eslint-${{ github.head_ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
changes:
|
||||||
|
runs-on: ubuntu-latest-low
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
pull-requests: read
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
src: ${{ steps.changes.outputs.src}}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
|
||||||
|
id: changes
|
||||||
|
continue-on-error: true
|
||||||
|
with:
|
||||||
|
filters: |
|
||||||
|
src:
|
||||||
|
- '.github/workflows/**'
|
||||||
|
- 'src/**'
|
||||||
|
- 'appinfo/info.xml'
|
||||||
|
- 'package.json'
|
||||||
|
- 'package-lock.json'
|
||||||
|
- 'tsconfig.json'
|
||||||
|
- '.eslintrc.*'
|
||||||
|
- '.eslintignore'
|
||||||
|
- '**.js'
|
||||||
|
- '**.ts'
|
||||||
|
- '**.vue'
|
||||||
|
|
||||||
|
lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
needs: changes
|
||||||
|
if: needs.changes.outputs.src != 'false'
|
||||||
|
|
||||||
|
name: NPM lint
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
|
||||||
|
- name: Read package.json node and npm engines version
|
||||||
|
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
|
||||||
|
id: versions
|
||||||
|
with:
|
||||||
|
fallbackNode: '^20'
|
||||||
|
fallbackNpm: '^10'
|
||||||
|
|
||||||
|
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
|
||||||
|
with:
|
||||||
|
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
|
||||||
|
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
|
||||||
|
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
env:
|
||||||
|
CYPRESS_INSTALL_BINARY: 0
|
||||||
|
PUPPETEER_SKIP_DOWNLOAD: true
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Lint
|
||||||
|
run: npm run lint
|
||||||
|
|
||||||
|
summary:
|
||||||
|
permissions:
|
||||||
|
contents: none
|
||||||
|
runs-on: ubuntu-latest-low
|
||||||
|
needs: [changes, lint]
|
||||||
|
|
||||||
|
if: always()
|
||||||
|
|
||||||
|
# This is the summary, we just avoid to rename it so that branch protection rules still match
|
||||||
|
name: eslint
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Summary status
|
||||||
|
run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi
|
36
.forgejo/workflows/lint-info-xml.yml
Normal file
36
.forgejo/workflows/lint-info-xml.yml
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
# This workflow is provided via the organization template repository
|
||||||
|
#
|
||||||
|
# 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: Lint info.xml
|
||||||
|
|
||||||
|
on: pull_request
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: lint-info-xml-${{ github.head_ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
xml-linters:
|
||||||
|
runs-on: ubuntu-latest-low
|
||||||
|
|
||||||
|
name: info.xml lint
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
|
||||||
|
- name: Download schema
|
||||||
|
run: wget https://raw.githubusercontent.com/nextcloud/appstore/master/nextcloudappstore/api/v1/release/info.xsd
|
||||||
|
|
||||||
|
- name: Lint info.xml
|
||||||
|
uses: ChristophWurst/xmllint-action@36f2a302f84f8c83fceea0b9c59e1eb4a616d3c1 # v1.2
|
||||||
|
with:
|
||||||
|
xml-file: ./appinfo/info.xml
|
||||||
|
xml-schema-file: ./info.xsd
|
48
.forgejo/workflows/lint-php-cs.yml
Normal file
48
.forgejo/workflows/lint-php-cs.yml
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
# This workflow is provided via the organization template repository
|
||||||
|
#
|
||||||
|
# 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: Lint php-cs
|
||||||
|
|
||||||
|
on: pull_request
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: lint-php-cs-${{ github.head_ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
name: php-cs
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
|
||||||
|
- name: Get php version
|
||||||
|
id: versions
|
||||||
|
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
|
||||||
|
|
||||||
|
- name: Set up php${{ steps.versions.outputs.php-available }}
|
||||||
|
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
|
||||||
|
with:
|
||||||
|
php-version: ${{ steps.versions.outputs.php-available }}
|
||||||
|
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
|
||||||
|
coverage: none
|
||||||
|
ini-file: development
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: composer i
|
||||||
|
|
||||||
|
- name: Lint
|
||||||
|
run: composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 )
|
70
.forgejo/workflows/lint-php.yml
Normal file
70
.forgejo/workflows/lint-php.yml
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
# This workflow is provided via the organization template repository
|
||||||
|
#
|
||||||
|
# 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: Lint php
|
||||||
|
|
||||||
|
on: pull_request
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: lint-php-${{ github.head_ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
matrix:
|
||||||
|
runs-on: ubuntu-latest-low
|
||||||
|
outputs:
|
||||||
|
php-versions: ${{ steps.versions.outputs.php-versions }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout app
|
||||||
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
- name: Get version matrix
|
||||||
|
id: versions
|
||||||
|
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.0.0
|
||||||
|
|
||||||
|
php-lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: matrix
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
php-versions: ${{fromJson(needs.matrix.outputs.php-versions)}}
|
||||||
|
|
||||||
|
name: php-lint
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
|
||||||
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
|
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
|
||||||
|
coverage: none
|
||||||
|
ini-file: development
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Lint
|
||||||
|
run: composer run lint
|
||||||
|
|
||||||
|
summary:
|
||||||
|
permissions:
|
||||||
|
contents: none
|
||||||
|
runs-on: ubuntu-latest-low
|
||||||
|
needs: php-lint
|
||||||
|
|
||||||
|
if: always()
|
||||||
|
|
||||||
|
name: php-lint-summary
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Summary status
|
||||||
|
run: if ${{ needs.php-lint.result != 'success' && needs.php-lint.result != 'skipped' }}; then exit 1; fi
|
51
.forgejo/workflows/lint-stylelint.yml
Normal file
51
.forgejo/workflows/lint-stylelint.yml
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
# This workflow is provided via the organization template repository
|
||||||
|
#
|
||||||
|
# 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: Lint stylelint
|
||||||
|
|
||||||
|
on: pull_request
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: lint-stylelint-${{ github.head_ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
name: stylelint
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
|
||||||
|
- name: Read package.json node and npm engines version
|
||||||
|
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
|
||||||
|
id: versions
|
||||||
|
with:
|
||||||
|
fallbackNode: '^20'
|
||||||
|
fallbackNpm: '^10'
|
||||||
|
|
||||||
|
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
|
||||||
|
with:
|
||||||
|
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
|
||||||
|
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
|
||||||
|
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
env:
|
||||||
|
CYPRESS_INSTALL_BINARY: 0
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Lint
|
||||||
|
run: npm run stylelint
|
75
.forgejo/workflows/npm-audit-fix.yml
Normal file
75
.forgejo/workflows/npm-audit-fix.yml
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
# This workflow is provided via the organization template repository
|
||||||
|
#
|
||||||
|
# https://github.com/nextcloud/.github
|
||||||
|
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||||
|
#
|
||||||
|
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
name: Npm audit fix and compile
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
schedule:
|
||||||
|
# At 2:30 on Sundays
|
||||||
|
- cron: '30 2 * * 0'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
branches: ['main', 'master', 'stable30', 'stable29', 'stable28']
|
||||||
|
|
||||||
|
name: npm-audit-fix-${{ matrix.branches }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
with:
|
||||||
|
ref: ${{ matrix.branches }}
|
||||||
|
|
||||||
|
- name: Read package.json node and npm engines version
|
||||||
|
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
|
||||||
|
id: versions
|
||||||
|
with:
|
||||||
|
fallbackNode: '^20'
|
||||||
|
fallbackNpm: '^10'
|
||||||
|
|
||||||
|
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
|
||||||
|
with:
|
||||||
|
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
|
||||||
|
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
|
||||||
|
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
|
||||||
|
|
||||||
|
- name: Fix npm audit
|
||||||
|
id: npm-audit
|
||||||
|
uses: nextcloud-libraries/npm-audit-action@2a60bd2e79cc77f2cc4d9a3fe40f1a69896f3a87 # v0.1.0
|
||||||
|
|
||||||
|
- name: Run npm ci and npm run build
|
||||||
|
if: always()
|
||||||
|
env:
|
||||||
|
CYPRESS_INSTALL_BINARY: 0
|
||||||
|
run: |
|
||||||
|
npm ci
|
||||||
|
npm run build --if-present
|
||||||
|
|
||||||
|
- name: Create Pull Request
|
||||||
|
if: always()
|
||||||
|
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
|
commit-message: 'fix(deps): Fix npm audit'
|
||||||
|
committer: GitHub <noreply@github.com>
|
||||||
|
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
|
||||||
|
signoff: true
|
||||||
|
branch: automated/noid/${{ matrix.branches }}-fix-npm-audit
|
||||||
|
title: '[${{ matrix.branches }}] Fix npm audit'
|
||||||
|
body: ${{ steps.npm-audit.outputs.markdown }}
|
||||||
|
labels: |
|
||||||
|
dependencies
|
||||||
|
3. to review
|
94
.forgejo/workflows/openapi.yml
Normal file
94
.forgejo/workflows/openapi.yml
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
# This workflow is provided via the organization template repository
|
||||||
|
#
|
||||||
|
# https://github.com/nextcloud/.github
|
||||||
|
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||||
|
#
|
||||||
|
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
|
||||||
|
# SPDX-FileCopyrightText: 2024 Arthur Schiwon <blizzz@arthur-schiwon.de>
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
name: OpenAPI
|
||||||
|
|
||||||
|
on: pull_request
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: openapi-${{ github.head_ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
openapi:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
|
||||||
|
- name: Get php version
|
||||||
|
id: php_versions
|
||||||
|
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
|
||||||
|
|
||||||
|
- name: Set up php
|
||||||
|
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
|
||||||
|
with:
|
||||||
|
php-version: ${{ steps.php_versions.outputs.php-available }}
|
||||||
|
extensions: xml
|
||||||
|
coverage: none
|
||||||
|
ini-file: development
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Check Typescript OpenApi types
|
||||||
|
id: check_typescript_openapi
|
||||||
|
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0.0
|
||||||
|
with:
|
||||||
|
files: "src/types/openapi/openapi*.ts"
|
||||||
|
|
||||||
|
- name: Read package.json node and npm engines version
|
||||||
|
if: steps.check_typescript_openapi.outputs.files_exists == 'true'
|
||||||
|
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
|
||||||
|
id: node_versions
|
||||||
|
# Continue if no package.json
|
||||||
|
continue-on-error: true
|
||||||
|
with:
|
||||||
|
fallbackNode: '^20'
|
||||||
|
fallbackNpm: '^10'
|
||||||
|
|
||||||
|
- name: Set up node ${{ steps.node_versions.outputs.nodeVersion }}
|
||||||
|
if: ${{ steps.node_versions.outputs.nodeVersion }}
|
||||||
|
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
|
||||||
|
with:
|
||||||
|
node-version: ${{ steps.node_versions.outputs.nodeVersion }}
|
||||||
|
|
||||||
|
- name: Set up npm ${{ steps.node_versions.outputs.npmVersion }}
|
||||||
|
if: ${{ steps.node_versions.outputs.nodeVersion }}
|
||||||
|
run: npm i -g 'npm@${{ steps.node_versions.outputs.npmVersion }}'
|
||||||
|
|
||||||
|
- name: Install dependencies & build
|
||||||
|
if: ${{ steps.node_versions.outputs.nodeVersion }}
|
||||||
|
env:
|
||||||
|
CYPRESS_INSTALL_BINARY: 0
|
||||||
|
PUPPETEER_SKIP_DOWNLOAD: true
|
||||||
|
run: |
|
||||||
|
npm ci
|
||||||
|
|
||||||
|
- name: Set up dependencies
|
||||||
|
run: composer i
|
||||||
|
|
||||||
|
- name: Regenerate OpenAPI
|
||||||
|
run: composer run openapi
|
||||||
|
|
||||||
|
- name: Check openapi*.json and typescript changes
|
||||||
|
run: |
|
||||||
|
bash -c "[[ ! \"`git status --porcelain `\" ]] || (echo 'Please run \"composer run openapi\" and commit the openapi*.json files and (if applicable) src/types/openapi/openapi*.ts, see the section \"Show changes on failure\" for details' && exit 1)"
|
||||||
|
|
||||||
|
- name: Show changes on failure
|
||||||
|
if: failure()
|
||||||
|
run: |
|
||||||
|
git status
|
||||||
|
git --no-pager diff
|
||||||
|
exit 1 # make it red to grab attention
|
71
.forgejo/workflows/psalm-matrix.yml
Normal file
71
.forgejo/workflows/psalm-matrix.yml
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
# This workflow is provided via the organization template repository
|
||||||
|
#
|
||||||
|
# https://github.com/nextcloud/.github
|
||||||
|
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||||
|
#
|
||||||
|
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
name: Static analysis
|
||||||
|
|
||||||
|
on: pull_request
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: psalm-${{ github.head_ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
matrix:
|
||||||
|
runs-on: ubuntu-latest-low
|
||||||
|
outputs:
|
||||||
|
ocp-matrix: ${{ steps.versions.outputs.ocp-matrix }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout app
|
||||||
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
- name: Get version matrix
|
||||||
|
id: versions
|
||||||
|
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
|
||||||
|
|
||||||
|
static-analysis:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: matrix
|
||||||
|
strategy:
|
||||||
|
# do not stop on another job's failure
|
||||||
|
fail-fast: false
|
||||||
|
matrix: ${{ fromJson(needs.matrix.outputs.ocp-matrix) }}
|
||||||
|
|
||||||
|
name: static-psalm-analysis ${{ matrix.ocp-version }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
|
||||||
|
- name: Set up php${{ matrix.php-versions }}
|
||||||
|
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
|
||||||
|
coverage: none
|
||||||
|
ini-file: development
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: composer i
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: composer require --dev 'nextcloud/ocp:${{ matrix.ocp-version }}' --ignore-platform-reqs --with-dependencies
|
||||||
|
|
||||||
|
- name: Run coding standards check
|
||||||
|
run: composer run psalm
|
||||||
|
|
||||||
|
summary:
|
||||||
|
runs-on: ubuntu-latest-low
|
||||||
|
needs: static-analysis
|
||||||
|
|
||||||
|
if: always()
|
||||||
|
|
||||||
|
name: static-psalm-analysis-summary
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Summary status
|
||||||
|
run: if ${{ needs.static-analysis.result != 'success' }}; then exit 1; fi
|
58
.forgejo/workflows/update-nextcloud-ocp-approve-merge.yml
Normal file
58
.forgejo/workflows/update-nextcloud-ocp-approve-merge.yml
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
# This workflow is provided via the organization template repository
|
||||||
|
#
|
||||||
|
# https://github.com/nextcloud/.github
|
||||||
|
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||||
|
#
|
||||||
|
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
name: Auto approve nextcloud/ocp
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- master
|
||||||
|
- stable*
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: update-nextcloud-ocp-approve-merge-${{ github.head_ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
auto-approve-merge:
|
||||||
|
if: github.actor == 'nextcloud-command'
|
||||||
|
runs-on: ubuntu-latest-low
|
||||||
|
permissions:
|
||||||
|
# for hmarr/auto-approve-action to approve PRs
|
||||||
|
pull-requests: write
|
||||||
|
# for alexwilson/enable-github-automerge-action to approve PRs
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Disabled on forks
|
||||||
|
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
|
||||||
|
run: |
|
||||||
|
echo 'Can not approve PRs from forks'
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
- uses: mdecoleman/pr-branch-name@bab4c71506bcd299fb350af63bb8e53f2940a599 # v2.0.0
|
||||||
|
id: branchname
|
||||||
|
with:
|
||||||
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
# GitHub actions bot approve
|
||||||
|
- uses: hmarr/auto-approve-action@b40d6c9ed2fa10c9a2749eca7eb004418a705501 # v2
|
||||||
|
if: startsWith(steps.branchname.outputs.branch, 'automated/noid/') && endsWith(steps.branchname.outputs.branch, 'update-nextcloud-ocp')
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
# Enable GitHub auto merge
|
||||||
|
- name: Auto merge
|
||||||
|
uses: alexwilson/enable-github-automerge-action@56e3117d1ae1540309dc8f7a9f2825bc3c5f06ff # main
|
||||||
|
if: startsWith(steps.branchname.outputs.branch, 'automated/noid/') && endsWith(steps.branchname.outputs.branch, 'update-nextcloud-ocp')
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
97
.forgejo/workflows/update-nextcloud-ocp-matrix.yml
Normal file
97
.forgejo/workflows/update-nextcloud-ocp-matrix.yml
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
# This workflow is provided via the organization template repository
|
||||||
|
#
|
||||||
|
# https://github.com/nextcloud/.github
|
||||||
|
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||||
|
#
|
||||||
|
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
name: Update nextcloud/ocp
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
schedule:
|
||||||
|
- cron: '5 2 * * 0'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-nextcloud-ocp:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
branches: ['master']
|
||||||
|
target: ['stable28']
|
||||||
|
|
||||||
|
name: update-nextcloud-ocp-${{ matrix.branches }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
with:
|
||||||
|
ref: ${{ matrix.branches }}
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- name: Set up php8.2
|
||||||
|
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
|
||||||
|
with:
|
||||||
|
php-version: 8.2
|
||||||
|
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
||||||
|
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
|
||||||
|
coverage: none
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Read codeowners
|
||||||
|
id: codeowners
|
||||||
|
run: |
|
||||||
|
grep '/appinfo/info.xml' .github/CODEOWNERS | cut -f 2- -d ' ' | xargs | awk '{ print "codeowners="$0 }' >> $GITHUB_OUTPUT
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
- name: Composer install
|
||||||
|
run: composer install
|
||||||
|
|
||||||
|
- name: Composer update nextcloud/ocp
|
||||||
|
id: update_branch
|
||||||
|
run: composer require --dev nextcloud/ocp:dev-${{ matrix.target }}
|
||||||
|
|
||||||
|
- name: Raise on issue on failure
|
||||||
|
uses: dacbd/create-issue-action@cdb57ab6ff8862aa09fee2be6ba77a59581921c2 # v2.0.0
|
||||||
|
if: ${{ failure() && steps.update_branch.conclusion == 'failure' }}
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
title: Failed to update nextcloud/ocp package}
|
||||||
|
body: Please check the output of the GitHub action and manually resolve the issues<br>${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}<br>${{ steps.codeowners.outputs.codeowners }}
|
||||||
|
|
||||||
|
- name: Reset checkout 3rdparty
|
||||||
|
run: |
|
||||||
|
git clean -f 3rdparty
|
||||||
|
git checkout 3rdparty
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
- name: Reset checkout vendor
|
||||||
|
run: |
|
||||||
|
git clean -f vendor
|
||||||
|
git checkout vendor
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
- name: Reset checkout vendor-bin
|
||||||
|
run: |
|
||||||
|
git clean -f vendor-bin
|
||||||
|
git checkout vendor-bin
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
- name: Create Pull Request
|
||||||
|
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
|
commit-message: 'chore(dev-deps): Bump nextcloud/ocp package'
|
||||||
|
committer: GitHub <noreply@github.com>
|
||||||
|
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
|
||||||
|
signoff: true
|
||||||
|
branch: 'automated/noid/${{ matrix.branches }}-update-nextcloud-ocp'
|
||||||
|
title: '[${{ matrix.branches }}] Update nextcloud/ocp dependency'
|
||||||
|
body: |
|
||||||
|
Auto-generated update of [nextcloud/ocp](https://github.com/nextcloud-deps/ocp/) dependency
|
||||||
|
labels: |
|
||||||
|
dependencies
|
||||||
|
3. to review
|
Loading…
Reference in a new issue