[13.0][UPD] migrate CI to github actions

This commit is contained in:
AaronHForgeFlow
2021-11-03 15:19:05 +01:00
committed by Aaron ForgeFlow
parent 897160fbf7
commit 32187efeeb
13 changed files with 195 additions and 39 deletions

View File

@@ -1,12 +1,13 @@
# Do NOT update manually; changes here will be overwritten by Copier # Do NOT update manually; changes here will be overwritten by Copier
_commit: v1.1.1 _commit: v1.3.5
_src_path: https://github.com/OCA/oca-addons-repo-template.git _src_path: https://github.com/OCA/oca-addons-repo-template.git
ci: GitHub
dependency_installation_mode: OCA dependency_installation_mode: OCA
generate_requirements_txt: false generate_requirements_txt: false
include_wkhtmltopdf: true include_wkhtmltopdf: true
odoo_version: 13.0 odoo_version: 13.0
rebel_module_groups: [] rebel_module_groups: []
repo_description: null repo_description: Manage returns authorizations
repo_name: stock-rma repo_name: stock-rma
repo_slug: https://github.com/ForgeFlow/stock-rma repo_slug: https://github.com/ForgeFlow/stock-rma
travis_apt_packages: [] travis_apt_packages: []

View File

@@ -1,10 +1,17 @@
env: env:
browser: true browser: true
es6: true
# See https://github.com/OCA/odoo-community.org/issues/37#issuecomment-470686449 # See https://github.com/OCA/odoo-community.org/issues/37#issuecomment-470686449
parserOptions: parserOptions:
ecmaVersion: 2017 ecmaVersion: 2017
overrides:
- files:
- "**/*.esm.js"
parserOptions:
sourceType: module
# Globals available in Odoo that shouldn't produce errorings # Globals available in Odoo that shouldn't produce errorings
globals: globals:
_: readonly _: readonly
@@ -14,7 +21,7 @@ globals:
moment: readonly moment: readonly
odoo: readonly odoo: readonly
openerp: readonly openerp: readonly
Promise: readonly owl: readonly
# Styling is handled by Prettier, so we only need to enable AST rules; # Styling is handled by Prettier, so we only need to enable AST rules;
# see https://github.com/OCA/maintainer-quality-tools/pull/618#issuecomment-558576890 # see https://github.com/OCA/maintainer-quality-tools/pull/618#issuecomment-558576890

View File

@@ -1,5 +1,5 @@
[flake8] [flake8]
max-line-length = 80 max-line-length = 88
max-complexity = 16 max-complexity = 16
# B = bugbear # B = bugbear
# B9 = bugbear opinionated (incl line length) # B9 = bugbear opinionated (incl line length)
@@ -8,3 +8,5 @@ select = C,E,F,W,B,B9
# E501: flake8 line length (covered by bugbear B950) # E501: flake8 line length (covered by bugbear B950)
# W503: line break before binary operator (black behaviour) # W503: line break before binary operator (black behaviour)
ignore = E203,E501,W503 ignore = E203,E501,W503
per-file-ignores=
__init__.py:F401

View File

@@ -10,4 +10,8 @@ jobs:
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions/setup-python@v2 - uses: actions/setup-python@v2
with:
# The pylint-odoo version we use here does not support python 3.10
# https://github.com/OCA/oca-addons-repo-template/issues/80
python-version: "3.9"
- uses: pre-commit/action@v2.0.0 - uses: pre-commit/action@v2.0.0

69
.github/workflows/stale.yml vendored Normal file
View File

@@ -0,0 +1,69 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: "0 12 * * 0"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- name: Stale PRs and issues policy
uses: actions/stale@v4
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# General settings.
ascending: true
remove-stale-when-updated: true
# Pull Requests settings.
# 120+30 day stale policy for PRs
# * Except PRs marked as "no stale"
days-before-pr-stale: 120
days-before-pr-close: 30
exempt-pr-labels: "no stale"
stale-pr-label: "stale"
stale-pr-message: >
There hasn't been any activity on this pull request in the past 4 months, so
it has been marked as stale and it will be closed automatically if no
further activity occurs in the next 30 days.
If you want this PR to never become stale, please ask a PSC member to apply
the "no stale" label.
# Issues settings.
# 180+30 day stale policy for open issues
# * Except Issues marked as "no stale"
days-before-issue-stale: 180
days-before-issue-close: 30
exempt-issue-labels: "no stale,needs more information"
stale-issue-label: "stale"
stale-issue-message: >
There hasn't been any activity on this issue in the past 6 months, so it has
been marked as stale and it will be closed automatically if no further
activity occurs in the next 30 days.
If you want this issue to never become stale, please ask a PSC member to
apply the "no stale" label.
# 15+30 day stale policy for issues pending more information
# * Issues that are pending more information
# * Except Issues marked as "no stale"
- name: Needs more information stale issues policy
uses: actions/stale@v4
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
ascending: true
only-labels: "needs more information"
exempt-issue-labels: "no stale"
days-before-stale: 15
days-before-close: 30
days-before-pr-stale: -1
days-before-pr-close: -1
remove-stale-when-updated: true
stale-issue-label: "stale"
stale-issue-message: >
This issue needs more information and there hasn't been any activity
recently, so it has been marked as stale and it will be closed automatically
if no further activity occurs in the next 30 days.
If you think this is a mistake, please ask a PSC member to remove the "needs
more information" label.

48
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,48 @@
name: test Odoo addons
on:
pull_request:
branches:
- "13.0"
push:
branches:
- "13.0"
jobs:
test:
runs-on: ubuntu-latest
container: ${{ matrix.container }}
strategy:
fail-fast: false
matrix:
include:
- container: ghcr.io/oca/oca-ci/py3.6-odoo13.0:latest
makepot: "true"
- container: ghcr.io/oca/oca-ci/py3.6-ocb13.0:latest
services:
postgres:
image: postgres:9.6
env:
POSTGRES_USER: odoo
POSTGRES_PASSWORD: odoo
POSTGRES_DB: odoo
ports:
- 5432:5432
steps:
- uses: actions/checkout@v2
with:
persist-credentials: false
- name: Install addons and dependencies
run: oca_install_addons
- name: Initialize test db
run: oca_init_test_database
- name: Run tests
run: oca_run_tests
- uses: codecov/codecov-action@v1
- name: Update .pot files
run:
oca_export_and_push_pot https://x-access-token:${{ secrets.GIT_PUSH_TOKEN
}}@github.com/${{ github.repository }}
if:
${{ matrix.makepot == 'true' && github.event_name == 'push' &&
github.repository_owner == 'OCA' }}

View File

@@ -10,3 +10,4 @@ known_odoo=odoo
known_odoo_addons=odoo.addons known_odoo_addons=odoo.addons
sections=FUTURE,STDLIB,THIRDPARTY,ODOO,ODOO_ADDONS,FIRSTPARTY,LOCALFOLDER sections=FUTURE,STDLIB,THIRDPARTY,ODOO,ODOO_ADDONS,FIRSTPARTY,LOCALFOLDER
default_section=THIRDPARTY default_section=THIRDPARTY
ensure_newline_before_comments = True

View File

@@ -1,7 +1,11 @@
exclude: | exclude: |
(?x) (?x)
# NOT INSTALLABLE ADDONS
# END NOT INSTALLABLE ADDONS
# Files and folders generated by bots, to avoid loops # Files and folders generated by bots, to avoid loops
^setup/|/static/description/index\.html$| ^setup/|/static/description/index\.html$|
# We don't want to mess with tool-generated files
.svg$|/tests/([^/]+/)?cassettes/|^.copier-answers.yml$|
# Maybe reactivate this when all README files include prettier ignore tags? # Maybe reactivate this when all README files include prettier ignore tags?
^README\.md$| ^README\.md$|
# Library files can have extraneous formatting (even minimized) # Library files can have extraneous formatting (even minimized)
@@ -14,11 +18,33 @@ default_language_version:
python: python3 python: python3
node: "14.13.0" node: "14.13.0"
repos: repos:
- repo: local
hooks:
# These files are most likely copier diff rejection junks; if found,
# review them manually, fix the problem (if needed) and remove them
- id: forbidden-files
name: forbidden files
entry: found forbidden files; remove them
language: fail
files: "\\.rej$"
- repo: https://github.com/oca/maintainer-tools
rev: ab1d7f6
hooks:
# update the NOT INSTALLABLE ADDONS section above
- id: oca-update-pre-commit-excluded-addons
- id: oca-fix-manifest-website
args: ["https://github.com/ForgeFlow/stock-rma"]
- repo: https://github.com/myint/autoflake - repo: https://github.com/myint/autoflake
rev: v1.4 rev: v1.4
hooks: hooks:
- id: autoflake - id: autoflake
args: ["-i", "--ignore-init-module-imports"] args:
- --expand-star-imports
- --ignore-init-module-imports
- --in-place
- --remove-all-unused-imports
- --remove-duplicate-keys
- --remove-unused-variables
- repo: https://github.com/psf/black - repo: https://github.com/psf/black
rev: 19.10b0 rev: 19.10b0
hooks: hooks:
@@ -27,12 +53,12 @@ repos:
rev: v1.19.1 rev: v1.19.1
hooks: hooks:
- id: prettier - id: prettier
- id: prettier name: prettier (with plugin-xml)
name: prettier xml plugin entry: prettier --write --list-different
additional_dependencies: additional_dependencies:
- "prettier@1.19.1" - "prettier@1.19.1"
- "@prettier/plugin-xml@0.7.2" - "@prettier/plugin-xml@0.7.2"
files: \.xml$ files: \.(css|htm|html|js|json|jsx|less|md|scss|toml|ts|xml|yaml|yml)$
- repo: https://github.com/pre-commit/mirrors-eslint - repo: https://github.com/pre-commit/mirrors-eslint
rev: v6.8.0 rev: v6.8.0
hooks: hooks:
@@ -63,34 +89,11 @@ repos:
- id: check-xml - id: check-xml
- id: mixed-line-ending - id: mixed-line-ending
args: ["--fix=lf"] args: ["--fix=lf"]
- repo: https://gitlab.com/pycqa/flake8
rev: 3.7.9
hooks:
- id: flake8
name: flake8 except __init__.py
exclude: /__init__\.py$
additional_dependencies: ["flake8-bugbear==19.8.0"]
- id: flake8
name: flake8 only __init__.py
args: ["--extend-ignore=F401"] # ignore unused imports in __init__.py
files: /__init__\.py$
additional_dependencies: ["flake8-bugbear==19.8.0"]
- repo: https://github.com/pre-commit/mirrors-pylint
rev: v2.5.3
hooks:
- id: pylint
name: pylint with optional checks
args: ["--rcfile=.pylintrc", "--exit-zero"]
verbose: true
additional_dependencies: ["pylint-odoo==3.5.0"]
- id: pylint
name: pylint with mandatory checks
args: ["--rcfile=.pylintrc-mandatory"]
additional_dependencies: ["pylint-odoo==3.5.0"]
- repo: https://github.com/asottile/pyupgrade - repo: https://github.com/asottile/pyupgrade
rev: v1.26.2 rev: v1.26.2
hooks: hooks:
- id: pyupgrade - id: pyupgrade
args: ["--keep-percent-format"]
- repo: https://github.com/pre-commit/mirrors-isort - repo: https://github.com/pre-commit/mirrors-isort
rev: v4.3.21 rev: v4.3.21
hooks: hooks:
@@ -101,3 +104,25 @@ repos:
rev: 2.5.2 rev: 2.5.2
hooks: hooks:
- id: setuptools-odoo-make-default - id: setuptools-odoo-make-default
- repo: https://gitlab.com/pycqa/flake8
rev: 3.7.9
hooks:
- id: flake8
name: flake8
additional_dependencies: ["flake8-bugbear==19.8.0"]
- repo: https://github.com/pre-commit/mirrors-pylint
rev: v2.5.3
hooks:
- id: pylint
name: pylint with optional checks
args:
- --rcfile=.pylintrc
- --exit-zero
verbose: true
additional_dependencies: &pylint_deps
- pylint-odoo==3.5.0
- id: pylint
name: pylint with mandatory checks
args:
- --rcfile=.pylintrc-mandatory
additional_dependencies: *pylint_deps

View File

@@ -30,9 +30,8 @@ env:
- WKHTMLTOPDF_VERSION="0.12.5" - WKHTMLTOPDF_VERSION="0.12.5"
install: install:
- git clone -b master-eficent - git clone --depth=1 https://github.com/OCA/maintainer-quality-tools.git
https://github.com/ForgeFlow/maintainer-quality-tools.git ${HOME}/maintainer-quality-tools
$HOME/maintainer-quality-tools
- export PATH=${HOME}/maintainer-quality-tools/travis:${PATH} - export PATH=${HOME}/maintainer-quality-tools/travis:${PATH}
- travis_install_nightly - travis_install_nightly

View File

@@ -7,7 +7,7 @@
# stock-rma # stock-rma
None Manage returns authorizations
<!-- /!\ do not modify below this line --> <!-- /!\ do not modify below this line -->

View File

@@ -8,7 +8,7 @@
"summary": "RMA from PO", "summary": "RMA from PO",
"license": "LGPL-3", "license": "LGPL-3",
"author": "Eficent, Odoo Community Association (OCA)", "author": "Eficent, Odoo Community Association (OCA)",
"website": "https://github.com/Eficent/stock-rma", "website": "https://github.com/ForgeFlow/stock-rma",
"depends": ["rma_account", "purchase"], "depends": ["rma_account", "purchase"],
"data": [ "data": [
"wizards/rma_order_line_make_purchase_order_view.xml", "wizards/rma_order_line_make_purchase_order_view.xml",

View File

@@ -7,7 +7,7 @@
"category": "RMA", "category": "RMA",
"summary": "Links RMA with Repairs.", "summary": "Links RMA with Repairs.",
"author": "ForgeFlow S.L., Odoo Community Association (OCA)", "author": "ForgeFlow S.L., Odoo Community Association (OCA)",
"website": "https://github.com/Eficent/stock-rma", "website": "https://github.com/ForgeFlow/stock-rma",
"depends": ["rma_account", "repair_refurbish"], "depends": ["rma_account", "repair_refurbish"],
"data": [ "data": [
"views/rma_order_view.xml", "views/rma_order_view.xml",

View File

@@ -8,7 +8,7 @@
"category": "RMA", "category": "RMA",
"summary": "Links RMA with Sales Orders", "summary": "Links RMA with Sales Orders",
"author": "ForgeFlow, Odoo Community Association (OCA)", "author": "ForgeFlow, Odoo Community Association (OCA)",
"website": "https://github.com/Eficent/stock-rma", "website": "https://github.com/ForgeFlow/stock-rma",
"depends": ["rma_account", "sale_stock"], "depends": ["rma_account", "sale_stock"],
"data": [ "data": [
"data/rma_operation.xml", "data/rma_operation.xml",