Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
chore(CI): Migrate autocheckers from Drone to GitHub
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
  • Loading branch information
susnux committed Feb 14, 2024
commit d04c35c847b36c6572b1bfca81939add79cc9f07
23 changes: 0 additions & 23 deletions .drone.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,3 @@
---
kind: pipeline
name: checkers

steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: checkers
image: ghcr.io/nextcloud/continuous-integration-php8.0:latest
commands:
- ./autotest-checkers.sh
secrets: [ github_token ]

trigger:
branch:
- master
- stable*
event:
- pull_request
- push

---
kind: pipeline
name: litmus
Expand Down
96 changes: 96 additions & 0 deletions .github/workflows/autocheckers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: Code checkers

on:
pull_request:

permissions:
contents: read

concurrency:
group: autocheckers-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
changes:
runs-on: ubuntu-latest-low

outputs:
src: ${{ steps.changes.outputs.src }}

steps:
- uses: dorny/paths-filter@0bc4621a3135347011ad047f9ecf449bf72ce2bd # v3.0.0
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'

autocheckers:
runs-on: ubuntu-latest

needs: changes
if: needs.changes.outputs.src != 'false'

strategy:
matrix:
php-versions: ['8.3']

name: PHP checkers

steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: true

- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@7fdd3ece872ec7ec4c098ae5ab7637d5e0a96067 # v2
with:
php-version: ${{ matrix.php-versions }}
extensions: ctype, json, mbstring
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Set up dependencies
run: composer i

- name: Check auto loaders
run: bash ./build/autoloaderchecker.sh

- name: Check translations are JSON decodeable
run: php ./build/translation-checker.php

- name: Check translations do not contain triple dot but ellipsis
run: php ./build/triple-dot-checker.php

- name: Check .htaccess does not contain invalid changes
run: php ./build/htaccess-checker.php

- name: Check that all and only expected files are included
run: php ./build/files-checker.php

summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, autocheckers]

if: always()

name: autocheckers-summary

steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.autocheckers.result != 'success' }}; then exit 1; fi