Skip to content

Commit

Permalink
Merge pull request #65299 from s0undt3ch/hotfix/merge-forward
Browse files Browse the repository at this point in the history
[master] Merge 3006.x into master
  • Loading branch information
s0undt3ch authored Oct 11, 2023
2 parents 74f02e8 + 0971af9 commit c187605
Show file tree
Hide file tree
Showing 130 changed files with 10,480 additions and 6,406 deletions.
151 changes: 49 additions & 102 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -1,112 +1,72 @@
codecov:
ci:
- jenkins.saltproject.io
- github.com

max_report_age: 24 # The age you want coverage reports to expire at, or if you
# want to disable this check. Expired reports will not be processed by codecov.
require_ci_to_pass: yes # Less spammy. Only notify on passing builds.
max_report_age: 72 # The age, in hours, you want coverage reports to expire at, or if you
# want to disable this check. Expired reports will not be processed by codecov.
require_ci_to_pass: false


# notify:
# after_n_builds: 25 # Only notify after N builds
# # This value is the output of:
# # sh -c 'echo "$(ls .ci/ | grep kitchen | wc -l)"'
# wait_for_ci: yes # Should Codecov wait for all CI statuses to complete before sending ours.
# # Note: Codecov considers all non-codecov statues to be CI statuses
notify:
wait_for_ci: true # Should Codecov wait for all CI statuses to complete before sending ours.
# Note: Codecov considers all non-codecov statuses to be CI statuses
# manual_trigger: true # We manually tell codecov to merge and process all uploaded coverage reports


ignore:
- ^*.py$ # python files at the repo root, ie, setup.py
- doc/.* # ignore any code under doc/
- salt/ext/.* # ignore any code under salt/ext
- ^*.py$ # python files at the repo root, ie, setup.py
- doc/.* # ignore any code under doc/
- salt/ext/.* # ignore any code under salt/ext

coverage:
round: up
range: 70..100
precision: 2

notify: {}
status: false
status:
project:
default:
target: auto # auto compares coverage to the previous base commit
threshold: 5% # adjust accordingly based on how flaky your tests are
# this allows a 5% drop from the previous base commit coverage
flags:
- salt
- tests

# status:
# project: # measuring the overall project coverage
# default:
# informational: true # Use Codecov in informational mode. Default is false. If true is specified the
# # resulting status will pass no matter what the coverage is or what other settings
# # are specified. Informational mode is great to use if you want to expose codecov
# # information to other developers in your pull request without necessarily gating
# # PRs on that information.
# target: auto # will use the coverage from the base commit (pull request base or parent commit) coverage to compare against.
# base: auto # will use the pull request base if the commit is on a pull request. If not, the parent commit will be used.
# flags:
# - salt
# - tests
# salt: # declare a new status context "salt"
# informational: true
# paths: "!tests/" # remove all files in "tests/"
# target: auto # will use the coverage from the base commit (pull request base or parent commit) coverage to compare against.
# base: auto # will use the pull request base if the commit is on a pull request. If not, the parent commit will be used.
# if_no_uploads: error # will post commit status of "error" if no coverage reports were uploaded
# # options: success, error, failure
# if_not_found: success # if parent is not found report status as success, error, or failure
# if_ci_failed: error # if ci fails report status as success, error, or failure
# flags:
# - salt
# tests: # declare a new status context "tests"
# informational: true
# #target: 100% # we always want 100% coverage here
# target: auto # auto while we get this going
# base: auto # will use the pull request base if the commit is on a pull request. If not, the parent commit will be used.
# paths: "!salt/" # only include coverage in "tests/" folder
# if_no_uploads: error # will post commit status of "error" if no coverage reports were uploaded
# # options: success, error, failure
# if_not_found: success # if parent is not found report status as success, error, or failure
# if_ci_failed: error # if ci fails report status as success, error, or failure
# flags:
# - tests
salt: # declare a new status context "salt"
paths:
- "!tests/" # remove all files in "tests/"
target: auto # will use the coverage from the base commit (pull request base or parent commit) coverage to compare against.
flags:
- salt

# patch: # pull requests only: this commit status will measure the
# # entire pull requests Coverage Diff. Checking if the lines
# # adjusted are covered at least X%.
# default:
# informational: true # Use Codecov in informational mode. Default is false. If true is specified the
# # resulting status will pass no matter what the coverage is or what other settings
# # are specified. Informational mode is great to use if you want to expose codecov
# # information to other developers in your pull request without necessarily gating
# # PRs on that information.
# target: 100% # Newly added lines must have 100% coverage
# if_no_uploads: error # will post commit status of "error" if no coverage reports were uploaded
# # options: success, error, failure
# if_not_found: success
# if_ci_failed: error
# flags:
# - salt
# - tests
tests: # declare a new status context "tests"
paths:
- "!salt/" # only include coverage in "tests/" folder
target: auto # auto while we get this going
flags:
- tests

# changes: # if there are any unexpected changes in coverage
# default:
# informational: true # Use Codecov in informational mode. Default is false. If true is specified the
# # resulting status will pass no matter what the coverage is or what other settings
# # are specified. Informational mode is great to use if you want to expose codecov
# # information to other developers in your pull request without necessarily gating
# # PRs on that information.
# if_no_uploads: error
# if_not_found: success
# if_ci_failed: error
# flags:
# - salt
# - tests
patch: # pull requests only: this commit status will measure the
# entire pull requests Coverage Diff. Checking if the lines
# adjusted are covered at least X%.
default:
target: auto # auto compares coverage to the previous base commit
threshold: 5% # adjust accordingly based on how flaky your tests are
# this allows a 5% drop from the previous base commit coverage

flags:
salt:
paths:
- salt/
carryforward: true # https://docs.codecov.io/docs/carryforward-flags
carryforward: true # https://docs.codecov.io/docs/carryforward-flags
tests:
paths:
- tests/
carryforward: true
pkg:
paths:
- pkg/tests
carryforward: true
unit:
paths:
- tests/unit
Expand All @@ -125,23 +85,10 @@ flags:
- tests/integration
- tests/pytests/integration
carryforward: true
system:
paths:
- tests/integration
- tests/pytests/integration
carryforward: true

#comment:
# layout: "reach, diff, flags, files"
# after_n_builds: 46 # Only comment on PRs after N builds
# # This value is the output of:
# # sh -c 'echo "$(ls .ci/ | grep kitchen | wc -l)"'
#
# behavior: new # Comment posting behaviour
# # default: update, if exists. Otherwise post new.
# # once: update, if exists. Otherwise post new. Skip if deleted.
# # new: delete old and post new.
# # spammy: post new (do not delete old comments).
#
# Disable Comments
comment: off
comment:
layout: "reach, diff, flags, files"
behavior: default # Comment posting behaviour
# default: update, if exists. Otherwise post new.
# once: update, if exists. Otherwise post new. Skip if deleted.
# new: delete old and post new.
9 changes: 8 additions & 1 deletion .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ relative_files = True
omit =
setup.py
.nox/*
source_pkgs =
pkg.tests
salt
tests
tools
disable_warnings = module-not-imported


[report]
# Regexes for lines to exclude from consideration
Expand All @@ -32,7 +39,7 @@ ignore_errors = True
[paths]
salt =
salt/
artifacts/salt
artifacts/salt/lib/python3.*/site-packages/salt
**/testing/salt/
**\testing\salt
tests =
Expand Down
16 changes: 9 additions & 7 deletions .github/actions/build-onedir-deps/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,15 @@ runs:
with:
path: artifacts/${{ inputs.package-name }}
key: >
${{ inputs.cache-prefix }}|${{ inputs.python-version }}|deps|${{ inputs.platform }}|${{ inputs.arch }}|${{ inputs.package-name }}|
${{ hashFiles(
format('{0}/.relenv/**/*.xz', github.workspace),
'requirements/static/pkg/*/*.txt',
'.github/actions/build-onedir-deps/action.yml',
'cicd/shared-gh-workflows-context.yml'
) }}
${{ inputs.cache-prefix }}|${{ inputs.python-version }}|deps|${{ inputs.platform }}|${{ inputs.arch }}|${{ inputs.package-name }}|${{
hashFiles(
format('{0}/.relenv/**/*.xz', github.workspace),
'requirements/static/pkg/*/*.txt',
'.github/actions/build-onedir-deps/action.yml',
'.github/workflows/build-deps-onedir-*.yml',
'cicd/shared-gh-workflows-context.yml'
)
}}
- name: Install Salt Onedir Package Dependencies
shell: bash
Expand Down
16 changes: 9 additions & 7 deletions .github/actions/build-onedir-salt/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,15 @@ runs:
with:
path: artifacts/${{ inputs.package-name }}
key: >
${{ inputs.cache-prefix }}|${{ inputs.python-version }}|deps|${{ inputs.platform }}|${{ inputs.arch }}|${{ inputs.package-name }}|
${{ hashFiles(
format('{0}/.relenv/**/*.xz', github.workspace),
'requirements/static/pkg/*/*.txt',
'.github/actions/build-onedir-deps/action.yml',
'cicd/shared-gh-workflows-context.yml'
) }}
${{ inputs.cache-prefix }}|${{ inputs.python-version }}|deps|${{ inputs.platform }}|${{ inputs.arch }}|${{ inputs.package-name }}|${{
hashFiles(
format('{0}/.relenv/**/*.xz', github.workspace),
'requirements/static/pkg/*/*.txt',
'.github/actions/build-onedir-deps/action.yml',
'.github/workflows/build-deps-onedir-*.yml',
'cicd/shared-gh-workflows-context.yml'
)
}}
- name: Download Source Tarball
uses: actions/download-artifact@v3
Expand Down
24 changes: 17 additions & 7 deletions .github/workflows/build-deb-packages.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: Build Debian Packages
name: Build DEB Packages

on:
workflow_call:
Expand All @@ -16,6 +16,17 @@ on:
required: true
type: string
description: The version of python to use with relenv
source:
required: true
type: string
description: The backend to build the packages with

env:
COLUMNS: 190
AWS_MAX_ATTEMPTS: "10"
AWS_RETRY_MODE: "adaptive"
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
PIP_EXTRA_INDEX_URL: https://pypi.org/simple

jobs:
build:
Expand All @@ -31,19 +42,18 @@ jobs:
- x86_64
- aarch64
source:
- onedir
- src
- ${{ inputs.source }}

container:
image: ghcr.io/saltstack/salt-ci-containers/packaging:debian-12

steps:
# Checkout here so we can easily use custom actions
- uses: actions/checkout@v3
- uses: actions/checkout@v4

# Checkout here for the build process
- name: Checkout in build directory
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path:
pkgs/checkout/
Expand Down Expand Up @@ -89,7 +99,7 @@ jobs:
working-directory: pkgs/checkout/
run: |
tools pkg build deb --relenv-version=${{ inputs.relenv-version }} --python-version=${{ inputs.python-version }} ${{
matrix.source == 'onedir' &&
inputs.source == 'onedir' &&
format('--onedir=salt-{0}-onedir-linux-{1}.tar.xz', inputs.salt-version, matrix.arch)
||
format('--arch={0}', matrix.arch)
Expand All @@ -102,7 +112,7 @@ jobs:
- name: Set Artifact Name
id: set-artifact-name
run: |
if [ "${{ matrix.source }}" != "src" ]; then
if [ "${{ inputs.source }}" != "src" ]; then
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-deb" >> "$GITHUB_OUTPUT"
else
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-deb-from-src" >> "$GITHUB_OUTPUT"
Expand Down
Loading

0 comments on commit c187605

Please sign in to comment.