mirror of
https://github.com/libretro/mame.git
synced 2024-12-03 15:41:16 +00:00
-Cleaned up CI targets:
* Restricted Linux CI build to only run on changes to code, translations, software lists, and build scripts. * Restricted Windows/macOS CO to only run on changes to code and build scripts. They provide nothing over Linux for the other stuff. * Added plugin properties and controller file validation to the "hash" workflow. * Added a workflow for building documentation, so pull requests that affect documentation will at least get a basic check in advance. -plugins/autofire: Bumped version as configuration format has changed.
This commit is contained in:
parent
3b57161f33
commit
33f5ab983d
22
.github/workflows/ci-linux.yml
vendored
22
.github/workflows/ci-linux.yml
vendored
@ -1,6 +1,26 @@
|
||||
name: CI (Linux)
|
||||
|
||||
on: [push, pull_request]
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- '.github/**'
|
||||
- '3rdparty/**'
|
||||
- 'hash/**'
|
||||
- 'language/**'
|
||||
- 'scripts/**'
|
||||
- 'src/**'
|
||||
- 'COPYING'
|
||||
- 'makefile'
|
||||
pull_request:
|
||||
paths:
|
||||
- '.github/**'
|
||||
- '3rdparty/**'
|
||||
- 'hash/**'
|
||||
- 'language/**'
|
||||
- 'scripts/**'
|
||||
- 'src/**'
|
||||
- 'COPYING'
|
||||
- 'makefile'
|
||||
|
||||
jobs:
|
||||
build-linux:
|
||||
|
18
.github/workflows/ci-macos.yml
vendored
18
.github/workflows/ci-macos.yml
vendored
@ -1,6 +1,22 @@
|
||||
name: CI (macOS)
|
||||
|
||||
on: [push, pull_request]
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- '.github/**'
|
||||
- '3rdparty/**'
|
||||
- 'scripts/**'
|
||||
- 'src/**'
|
||||
- 'COPYING'
|
||||
- 'makefile'
|
||||
pull_request:
|
||||
paths:
|
||||
- '.github/**'
|
||||
- '3rdparty/**'
|
||||
- 'scripts/**'
|
||||
- 'src/**'
|
||||
- 'COPYING'
|
||||
- 'makefile'
|
||||
|
||||
jobs:
|
||||
build-macos:
|
||||
|
18
.github/workflows/ci-windows.yml
vendored
18
.github/workflows/ci-windows.yml
vendored
@ -1,6 +1,22 @@
|
||||
name: CI (Windows)
|
||||
|
||||
on: [push, pull_request]
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- '.github/**'
|
||||
- '3rdparty/**'
|
||||
- 'scripts/**'
|
||||
- 'src/**'
|
||||
- 'COPYING'
|
||||
- 'makefile'
|
||||
pull_request:
|
||||
paths:
|
||||
- '.github/**'
|
||||
- '3rdparty/**'
|
||||
- 'scripts/**'
|
||||
- 'src/**'
|
||||
- 'COPYING'
|
||||
- 'makefile'
|
||||
|
||||
jobs:
|
||||
|
||||
|
30
.github/workflows/docs.yml
vendored
Normal file
30
.github/workflows/docs.yml
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
name: Build documentation
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- 'docs/**'
|
||||
pull_request:
|
||||
paths:
|
||||
- 'docs/**'
|
||||
|
||||
jobs:
|
||||
build-docs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y librsvg2-bin latexmk python3-pip python3-sphinx texlive texlive-formats-extra texlive-science
|
||||
pip3 install sphinxcontrib-svg2pdfconverter
|
||||
- name: Build HTML
|
||||
run: make -C docs html
|
||||
- name: Build PDF
|
||||
run: make -C docs latexpdf
|
||||
- uses: actions/upload-artifact@master
|
||||
with:
|
||||
name: mame-docs-${{ github.sha }}
|
||||
path: |
|
||||
docs/build/html
|
||||
docs/build/latex/MAME.pdf
|
16
.github/workflows/hash.yml
vendored
16
.github/workflows/hash.yml
vendored
@ -1,12 +1,18 @@
|
||||
name: XML validation
|
||||
name: XML/JSON validation
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- '.github/**'
|
||||
- 'ctrlr/*'
|
||||
- 'hash/*'
|
||||
- 'plugins/**'
|
||||
pull_request:
|
||||
paths:
|
||||
- '.github/**'
|
||||
- 'ctrlr/*'
|
||||
- 'hash/*'
|
||||
- 'plugins/**'
|
||||
|
||||
jobs:
|
||||
validate:
|
||||
@ -16,8 +22,12 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libxml2-utils
|
||||
sudo apt-get install -y libxml2-utils python3-jsonschema
|
||||
- name: Validate (controller configuration)
|
||||
run: for x in ctrlr/*.cfg ; do xmllint --noout "$x" ; done
|
||||
- name: Validate (HSI)
|
||||
run: for x in hash/*.hsi ; do xmllint --noout "$x" ; done
|
||||
- name: Validate (XML)
|
||||
- name: Validate (software list)
|
||||
run: for x in hash/*.xml ; do xmllint --noout --valid "$x" ; done
|
||||
- name: Validate (plugin properties)
|
||||
run: for x in plugins/*/plugin.json ; do jsonschema -i "$x" plugins/plugin.schema ; done
|
||||
|
@ -2,7 +2,7 @@
|
||||
-- copyright-holders:Jack Li
|
||||
local exports = {
|
||||
name = 'autofire',
|
||||
version = '0.0.3',
|
||||
version = '0.0.4',
|
||||
description = 'Autofire plugin',
|
||||
license = 'The BSD 3-Clause License',
|
||||
author = { name = 'Jack Li' } }
|
||||
|
@ -2,7 +2,7 @@
|
||||
"plugin": {
|
||||
"name": "autofire",
|
||||
"description": "Autofire plugin",
|
||||
"version": "0.0.3",
|
||||
"version": "0.0.4",
|
||||
"author": "Jack Li",
|
||||
"type": "plugin",
|
||||
"start": "false"
|
||||
|
35
plugins/plugin.schema
Normal file
35
plugins/plugin.schema
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"plugin": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"pattern": "^[A-Za-z][0-9A-Za-z_]*$"
|
||||
},
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
},
|
||||
"author": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"pattern": "^(plugin|library)$"
|
||||
},
|
||||
"start": {
|
||||
"type": "string",
|
||||
"pattern": "^(true|false)$"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [ "name", "description", "version", "author", "type" ]
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [ "plugin" ]
|
||||
}
|
Loading…
Reference in New Issue
Block a user