mirror of
https://github.com/flarum/core.git
synced 2025-06-12 01:21:06 +02:00
Apply flarum-cli audit fix (#3248)
This commit is contained in:
committed by
GitHub
parent
22f8c44b4d
commit
bf23f32a92
15
framework/core/.github/workflows/backend.yml
vendored
Normal file
15
framework/core/.github/workflows/backend.yml
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
name: Core PHP
|
||||||
|
|
||||||
|
on: [workflow_dispatch, push, pull_request]
|
||||||
|
|
||||||
|
# The reusable workflow definitions will be moved to the `flarum/framework` repo soon.
|
||||||
|
# This will break your current script.
|
||||||
|
# When this happens, run `flarum-cli audit infra --fix` to update your infrastructure.
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
run:
|
||||||
|
uses: flarum/.github/.github/workflows/REUSABLE_backend.yml@main
|
||||||
|
with:
|
||||||
|
enable_backend_testing: true
|
||||||
|
|
||||||
|
backend_directory: .
|
20
framework/core/.github/workflows/frontend.yml
vendored
Normal file
20
framework/core/.github/workflows/frontend.yml
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
name: Core JS
|
||||||
|
|
||||||
|
on: [workflow_dispatch, push, pull_request]
|
||||||
|
|
||||||
|
# The reusable workflow definitions will be moved to the `flarum/framework` repo soon.
|
||||||
|
# This will break your current script.
|
||||||
|
# When this happens, run `flarum-cli audit infra --fix` to update your infrastructure.
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
run:
|
||||||
|
uses: flarum/.github/.github/workflows/REUSABLE_frontend.yml@main
|
||||||
|
with:
|
||||||
|
enable_bundlewatch: true
|
||||||
|
enable_prettier: true
|
||||||
|
enable_typescript: true
|
||||||
|
|
||||||
|
frontend_directory: ./js
|
||||||
|
main_git_branch: main
|
||||||
|
secrets:
|
||||||
|
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
|
137
framework/core/.github/workflows/js.yml
vendored
137
framework/core/.github/workflows/js.yml
vendored
@ -1,137 +0,0 @@
|
|||||||
name: JS
|
|
||||||
|
|
||||||
on: [workflow_dispatch, push, pull_request]
|
|
||||||
|
|
||||||
env:
|
|
||||||
NODE_VERSION: 16
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
prettier:
|
|
||||||
name: Prettier
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Check out code
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Set up Node
|
|
||||||
uses: actions/setup-node@v2
|
|
||||||
with:
|
|
||||||
node-version: ${{ env.NODE_VERSION }}
|
|
||||||
cache: "yarn"
|
|
||||||
cache-dependency-path: js/yarn.lock
|
|
||||||
|
|
||||||
- name: Install JS dependencies
|
|
||||||
run: yarn install --immutable
|
|
||||||
working-directory: ./js
|
|
||||||
|
|
||||||
- name: Check JS formatting
|
|
||||||
run: yarn run format-check
|
|
||||||
working-directory: ./js
|
|
||||||
|
|
||||||
typecheck:
|
|
||||||
name: Typecheck
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Check out code
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Set up Node
|
|
||||||
uses: actions/setup-node@v2
|
|
||||||
with:
|
|
||||||
node-version: ${{ env.NODE_VERSION }}
|
|
||||||
cache: "yarn"
|
|
||||||
cache-dependency-path: js/yarn.lock
|
|
||||||
|
|
||||||
- name: Install JS dependencies
|
|
||||||
run: yarn --frozen-lockfile
|
|
||||||
working-directory: ./js
|
|
||||||
|
|
||||||
- name: Typecheck
|
|
||||||
run: yarn run check-typings
|
|
||||||
working-directory: ./js
|
|
||||||
|
|
||||||
type-coverage:
|
|
||||||
name: Type Coverage
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Check out code
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Set up Node
|
|
||||||
uses: actions/setup-node@v2
|
|
||||||
with:
|
|
||||||
node-version: ${{ env.NODE_VERSION }}
|
|
||||||
cache: "yarn"
|
|
||||||
cache-dependency-path: js/yarn.lock
|
|
||||||
|
|
||||||
- name: Install JS dependencies
|
|
||||||
run: yarn --frozen-lockfile
|
|
||||||
working-directory: ./js
|
|
||||||
|
|
||||||
- name: Check type coverage
|
|
||||||
run: yarn run check-typings-coverage
|
|
||||||
working-directory: ./js
|
|
||||||
|
|
||||||
build-prod:
|
|
||||||
name: Build and commit
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [prettier, typecheck, type-coverage]
|
|
||||||
|
|
||||||
# Only commit JS on push to master branch
|
|
||||||
# Remember to change in `build-test` job too
|
|
||||||
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Check out code
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Set up Node
|
|
||||||
uses: actions/setup-node@v2
|
|
||||||
with:
|
|
||||||
node-version: ${{ env.NODE_VERSION }}
|
|
||||||
cache: "yarn"
|
|
||||||
cache-dependency-path: js/yarn.lock
|
|
||||||
|
|
||||||
# Our action will install npm, cd into `./js`, run `npm run build` and
|
|
||||||
# `npm run build-typings`, then commit and upload any changes
|
|
||||||
- name: Build production JS
|
|
||||||
uses: flarum/action-build@2
|
|
||||||
with:
|
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
build_script: build
|
|
||||||
package_manager: yarn
|
|
||||||
typings_script: build-typings
|
|
||||||
|
|
||||||
build-test:
|
|
||||||
name: Test build
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [prettier, typecheck, type-coverage]
|
|
||||||
|
|
||||||
# Inverse check of `build-prod`
|
|
||||||
# Remember to change in `build-prod` job too
|
|
||||||
if: github.ref != 'refs/heads/master' || github.event_name != 'push'
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Check out code
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Set up Node
|
|
||||||
uses: actions/setup-node@v2
|
|
||||||
with:
|
|
||||||
node-version: ${{ env.NODE_VERSION }}
|
|
||||||
cache: "yarn"
|
|
||||||
cache-dependency-path: js/yarn.lock
|
|
||||||
|
|
||||||
# Our action will install npm, cd into `./js`, run `npm run build` and
|
|
||||||
# `npm run build-typings`, then commit and upload any changes
|
|
||||||
- name: Build production JS
|
|
||||||
uses: flarum/action-build@2
|
|
||||||
with:
|
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
build_script: build
|
|
||||||
package_manager: yarn
|
|
||||||
typings_script: build-typings
|
|
||||||
do_not_commit: true
|
|
@ -1,45 +0,0 @@
|
|||||||
name: Bundle size checker
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
push:
|
|
||||||
paths:
|
|
||||||
- "js/**"
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- "js/**"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
bundlewatch:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
name: Bundlewatch
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Check out code
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Setup Node.js
|
|
||||||
uses: actions/setup-node@v2
|
|
||||||
with:
|
|
||||||
node-version: "14"
|
|
||||||
|
|
||||||
- name: Use npm v7
|
|
||||||
run: sudo npm install -g npm@7.x.x
|
|
||||||
|
|
||||||
- name: Install JS dependencies
|
|
||||||
# We need to use `npm install` here. If we don't, the workflow will fail.
|
|
||||||
run: npm install
|
|
||||||
working-directory: ./js
|
|
||||||
|
|
||||||
- name: Build production assets
|
|
||||||
run: npm run build
|
|
||||||
working-directory: ./js
|
|
||||||
|
|
||||||
- name: Check bundle size change
|
|
||||||
run: node_modules/.bin/bundlewatch --config .bundlewatch.config.json
|
|
||||||
working-directory: ./js
|
|
||||||
env:
|
|
||||||
BUNDLEWATCH_GITHUB_TOKEN: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
|
|
||||||
CI_COMMIT_SHA: ${{ github.event.pull_request.head.sha }}
|
|
79
framework/core/.github/workflows/test.yml
vendored
79
framework/core/.github/workflows/test.yml
vendored
@ -1,79 +0,0 @@
|
|||||||
name: Tests
|
|
||||||
|
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
test:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
php: [7.3, 7.4, '8.0', '8.1']
|
|
||||||
service: ['mysql:5.7', mariadb]
|
|
||||||
prefix: ['', flarum_]
|
|
||||||
|
|
||||||
include:
|
|
||||||
- service: 'mysql:5.7'
|
|
||||||
db: MySQL
|
|
||||||
- service: mariadb
|
|
||||||
db: MariaDB
|
|
||||||
- prefix: flarum_
|
|
||||||
prefixStr: (prefix)
|
|
||||||
|
|
||||||
exclude:
|
|
||||||
- php: 7.3
|
|
||||||
service: 'mysql:5.7'
|
|
||||||
prefix: flarum_
|
|
||||||
- php: 7.3
|
|
||||||
service: mariadb
|
|
||||||
prefix: flarum_
|
|
||||||
- php: 8.0
|
|
||||||
service: 'mysql:5.7'
|
|
||||||
prefix: flarum_
|
|
||||||
- php: 8.0
|
|
||||||
service: mariadb
|
|
||||||
prefix: flarum_
|
|
||||||
|
|
||||||
services:
|
|
||||||
mysql:
|
|
||||||
image: ${{ matrix.service }}
|
|
||||||
ports:
|
|
||||||
- 13306:3306
|
|
||||||
|
|
||||||
name: 'PHP ${{ matrix.php }} / ${{ matrix.db }} ${{ matrix.prefixStr }}'
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Check out code
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Setup PHP
|
|
||||||
uses: shivammathur/setup-php@0b9d33cd0782337377999751fc10ea079fdd7104 # pin@v2
|
|
||||||
with:
|
|
||||||
php-version: ${{ matrix.php }}
|
|
||||||
coverage: xdebug
|
|
||||||
extensions: curl, dom, gd, json, mbstring, openssl, pdo_mysql, tokenizer, zip
|
|
||||||
tools: phpunit, composer:v2
|
|
||||||
|
|
||||||
# The authentication alter is necessary because newer mysql versions use the `caching_sha2_password` driver,
|
|
||||||
# which isn't supported prior to PHP7.4
|
|
||||||
# When we drop support for PHP7.3, we should remove this from the setup.
|
|
||||||
- name: Create MySQL Database
|
|
||||||
run: |
|
|
||||||
sudo systemctl start mysql
|
|
||||||
mysql -uroot -proot -e 'CREATE DATABASE flarum_test;' --port 13306
|
|
||||||
mysql -uroot -proot -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';" --port 13306
|
|
||||||
|
|
||||||
- name: Install Composer dependencies
|
|
||||||
run: composer install
|
|
||||||
|
|
||||||
- name: Setup Composer tests
|
|
||||||
run: composer test:setup
|
|
||||||
env:
|
|
||||||
DB_PORT: 13306
|
|
||||||
DB_PASSWORD: root
|
|
||||||
DB_PREFIX: ${{ matrix.prefix }}
|
|
||||||
|
|
||||||
- name: Run Composer tests
|
|
||||||
run: composer test
|
|
||||||
env:
|
|
||||||
COMPOSER_PROCESS_TIMEOUT: 600
|
|
1
framework/core/.gitignore
vendored
1
framework/core/.gitignore
vendored
@ -1,6 +1,7 @@
|
|||||||
/vendor
|
/vendor
|
||||||
composer.lock
|
composer.lock
|
||||||
composer.phar
|
composer.phar
|
||||||
|
|
||||||
.DS_Store
|
.DS_Store
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
tests/.phpunit.result.cache
|
tests/.phpunit.result.cache
|
||||||
|
@ -109,8 +109,21 @@
|
|||||||
"dev-master": "1.x-dev"
|
"dev-master": "1.x-dev"
|
||||||
},
|
},
|
||||||
"flarum-cli": {
|
"flarum-cli": {
|
||||||
|
"excludeScaffolding": [
|
||||||
|
"LICENSE.md",
|
||||||
|
"js/tsconfig.json",
|
||||||
|
"js/webpack.config.js"
|
||||||
|
],
|
||||||
"modules": {
|
"modules": {
|
||||||
"backendTesting": true
|
"backendTesting": true,
|
||||||
|
"js": true,
|
||||||
|
"gitConf": true,
|
||||||
|
"githubActions": true,
|
||||||
|
"prettier": true,
|
||||||
|
"typescript": true,
|
||||||
|
"bundlewatch": true,
|
||||||
|
"editorConfig": true,
|
||||||
|
"styleci": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "webpack --mode development --watch",
|
"dev": "webpack --mode development --watch",
|
||||||
"build": "webpack --mode production",
|
"build": "webpack --mode production",
|
||||||
"analyze": "cross-env ANALYZER=true npm run build",
|
"analyze": "cross-env ANALYZER=true yarn build",
|
||||||
"format": "prettier --write src",
|
"format": "prettier --write src",
|
||||||
"format-check": "prettier --check src",
|
"format-check": "prettier --check src",
|
||||||
"clean-typings": "npx rimraf dist-typings && mkdir dist-typings",
|
"clean-typings": "npx rimraf dist-typings && mkdir dist-typings",
|
||||||
|
Reference in New Issue
Block a user