Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: rcerven/atomic-reactor
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1.6.22
Choose a base ref
...
head repository: rcerven/atomic-reactor
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing 343 changed files with 62,295 additions and 19,448 deletions.
2 changes: 0 additions & 2 deletions .coveragerc

This file was deleted.

2 changes: 2 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[flake8]
max-line-length=100
21 changes: 21 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
# Check for updates to GitHub Actions every week
interval: "weekly"
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
ignore:
- dependency-name: "setuptools"
# We explicitly pin setuptools<54 to avoid issues when building with Cachito
versions: [">=54.0.0"]
- dependency-name: "pytest-runner"
# pytest-runner>=5.3.2 requires setuptools>=56
versions: [">=5.3.2"]
42 changes: 42 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: "CodeQL"

on:
push:
branches: [ "master", osbs_ocp3 ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ "master" ]
schedule:
- cron: '41 5 * * 2'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'python' ]

steps:
- name: Checkout repository
uses: actions/checkout@v3

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}

- name: Autobuild
uses: github/codeql-action/autobuild@v2

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
category: "/language:${{matrix.language}}"
118 changes: 118 additions & 0 deletions .github/workflows/linters.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
name: Linters

on:
pull_request:

push:
branches:
- master
- release_*

jobs:
bandit:
name: Bandit analyzer for Python ${{ matrix.os.python }}
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
os:
- name: fedora
version: 35
python: 3
engine: docker

steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- run: ./test.sh
env:
OS: ${{ matrix.os.name }}
OS_VERSION: ${{ matrix.os.version }}
PYTHON_VERSION: ${{ matrix.os.python }}
ENGINE: ${{ matrix.os.engine }}
ACTION: bandit

flake8:
name: Flake8 for Python 3
runs-on: ubuntu-latest

steps:
- name: Check out repo
uses: actions/checkout@v3

- name: Run flake8 for Python 3
uses: containerbuildsystem/actions/flake8@master

markdownlint:
name: Markdownlint
runs-on: ubuntu-latest

steps:
- name: Check out repo
uses: actions/checkout@v3

- name: Run markdownlint
uses: containerbuildsystem/actions/markdownlint@master

mypy:
name: mypy
runs-on: ubuntu-latest

steps:
- name: Check out repo
uses: actions/checkout@v3

- name: Run mypy
uses: containerbuildsystem/actions/mypy@master
with:
package: 'atomic_reactor'

pylint:
name: Pylint analyzer for Python ${{ matrix.os.python }}
runs-on: ubuntu-latest

strategy:
matrix:
os:
- name: fedora
version: 35
python: 3
engine: docker

steps:
- uses: actions/checkout@v3

- run: ./test.sh
env:
OS: ${{ matrix.os.name }}
OS_VERSION: ${{ matrix.os.version }}
PYTHON_VERSION: ${{ matrix.os.python }}
ENGINE: ${{ matrix.os.engine }}
ACTION: pylint

shellcheck:
name: Shellcheck
runs-on: ubuntu-latest

steps:
- name: Check out repo
uses: actions/checkout@v3

- name: Run ShellCheck
uses: containerbuildsystem/actions/shellcheck@master

tekton-lint:
name: tekton-lint
runs-on: ubuntu-latest

steps:
- name: Check out repo
uses: actions/checkout@v3

- name: Run tekton-lint
uses: containerbuildsystem/actions/tekton-lint@master
with:
path: 'tekton/**/*.yaml'
74 changes: 74 additions & 0 deletions .github/workflows/unittests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Unittests

on:
pull_request:

push:
branches:
- master
- release_*

jobs:
test:
name: Python ${{ matrix.os.python }} tests on ${{ matrix.os.name }}-${{ matrix.os.version }}
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
os:
- name: centos
version: 8
python: "3.8"
engine: docker

- name: fedora
version: 35
python: 3
engine: docker

steps:
- name: Check out repo
uses: actions/checkout@v3

- name: pytests via test.sh
env:
OS: ${{ matrix.os.name }}
OS_VERSION: ${{ matrix.os.version }}
PYTHON_VERSION: ${{ matrix.os.python }}
ENGINE: ${{ matrix.os.engine }}
run: ./test.sh

- name: Upload pytest html report
uses: actions/upload-artifact@v3
if: failure()
with:
path: __pytest_reports/atomic-reactor-unit-tests.html
name: atomic-reactor-unit-tests_${{ matrix.os.name }}_${{ matrix.os.version }}.python${{ matrix.os.python }}.html

- name: Run coveralls-python
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_FLAG_NAME: ${{ matrix.os.name }}-${{ matrix.os.version }}-python${{ matrix.os.python }}
COVERALLS_PARALLEL: true
run: |
sudo apt install python3-testresources
pip3 install --upgrade pip==20.0.2
pip3 install --upgrade setuptools
pip3 install --upgrade coveralls
/home/runner/.local/bin/coveralls --service=github
coveralls-finish:
name: Finish coveralls-python
needs: test
runs-on: ubuntu-latest
steps:
- name: Finished
run: |
sudo apt install python3-testresources
pip3 install --upgrade pip==20.0.2
pip3 install --upgrade setuptools
pip3 install --upgrade coveralls
/home/runner/.local/bin/coveralls --finish --service=github
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
14 changes: 12 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
rel-eng/releasers.conf
*.py[co]
*.swp
*.sw[po]
dist/
*.egg-info/
.eggs/
build/
*~

# Unit test / coverage reports
.cache
.coverage
.coverage.*
htmlcov
__pytest_reports
.tox/
3 changes: 0 additions & 3 deletions .landscape.yml

This file was deleted.

3 changes: 3 additions & 0 deletions .mdlint_style
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
all
rule 'MD013', :code_blocks => false

2 changes: 2 additions & 0 deletions .mdlrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
style "./.mdlint_style"

2 changes: 2 additions & 0 deletions .mypy.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[mypy]
python_version = 3.8
94 changes: 94 additions & 0 deletions .pylintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
[MASTER]

# Use multiple processes to speed up Pylint.
jobs=1

# Pickle collected data for later comparisons.
persistent=no

# Activate the evaluation score.
score=no

[MESSAGES CONTROL]

# Only show warnings with the listed confidence levels. Leave empty to show
# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED
confidence=

# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once).You can also use "--disable=all" to
# disable everything first and then reenable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
enable=all,
python3
disable=I,
R, # refactoring checks
abstract-method, # nice to have
arguments-differ, # nice to have
bad-continuation, # pep8
bad-whitespace, # pep8, nice to have
broad-except,
comprehension-escape, # throws false positives on 1.9.0 (Fedora 29)
deprecated-lambda, # nice to have
import-outside-toplevel,
import-error, # requires to having all modules installed
invalid-name,
len-as-condition, # nice to have
line-too-long, # pep8, should be enabled
missing-docstring,
misplaced-comparison-constant,
multiple-statements, # nice to have
no-absolute-import, # it was required for py2
no-init,
no-self-argument, # nice to have
not-callable, # disabled due to flexmock module
not-context-manager, # causes false positives
old-division, # it was required for py2
protected-access,
redefined-outer-name, # nice to have
relative-import, # nice to have
super-init-not-called, # nice to have
superfluous-parens, # nice to have
too-many-lines,
unicode-builtin,
unidiomatic-typecheck, # nice to have
ungrouped-imports,
unnecessary-lambda, # nice to have
unneeded-not, # nice to have
unused-argument, # nice to have
useless-import-alias, # nice to have
useless-super-delegation, # nice to have
wrong-import-order,
wrong-import-position,
eq-without-hash # no need to hash objects which have method __eq__

[REPORTS]

# Template used to display messages. This is a python new-style format string
# used to format the message information. See doc for all details
msg-template='{path}:{line}: [{msg_id}({symbol}), {obj}] {msg})'

# Set the output format. Available formats are text, parseable, colorized, json
# and msvs (visual studio).You can also give a reporter class, eg
# mypackage.mymodule.MyReporterClass.
output-format=colorized

[TYPECHECK]

# List of class names for which member attributes should not be checked (useful
# for classes with dynamically set attributes). This supports the use of
# qualified names.
ignored-classes=requests.structures.LookupDict

# List of module names for which member attributes should not be checked
# (useful for modules/projects where namespaces are manipulated during runtime
# and thus existing member attributes cannot be deduced by static analysis. It
# supports qualified module names, as well as Unix pattern matching.
ignored-modules=requests.packages,
responses,
docker
2 changes: 2 additions & 0 deletions .tektonlintrc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
rules: # error | warning | off
Loading