Compare commits

...

3231 commits

Author SHA1 Message Date
Daniel Wozniak
f906ca5052
Merge pull request #67803 from dwoz/merge/master/3007.x
Some checks failed
CI / Prepare Workflow Run (push) Has been cancelled
CI / Pre-Commit (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / NSIS Tests (push) Has been cancelled
CI / Prepare Release: (push) Has been cancelled
CI / Documentation (push) Has been cancelled
CI / Build Source Tarball (push) Has been cancelled
CI / Build Salt Onedir (push) Has been cancelled
CI / Build Packages (push) Has been cancelled
CI / CI Deps (push) Has been cancelled
CI / Test Package (push) Has been cancelled
CI / Test Salt (push) Has been cancelled
CI / Combine Code Coverage (push) Has been cancelled
CI / Set the Pipeline Exit Status (push) Has been cancelled
Merge forward 3007.x into master
2025-03-08 04:21:26 -07:00
Daniel A. Wozniak
c5b39473ed Merge branch '3007.x' 2025-03-08 00:19:10 -07:00
Daniel Wozniak
f8ba8c2c62
Merge pull request #67801 from dwoz/merge/3007.x/3006.x
Some checks failed
CI / Prepare Workflow Run (push) Has been cancelled
CI / Pre-Commit (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / NSIS Tests (push) Has been cancelled
CI / Prepare Release: (push) Has been cancelled
CI / Documentation (push) Has been cancelled
CI / Build Source Tarball (push) Has been cancelled
CI / Build Salt Onedir (push) Has been cancelled
CI / Build Packages (push) Has been cancelled
CI / CI Deps (push) Has been cancelled
CI / Test Package (push) Has been cancelled
CI / Test Salt (push) Has been cancelled
CI / Combine Code Coverage (push) Has been cancelled
CI / Set the Pipeline Exit Status (push) Has been cancelled
Merge forward 3006.x into 3007.x
2025-03-07 23:36:44 -07:00
Daniel A. Wozniak
df17505fed fix merge wart 2025-03-07 16:04:17 -07:00
Daniel A. Wozniak
c695e0bcff Merge branch '3006.x' into merge/3007.x/3006.x 2025-03-07 15:05:05 -07:00
Daniel A. Wozniak
90c834fa5e Fix test tune_in is not a coroutine
Some checks are pending
CI / Prepare Workflow Run (push) Waiting to run
CI / Pre-Commit (push) Blocked by required conditions
CI / Lint (push) Blocked by required conditions
CI / NSIS Tests (push) Blocked by required conditions
CI / Prepare Release: (push) Blocked by required conditions
CI / Documentation (push) Blocked by required conditions
CI / Build Source Tarball (push) Blocked by required conditions
CI / Build Salt Onedir (push) Blocked by required conditions
CI / Build Packages (push) Blocked by required conditions
CI / CI Deps (push) Blocked by required conditions
CI / Test Package (push) Blocked by required conditions
CI / Test Salt (push) Blocked by required conditions
CI / Combine Code Coverage (push) Blocked by required conditions
CI / Set the Pipeline Exit Status (push) Blocked by required conditions
2025-03-07 14:31:36 -07:00
Daniel A. Wozniak
788b42db6f Less intrusive bugfix
I am totally on board with making tune_in asynchronous but we'll have to
address it in syndic and proxy minions too. As well as the corresponding
managers. This change is a bit less intrusive but achieves the same
end result.
2025-03-07 14:31:36 -07:00
Tim Hetkämper
1920e80a52 Add changelog file 2025-03-07 14:31:36 -07:00
Tim Hetkämper
edd5e2e4dd Fix missing await and async def
Fixes #66592
2025-03-07 14:31:36 -07:00
Tim Hetkämper
1c5b03f7be Add tests for minion config option startup_states 2025-03-07 14:31:36 -07:00
David Murphy
356f868571 Updated test 2025-03-07 14:26:00 -07:00
David Murphy
4115fc6b05 Refining test 2025-03-07 14:26:00 -07:00
David Murphy
1f36f79999 Refining tests 2025-03-07 14:26:00 -07:00
David Murphy
e355b483fe Corrected new test 2025-03-07 14:26:00 -07:00
David Murphy
fa295250af Updated tests and removed debugging statements 2025-03-07 14:26:00 -07:00
David Murphy
cb39a7d377 Debugging test 2025-03-07 14:26:00 -07:00
David Murphy
08b27c5c7c updated test 2025-03-07 14:26:00 -07:00
David Murphy
b2994a1538 more debugging tests 2025-03-07 14:26:00 -07:00
David Murphy
cccbe9eb5e Debugging test further 2025-03-07 14:26:00 -07:00
David Murphy
41fb26f49d debugging test 2025-03-07 14:26:00 -07:00
David Murphy
61392d0459 Updated debugging 2025-03-07 14:26:00 -07:00
David Murphy
0b7da42cd7 Updated test for client_cache 2025-03-07 14:26:00 -07:00
David Murphy
6429654363 Updating test 2025-03-07 14:26:00 -07:00
David Murphy
7639074fe5 Updated test file 2025-03-07 14:26:00 -07:00
David Murphy
aa981a52ca Conversion of tests/unit/utils/test_reactor.py to pytest 2025-03-07 14:26:00 -07:00
David Murphy
7fb8eb538b Ensure file clients for runner, wheel, local and caller are available from the client_cache if called upon 2025-03-07 14:26:00 -07:00
vzhestkov
1554e84f3a Add changelog entry
Some checks are pending
CI / Prepare Workflow Run (push) Waiting to run
CI / Pre-Commit (push) Blocked by required conditions
CI / Lint (push) Blocked by required conditions
CI / NSIS Tests (push) Blocked by required conditions
CI / Prepare Release: (push) Blocked by required conditions
CI / Documentation (push) Blocked by required conditions
CI / Build Source Tarball (push) Blocked by required conditions
CI / Build Onedir Dependencies (push) Blocked by required conditions
CI / Build Salt Onedir (push) Blocked by required conditions
CI / Build Packages (push) Blocked by required conditions
CI / CI Deps (push) Blocked by required conditions
CI / Test Package (push) Blocked by required conditions
CI / Test Salt (push) Blocked by required conditions
CI / Combine Code Coverage (push) Blocked by required conditions
CI / Set the Pipeline Exit Status (push) Blocked by required conditions
2025-03-07 14:24:59 -07:00
vzhestkov
1898c59db0 Add tests for multiple inventories with ansible.targets 2025-03-07 14:24:59 -07:00
vzhestkov
b51e75e540 Implement multiple inventory for ansible.targets 2025-03-07 14:24:59 -07:00
Daniel A. Wozniak
16064410f9 Add changelog for #66932
Some checks are pending
CI / Prepare Workflow Run (push) Waiting to run
CI / Pre-Commit (push) Blocked by required conditions
CI / Lint (push) Blocked by required conditions
CI / NSIS Tests (push) Blocked by required conditions
CI / Prepare Release: (push) Blocked by required conditions
CI / Documentation (push) Blocked by required conditions
CI / Build Source Tarball (push) Blocked by required conditions
CI / Build Salt Onedir (push) Blocked by required conditions
CI / Build Packages (push) Blocked by required conditions
CI / CI Deps (push) Blocked by required conditions
CI / Test Package (push) Blocked by required conditions
CI / Test Salt (push) Blocked by required conditions
CI / Combine Code Coverage (push) Blocked by required conditions
CI / Set the Pipeline Exit Status (push) Blocked by required conditions
2025-03-07 00:52:57 -07:00
Daniel A. Wozniak
97ea9a11fb Add test specific to minion start event 2025-03-07 00:52:57 -07:00
Daniel A. Wozniak
8e28d02e2f Fix another round of coroutines being called incorrectly 2025-03-07 00:52:57 -07:00
Daniel A. Wozniak
05b01e268d Update relenv to 0.18.1
Some checks are pending
CI / Prepare Workflow Run (push) Waiting to run
CI / Pre-Commit (push) Blocked by required conditions
CI / Lint (push) Blocked by required conditions
CI / NSIS Tests (push) Blocked by required conditions
CI / Prepare Release: (push) Blocked by required conditions
CI / Documentation (push) Blocked by required conditions
CI / Build Source Tarball (push) Blocked by required conditions
CI / Build Salt Onedir (push) Blocked by required conditions
CI / Build Packages (push) Blocked by required conditions
CI / CI Deps (push) Blocked by required conditions
CI / Test Package (push) Blocked by required conditions
CI / Test Salt (push) Blocked by required conditions
CI / Combine Code Coverage (push) Blocked by required conditions
CI / Set the Pipeline Exit Status (push) Blocked by required conditions
2025-03-06 23:01:54 -07:00
Daniel A. Wozniak
87dd674da2 Add changelog for updated dependencies 2025-03-06 22:20:11 -07:00
Daniel A. Wozniak
bf0c1331d5 Update requirements to account for cves
Name         Version ID                  Fix Versions
------------ ------- ------------------- -------------
jinja2       3.1.4   GHSA-q2x7-8rv6-6q7h 3.1.5
jinja2       3.1.4   GHSA-gmj6-6f8f-6699 3.1.5
urllib3      1.26.18 GHSA-34jh-p97f-mpxf 1.26.19,2.2.2
2025-03-06 22:20:11 -07:00
Daniel A. Wozniak
65e40daf00 Remove dead code 2025-03-06 22:19:26 -07:00
Daniel A. Wozniak
9dcb3de8e8 Clean up cruft 2025-03-06 22:19:26 -07:00
Daniel A. Wozniak
48f824af65 Remove onedir deps step 2025-03-06 22:19:26 -07:00
Daniel A. Wozniak
3f96a2cde3 Add USE_S3_CACHE environment to linux and mac 2025-03-06 22:19:26 -07:00
Daniel A. Wozniak
8c725027db Consolidate onedir deps and onedir actions 2025-03-06 22:19:26 -07:00
David Murphy
a83582cab1 Updated dnf list tests for option --upgrades
Some checks are pending
CI / Prepare Workflow Run (push) Waiting to run
CI / Pre-Commit (push) Blocked by required conditions
CI / Lint (push) Blocked by required conditions
CI / NSIS Tests (push) Blocked by required conditions
CI / Prepare Release: (push) Blocked by required conditions
CI / Documentation (push) Blocked by required conditions
CI / Build Source Tarball (push) Blocked by required conditions
CI / Build Onedir Dependencies (push) Blocked by required conditions
CI / Build Salt Onedir (push) Blocked by required conditions
CI / Build Packages (push) Blocked by required conditions
CI / CI Deps (push) Blocked by required conditions
CI / Test Package (push) Blocked by required conditions
CI / Test Salt (push) Blocked by required conditions
CI / Combine Code Coverage (push) Blocked by required conditions
CI / Set the Pipeline Exit Status (push) Blocked by required conditions
2025-03-06 13:45:36 -07:00
David Murphy
7d93923b1a corrected dnf5 option --downloadonly for dnf5 install 2025-03-06 13:45:36 -07:00
David Murphy
17b15c9fc2 Added changelog for 67743 2025-03-06 13:45:36 -07:00
David Murphy
17c1c7a0bb Corrected option --upgrades for dnf[5] for function list_upgrades 2025-03-06 13:45:36 -07:00
David Murphy
3a852d18f6 Restored dnf5 install --downloadonly option 2025-03-06 13:45:36 -07:00
David Murphy
cd04e6f2f9 Updated hardcoded /var/cache/yum to use appropriate cache value provided by platform, for example /var/cache/dnf 2025-03-06 13:45:36 -07:00
David Murphy
e98ecbc0d6 Replace hardcoded yum path in /var/cache to allow for dnf[5] 2025-03-06 13:45:36 -07:00
David Murphy
b01ae2ce28 Correct typo 2025-03-06 13:45:36 -07:00
David Murphy
002d02a5e7 Added support and tests for dnf5 to services_need_restart for yum packages 2025-03-06 13:45:36 -07:00
David Murphy
59ddf3cf88 Backport of dnf5 support from 3007 to 3006 2025-03-06 13:45:36 -07:00
twangboy
bf00196748 Only run powershell tests on Windows 2025-03-06 13:45:16 -07:00
twangboy
f8596ba15c Whitelist the test for Windows 2025-03-06 13:45:16 -07:00
twangboy
c2bb925bc6 Fix checking retcodes with runas on Windows 2025-03-06 13:45:16 -07:00
twangboy
b128203e9c Pass lastexitcode through to retcode 2025-03-06 13:45:16 -07:00
twangboy
8663f32962 Fix hanging test 2025-03-06 13:45:16 -07:00
twangboy
0d47d91006 Add some troubleshooting code 2025-03-06 13:45:16 -07:00
twangboy
8c8792d81b Use cmd /c with runas on Windows to allow compound commands 2025-03-06 13:45:16 -07:00
twangboy
ab9e02a1a9 Fix hanging test 2025-03-06 13:45:16 -07:00
twangboy
4524d8a54a Add some troubleshooting code 2025-03-06 13:45:16 -07:00
twangboy
af906c795e use whoami in the tests 2025-03-06 13:45:16 -07:00
twangboy
61890f79af Suppress stacktrace with runas with no password 2025-03-06 13:45:16 -07:00
twangboy
905f8c9826 Add try to the keywords list 2025-03-06 13:45:16 -07:00
twangboy
aeecd6b7b2 Use cmd /c with runas on Windows to allow compound commands 2025-03-06 13:45:16 -07:00
David Murphy
c44e8e3a66 Removed dependency on bsdmainutils package for Debian and Ubuntu 2025-03-06 13:39:39 -07:00
twangboy
4fa83b77a4 Fix some failing tests
Some checks failed
CI / Prepare Workflow Run (push) Has been cancelled
CI / Pre-Commit (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / NSIS Tests (push) Has been cancelled
CI / Prepare Release: (push) Has been cancelled
CI / Documentation (push) Has been cancelled
CI / Build Source Tarball (push) Has been cancelled
CI / Build Onedir Dependencies (push) Has been cancelled
CI / Build Salt Onedir (push) Has been cancelled
CI / Build Packages (push) Has been cancelled
CI / CI Deps (push) Has been cancelled
CI / Test Package (push) Has been cancelled
CI / Test Salt (push) Has been cancelled
CI / Combine Code Coverage (push) Has been cancelled
CI / Set the Pipeline Exit Status (push) Has been cancelled
2025-03-05 11:42:07 -07:00
Twangboy
dd2c86d844 Add list_repo_pkgs to win_pkg module 2025-03-05 11:42:07 -07:00
twangboy
adf62acf9c Update Windows build scripts 2025-03-05 11:41:32 -07:00
Twangboy
685d330cc0 Fix some lint
Some checks failed
CI / Prepare Workflow Run (push) Has been cancelled
CI / Pre-Commit (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / NSIS Tests (push) Has been cancelled
CI / Prepare Release: (push) Has been cancelled
CI / Documentation (push) Has been cancelled
CI / Build Source Tarball (push) Has been cancelled
CI / Build Onedir Dependencies (push) Has been cancelled
CI / Build Salt Onedir (push) Has been cancelled
CI / Build Packages (push) Has been cancelled
CI / CI Deps (push) Has been cancelled
CI / Test Package (push) Has been cancelled
CI / Test Salt (push) Has been cancelled
CI / Combine Code Coverage (push) Has been cancelled
CI / Set the Pipeline Exit Status (push) Has been cancelled
2025-02-28 02:47:47 -07:00
Twangboy
680f27f9b8 Fix stacktrace with unmapped account names 2025-02-28 02:47:47 -07:00
Daniel A. Wozniak
2b41383e2b Allow pre-commit to be cancelled sooner 2025-02-28 02:46:54 -07:00
Georg Pfuetzenreuter
24a58e8211 Set virtual grain in Podman systemd container
Some checks failed
CI / Prepare Workflow Run (push) Has been cancelled
CI / Pre-Commit (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / NSIS Tests (push) Has been cancelled
CI / Prepare Release: (push) Has been cancelled
CI / Documentation (push) Has been cancelled
CI / Build Source Tarball (push) Has been cancelled
CI / Build Onedir Dependencies (push) Has been cancelled
CI / Build Salt Onedir (push) Has been cancelled
CI / Build Packages (push) Has been cancelled
CI / CI Deps (push) Has been cancelled
CI / Test Package (push) Has been cancelled
CI / Test Salt (push) Has been cancelled
CI / Combine Code Coverage (push) Has been cancelled
CI / Set the Pipeline Exit Status (push) Has been cancelled
Correctly handle the systemd-detect-virt output to identify a Podman
container running systemd as what it is instead of as a physical machine.

Signed-off-by: Georg Pfuetzenreuter <georg.pfuetzenreuter@suse.com>
2025-02-26 14:04:01 -07:00
Daniel A. Wozniak
0ad9b3beee Update workflows to work with actionlint version
Some checks failed
CI / Prepare Workflow Run (push) Has been cancelled
CI / Pre-Commit (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / NSIS Tests (push) Has been cancelled
CI / Prepare Release: (push) Has been cancelled
CI / Documentation (push) Has been cancelled
CI / Build Source Tarball (push) Has been cancelled
CI / Build Onedir Dependencies (push) Has been cancelled
CI / Build Salt Onedir (push) Has been cancelled
CI / Build Packages (push) Has been cancelled
CI / CI Deps (push) Has been cancelled
CI / Test Package (push) Has been cancelled
CI / Test Salt (push) Has been cancelled
CI / Combine Code Coverage (push) Has been cancelled
CI / Set the Pipeline Exit Status (push) Has been cancelled
2025-02-26 02:48:08 -07:00
Daniel A. Wozniak
9a9b8f8fc3 Update action lint version
Some checks are pending
CI / Prepare Workflow Run (push) Waiting to run
CI / Pre-Commit (push) Blocked by required conditions
CI / Lint (push) Blocked by required conditions
CI / NSIS Tests (push) Blocked by required conditions
CI / Prepare Release: (push) Blocked by required conditions
CI / Documentation (push) Blocked by required conditions
CI / Build Source Tarball (push) Blocked by required conditions
CI / Build Onedir Dependencies (push) Blocked by required conditions
CI / Build Salt Onedir (push) Blocked by required conditions
CI / Build Packages (push) Blocked by required conditions
CI / CI Deps (push) Blocked by required conditions
CI / Test Package (push) Blocked by required conditions
CI / Test Salt (push) Blocked by required conditions
CI / Combine Code Coverage (push) Blocked by required conditions
CI / Set the Pipeline Exit Status (push) Blocked by required conditions
2025-02-26 00:19:07 -07:00
Daniel A. Wozniak
cbaf7a241e Fix nightly prepare workflow check 2025-02-25 22:56:16 -07:00
Daniel A. Wozniak
f134da8acf fix typo 2025-02-25 22:28:42 -07:00
Daniel A. Wozniak
9338d94bd4 Fix var context 2025-02-25 22:22:50 -07:00
Daniel A. Wozniak
b22adbaf59 Fix up app token 2025-02-25 22:21:43 -07:00
Daniel A. Wozniak
44d666791e Add workflow job environment 2025-02-25 22:06:17 -07:00
Daniel A. Wozniak
4e3eb1455e Refactor nightly 2025-02-25 22:04:22 -07:00
Daniel A. Wozniak
bac3653e2f Check workflow finished syntax 2025-02-25 19:31:55 -07:00
Daniel A. Wozniak
53a7e67f36 Pull in workflow changes from master
Some checks failed
CI / Prepare Workflow Run (push) Has been cancelled
CI / Pre-Commit (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / NSIS Tests (push) Has been cancelled
CI / Prepare Release: (push) Has been cancelled
CI / Documentation (push) Has been cancelled
CI / Build Source Tarball (push) Has been cancelled
CI / Build Onedir Dependencies (push) Has been cancelled
CI / Build Salt Onedir (push) Has been cancelled
CI / Build Packages (push) Has been cancelled
CI / CI Deps (push) Has been cancelled
CI / Test Package (push) Has been cancelled
CI / Test Salt (push) Has been cancelled
CI / Combine Code Coverage (push) Has been cancelled
CI / Set the Pipeline Exit Status (push) Has been cancelled
2025-02-25 16:45:35 -07:00
Daniel A. Wozniak
d09a741c4e Pull in restart workflow changes from master
Some checks are pending
CI / Prepare Workflow Run (push) Waiting to run
CI / Pre-Commit (push) Blocked by required conditions
CI / Lint (push) Blocked by required conditions
CI / NSIS Tests (push) Blocked by required conditions
CI / Prepare Release: (push) Blocked by required conditions
CI / Documentation (push) Blocked by required conditions
CI / Build Source Tarball (push) Blocked by required conditions
CI / Build Onedir Dependencies (push) Blocked by required conditions
CI / Build Salt Onedir (push) Blocked by required conditions
CI / Build Packages (push) Blocked by required conditions
CI / CI Deps (push) Blocked by required conditions
CI / Test Package (push) Blocked by required conditions
CI / Test Salt (push) Blocked by required conditions
CI / Combine Code Coverage (push) Blocked by required conditions
CI / Set the Pipeline Exit Status (push) Blocked by required conditions
2025-02-25 16:15:12 -07:00
David Murphy
c16232efad Getting nightly builds running again for 3006.x 2025-02-25 16:00:34 -07:00
Daniel A. Wozniak
5e19e2db18 more pre-commmit fixes 2025-02-21 03:05:01 -07:00
Sam Cole
4c1b4236b3 Fix incorrect formatting for code block 2025-02-21 02:32:27 -07:00
Daniel A. Wozniak
9a3d947760 Try different syntax for workflow and branches 2025-02-21 00:01:22 -07:00
Daniel A. Wozniak
b5b850167b Fix pre-commit 2025-02-20 23:50:36 -07:00
David Murphy
3f2b63f5bc Added blank line to force rebuild 2025-02-20 14:40:58 -07:00
David Murphy
e9895ca480 Revert change, wrong issue branch was used 2025-02-20 14:40:58 -07:00
David Murphy
4fe15bc4fa Attempt to use python3 provided by relenv 2025-02-20 14:40:58 -07:00
David Murphy
81885bace3 Added changelog entry 2025-02-20 14:40:58 -07:00
David Murphy
784dea3884 Restored support for Python 3.9 to test if build now completes successfully 2025-02-20 14:40:58 -07:00
David Murphy
17d2ceb2e8 Removing support for Python 3.7, 3.8 nd 3.9 from pre-commit 2025-02-20 14:40:58 -07:00
Daniel Wozniak
fa82e19f2b
Merge pull request #67756 from dmurphy18/fix_changelog
Corrected the issue number for changelog file
2025-02-20 09:59:26 -07:00
David Murphy
3b4094073e
Corrected the issue number for changelog file 2025-02-20 07:56:01 -07:00
Daniel Wozniak
c212603305
Merge pull request #67152 from hurzhurz/fix-yumpkg
[3006.x] fix yumpkg for Python <3.8
2025-02-20 02:42:23 -07:00
Daniel Wozniak
1cd6139479
Merge pull request #67745 from dwoz/merge/master/3007.x
Merge forward 3007.x into master
2025-02-19 20:15:21 -07:00
Daniel A. Wozniak
643c26f351 Allow workflows to be more easily (and quickly) cancelled 2025-02-19 16:10:17 -07:00
Daniel A. Wozniak
2d2f829920 More ssh test skips on python < 3.9 2025-02-19 14:51:29 -07:00
David Murphy
1d4c12ec3b Allow slash '/' in git branch names and traverse git branches using os.walk 2025-02-19 14:36:24 -07:00
David Murphy
e120c04617 Drop replacing slash in git branch name 2025-02-19 14:36:24 -07:00
David Murphy
2dbbcb5ed1 Fix tech-debt for Git Pillar data with os.walk 2025-02-19 14:36:24 -07:00
Daniel A. Wozniak
d9652b9a1c m 2025-02-19 10:45:53 -07:00
Daniel A. Wozniak
fc0b20e657 More ssh test fixes
- Fix thin dir unit tests after distro change revert
- Skip any tests that require system python of 3.9 or higher
2025-02-19 00:26:32 -07:00
Daniel A. Wozniak
2404b3222c Skip tests that require newer python 2025-02-18 21:00:17 -07:00
Daniel A. Wozniak
e899bf426e Better check for downgrade tests 2025-02-18 20:39:38 -07:00
Daniel A. Wozniak
15fafec88e Fix pre-commit 2025-02-18 18:49:17 -07:00
Daniel A. Wozniak
4725d274dc Remove environment variables 2025-02-18 18:31:03 -07:00
Daniel A. Wozniak
88a3dabf7b Try removing some environment variables 2025-02-18 18:31:03 -07:00
Daniel A. Wozniak
fe2eefccfb remove pip env vars 2025-02-18 18:31:03 -07:00
Daniel A. Wozniak
c59bd42e60 Fix environment variables when using docker exec 2025-02-18 18:31:03 -07:00
Daniel A. Wozniak
99871bef43 test reverted change 2025-02-18 18:31:03 -07:00
Daniel A. Wozniak
68f4107bdb Add ssh command 2025-02-18 18:31:03 -07:00
Daniel A. Wozniak
fabaa0fb0a Fix environment for arm linux 2025-02-18 18:31:03 -07:00
Daniel A. Wozniak
ad1b07728b Fix up container create 2025-02-18 18:31:03 -07:00
Daniel A. Wozniak
5dfc7f710f Fix container name for package tests 2025-02-18 18:31:03 -07:00
Daniel A. Wozniak
06f6251b63 use name 2025-02-18 18:31:03 -07:00
Daniel A. Wozniak
bb7ebb38e4 Setup python tools before creating container 2025-02-18 18:31:03 -07:00
Daniel A. Wozniak
3219011dfb use tools to create container 2025-02-18 18:31:03 -07:00
Daniel A. Wozniak
cecf31f29b Add cache prefix 2025-02-18 18:31:03 -07:00
Daniel A. Wozniak
4c8ca3062c Add container tool 2025-02-18 18:31:03 -07:00
Daniel A. Wozniak
5f941f75bb Cleanly exit rtcforward 2025-02-18 18:31:03 -07:00
Daniel A. Wozniak
e73182646d Use the ip6netnetwork we created 2025-02-18 18:31:03 -07:00
hurzhurz
634d5d11df fix yumpkg for Python <3.8 2025-02-18 18:15:13 -07:00
Daniel A. Wozniak
198758a47b Mark test that needs system python 3.8 2025-02-18 18:02:52 -07:00
Daniel A. Wozniak
7002d97afd Install correct dependencies 2025-02-18 15:52:06 -07:00
Daniel A. Wozniak
51296c7f23 Break out PRs to separate workflow 2025-02-18 15:51:44 -07:00
Daniel A. Wozniak
a37021e6b4 Break out PRs to separate workflow 2025-02-18 13:46:36 -07:00
Daniel A. Wozniak
bc007e3c55 Break out PRs to separate workflow 2025-02-18 13:46:02 -07:00
Daniel A. Wozniak
0ce2fc6fde Break out PRs to separate workflow 2025-02-18 13:42:26 -07:00
Daniel A. Wozniak
42d977aa70 Use mysql module for downgrade test 2025-02-18 13:37:12 -07:00
Daniel A. Wozniak
4070ed2e06 Only include distro on py3 2025-02-18 13:26:54 -07:00
Daniel A. Wozniak
2c93bc3d23 Add pkg-config and mysql to mac deps 2025-02-18 02:58:25 -07:00
Daniel A. Wozniak
dc6796d2fd Test fixes 2025-02-18 01:07:41 -07:00
Daniel A. Wozniak
3701105a59 Fix another thin dir unit test 2025-02-17 23:39:07 -07:00
Daniel A. Wozniak
d0361b7434 Fix downgrade module check 2025-02-17 23:22:40 -07:00
Daniel A. Wozniak
9f1c62a847 Test package download test fix 2025-02-17 19:49:24 -07:00
Daniel A. Wozniak
31e125f09e Multiple ssh tests fixed 2025-02-17 19:33:07 -07:00
Daniel A. Wozniak
a3b79144c1 Fix ssh and cmd mod tests 2025-02-17 15:44:26 -07:00
Daniel A. Wozniak
1cae35984d Remove branches from workflow-finished 2025-02-17 14:05:54 -07:00
Daniel A. Wozniak
44e4a1ef7d Remove branches from workflow-finished 2025-02-17 14:03:56 -07:00
Daniel A. Wozniak
d3401c0c52 Remove branches from workflow-finished 2025-02-17 14:02:31 -07:00
Daniel A. Wozniak
9adaf73fa6 Remove branches from workflow-finished 2025-02-17 14:01:07 -07:00
Daniel A. Wozniak
fc0c0dd3b1 salt.profile.output has been removed 2025-02-17 00:24:49 -07:00
Daniel A. Wozniak
86c7e1f5c9 Remove cruft 2025-02-17 00:16:13 -07:00
Daniel A. Wozniak
a017805680 Merge remote-tracking branch 'saltstack/3007.x' into merge/master/3007.x 2025-02-17 00:09:58 -07:00
Daniel Wozniak
64a91d459f
Merge pull request #67209 from dwoz/merge/3007.x/3006.x
Merge forward 3006.x to 3007.x
2025-02-16 21:21:47 -07:00
Daniel A. Wozniak
3ea2573906 Define branches for workflow finished 2025-02-16 21:10:32 -07:00
Daniel A. Wozniak
3be907b608 Pull in workflow-finished changes from 3006.x 2025-02-16 18:52:49 -07:00
Daniel A. Wozniak
d2551346f3 Fix pkg testrun log artifacts name 2025-02-16 18:33:40 -07:00
Daniel A. Wozniak
7b74517da5 Test fixes 2025-02-16 17:09:17 -07:00
Daniel A. Wozniak
4e78a0e233 meh 2025-02-16 01:57:31 -07:00
Daniel A. Wozniak
f02cb2efbe Make sure events are handled concurrently 2025-02-15 14:06:28 -07:00
Daniel A. Wozniak
9eb019278a Account for api change 2025-02-14 16:01:17 -07:00
Daniel A. Wozniak
0140f6fd46 Add timeout for connect 2025-02-14 16:00:57 -07:00
Daniel A. Wozniak
d625eaeea8 Merge branch '3006.x' into merge/3007.x/3006.x-last-merge 2025-02-14 01:23:02 -07:00
Daniel A. Wozniak
59ab018e0f Fix spelling error 2025-02-12 16:58:48 -07:00
Joe Groocock
dcf37bda37 Use Current ioloop in SyncWrapper
A new ioloop is created for each SyncWrapper, but is not swapped in
automatically (see make_current=False for Tornado) anymore - this means
that the context manager (current_ioloop) is needed to access that
ioloop for the purposes of the synchronus execution.

Signed-off-by: Joe Groocock <jgroocock@cloudflare.com>
2025-02-12 16:58:48 -07:00
Daniel A. Wozniak
f6db09f724 Fix up log levels 2025-02-12 16:58:48 -07:00
Daniel A. Wozniak
06a9a3ab96 Fix pre-commit 2025-02-12 16:58:48 -07:00
Daniel A. Wozniak
d714a112b5 Fix unit test failures 2025-02-12 16:58:48 -07:00
Daniel A. Wozniak
e1056ccf39 Add some debug log statements 2025-02-12 16:58:48 -07:00
Daniel A. Wozniak
05cd683eab Fix flaky multi-master test
Run event handlers for all master's in parallel. Otherwise, one handler
could block the other from running in a timely manner.
2025-02-12 16:58:48 -07:00
Daniel A. Wozniak
6dcb7182b3 Do not alow get_event to run with async subscriber 2025-02-12 16:58:48 -07:00
Daniel A. Wozniak
f6aa6ff807 Initial commit of large event fix 2025-02-12 16:58:48 -07:00
Daniel A. Wozniak
66e46a32d8 Add regression test for #66562 2025-02-12 16:58:48 -07:00
Daniel A. Wozniak
0820ee84b0 Remove unused code 2025-02-11 16:48:37 -07:00
Daniel A. Wozniak
4081406715 Github variables wont do the trick 2025-02-11 16:48:37 -07:00
Twangboy
91dc936543 Fix failing tests 2025-02-11 15:07:32 -07:00
Twangboy
fb658a369b fix lint 2025-02-11 15:07:32 -07:00
Twangboy
ec49ec72c8 Add changelog 2025-02-11 15:07:32 -07:00
Twangboy
49950e7a25 Handle AllowInboundRules when setting firewall 2025-02-11 15:07:32 -07:00
twangboy
bd20c5117d Add install guide link and repo urls 2025-02-11 15:07:12 -07:00
ScriptAutomate
31a3e157f4 Update various out-dated links, emails, etc. 2025-02-11 15:07:12 -07:00
twangboy
4a6bd863e8 Change repo.saltproject.io to new url 2025-02-11 15:07:12 -07:00
David Murphy
c2f129ac58 Add back accidentially deleted pkg sub-dir. 2025-02-10 15:26:36 -07:00
David Murphy
3aec32f675 Remove artifacts change to .gitignore 2025-02-10 15:26:36 -07:00
David Murphy
39cebf6f1d Update for reviewer comments, and add artifacts to git ignore 2025-02-10 15:26:36 -07:00
David Murphy
a7f38d9473 Correct dictionary format returned in test 2025-02-10 15:26:36 -07:00
David Murphy
06d813285d Add test support for slash embedded in git branch name when using pillar 2025-02-10 15:26:36 -07:00
David Murphy
ccdc5bb138 Removed debugging statements 2025-02-10 15:26:36 -07:00
David Murphy
092ce44978 More debugging 2025-02-10 15:26:36 -07:00
David Murphy
368ee2ac38 More debugging on pygit2 2025-02-10 15:26:36 -07:00
David Murphy
5779722440 Fixed debugging test 2025-02-10 15:26:36 -07:00
David Murphy
c346ebaad4 Fix modified debug test 2025-02-10 15:26:36 -07:00
David Murphy
d0231f33ee Added debugging outputs 2025-02-10 15:26:36 -07:00
David Murphy
b0029609ab WIP - Generate a rebuild to test gitfs pillar 2025-02-10 15:26:36 -07:00
Daniel A. Wozniak
971458eb6d Add more workflows to restart 2025-02-09 16:55:23 -07:00
Daniel A. Wozniak
cea608be9f Increase request timeout 2025-02-06 23:44:28 -07:00
Daniel A. Wozniak
fe28c55227 Fix tests referencing repo.saltproject.io 2025-02-06 20:48:58 -07:00
Daniel A. Wozniak
be25fb8f7e Branch build fix 2025-02-06 15:06:58 -07:00
Daniel A. Wozniak
65dff0ba98 Test fixup
- Actually fix cluster key rotate test by useing getpass module.
- Skip a test that won't pass because amazon linux 2 systemd is not
  fully working in a container.
2025-02-05 19:25:46 -07:00
Daniel A. Wozniak
98a0673eca Fix pre-commit and lint 2025-02-05 18:24:45 -07:00
Daniel A. Wozniak
ed8a0e0d9c Cluster scenario fix 2025-02-05 17:50:58 -07:00
Daniel A. Wozniak
2b44a6ce9a Add requested slugs 2025-02-05 14:13:12 -07:00
Daniel A. Wozniak
be450ab3f1 Skip jobs when they are not needed 2025-02-05 14:13:12 -07:00
Daniel A. Wozniak
d9167652e5 Clean up if syntax 2025-02-05 14:13:12 -07:00
Daniel A. Wozniak
7ca0312ae2 Allow configuration of which slugs to run 2025-02-05 14:13:12 -07:00
Daniel A. Wozniak
ee49042a0f show testrun for debug 2025-02-05 14:13:12 -07:00
Daniel A. Wozniak
3d240a12d7 fix output step name 2025-02-05 14:13:12 -07:00
Daniel A. Wozniak
9198bac5e9 syntax fix 2025-02-05 14:13:12 -07:00
Daniel A. Wozniak
2043789125 Wean off define testrun 2025-02-05 14:13:12 -07:00
Twangboy
4719725412
Fix test.managed on Windows 2025-02-05 14:08:41 -07:00
Twangboy
9619b980c7
Fix line endings for Windows 2025-02-05 13:41:48 -07:00
Daniel A. Wozniak
029b96c996 Fix nightly 2025-02-04 23:33:44 -07:00
Daniel A. Wozniak
d72fb55597 workflows pre-commit 2025-02-04 23:31:22 -07:00
Daniel A. Wozniak
21df2a121d Remove deleted job from needs 2025-02-04 15:36:43 -07:00
Daniel A. Wozniak
edfb640fe3 Fix syntax 2025-02-04 15:36:43 -07:00
Daniel A. Wozniak
31fe2b2222 Fix exit status 2025-02-04 15:36:43 -07:00
Daniel A. Wozniak
54b277a971 Add environment for gh cli 2025-02-04 15:36:43 -07:00
Daniel A. Wozniak
15cd75bdef Add shell to step 2025-02-04 15:36:43 -07:00
Daniel A. Wozniak
df5997c400 Fix shellcheck 2025-02-04 15:36:43 -07:00
Daniel A. Wozniak
461e41fc11 Pull in new retry logic from master 2025-02-04 15:36:43 -07:00
Twangboy
b4bf3c355f
Fix ssm issue on 32bit windows 2025-02-04 11:51:34 -07:00
Daniel A. Wozniak
54768968f1 Let our if logic determin what step will run 2025-02-03 17:50:01 -07:00
Daniel A. Wozniak
37029cf8ae Add more context to display name 2025-02-03 16:56:57 -07:00
Daniel A. Wozniak
fcb47925e8 ssh debug only runs on workflow dispatch 2025-02-03 16:10:19 -07:00
Daniel A. Wozniak
76cb758f64 Add environment for gh cli 2025-02-03 16:07:20 -07:00
Daniel A. Wozniak
045bb73f0d Fix shellcheck 2025-02-03 15:40:48 -07:00
Daniel A. Wozniak
b3ae80492e Better way of restarting failed jobs 2025-02-03 14:42:15 -07:00
Twangboy
240f0c3069
Fix Windows Builds for 3007.x merge forward 2025-02-03 13:15:02 -07:00
Daniel A. Wozniak
98dd3e89ba look back one day 2025-02-03 01:38:54 -07:00
Daniel A. Wozniak
739608e428 Increase time 2025-02-03 01:23:50 -07:00
Daniel A. Wozniak
6c4053572b Do not fail on invalid workflow 2025-02-03 01:17:06 -07:00
Daniel A. Wozniak
050a7f0a3f Better fix for retry-workflow 2025-02-03 01:12:43 -07:00
Daniel A. Wozniak
d173c1d3c1 Take a different approach to workflow retry 2025-02-03 00:15:31 -07:00
Daniel A. Wozniak
9b8078a53b Remove early failure 2025-02-02 15:17:58 -07:00
Daniel A. Wozniak
f6c9181c2e Allow workflow disptach 2025-02-02 15:17:58 -07:00
Daniel A. Wozniak
d4cc7327ec quicker failure 2025-02-02 15:17:58 -07:00
Daniel A. Wozniak
1b8130e913 Introduce early failure 2025-02-02 15:17:58 -07:00
Daniel A. Wozniak
5aa82db68a workflow retry logic 2025-02-02 15:17:58 -07:00
Daniel A. Wozniak
7c95b78604 Fix debug option 2025-02-01 03:06:00 -07:00
Daniel A. Wozniak
90fdf4ed28 Fix debug option 2025-02-01 03:05:47 -07:00
Daniel A. Wozniak
9c4d258767 Add debug option to ssh-debug workflow 2025-02-01 02:54:30 -07:00
Daniel A. Wozniak
2957342d89 Pull in fixes from 3006.x 2025-02-01 02:54:30 -07:00
Daniel A. Wozniak
63f8d5792f Add debug option to ssh-debug workflow 2025-02-01 02:52:05 -07:00
Daniel A. Wozniak
3597c8d5df Add debug to ssh tunnel workflow 2025-02-01 02:52:05 -07:00
Daniel A. Wozniak
e39d84ac38 Fix pre-commit 2025-02-01 02:24:08 -07:00
Daniel A. Wozniak
800f33362d add readme 2025-02-01 02:24:08 -07:00
Daniel A. Wozniak
e67e43ebe2 Print output when message received 2025-02-01 02:24:08 -07:00
Daniel A. Wozniak
1202852c4b Fix ssh load and unload on macos 2025-02-01 02:24:08 -07:00
Daniel A. Wozniak
08844f7388 separate mac command 2025-02-01 02:24:08 -07:00
Daniel A. Wozniak
2ebf81af42 macOS fixes 2025-02-01 02:24:08 -07:00
Daniel A. Wozniak
d6d9484a0c Fix paths to scripts 2025-02-01 01:05:09 -07:00
Daniel A. Wozniak
4d8e7021ed use push instead of pull_request 2025-01-31 15:58:00 -07:00
Daniel A. Wozniak
d59d7fd3a5 Fix pull event name 2025-01-31 15:58:00 -07:00
Daniel A. Wozniak
f48d651cc0 Add pull until merged foward 2025-01-31 15:58:00 -07:00
Daniel A. Wozniak
3239abeec1 Fix runner 2025-01-31 15:58:00 -07:00
Daniel A. Wozniak
9d11b81a40 Add run name 2025-01-31 15:58:00 -07:00
Daniel A. Wozniak
fdbb239702 Fix workflow 2025-01-31 15:58:00 -07:00
Daniel A. Wozniak
a1b9ca6e2f Initial commit of ssh debug workflow 2025-01-31 15:58:00 -07:00
Daniel A. Wozniak
0a1a89c149 Pull in pkg/windows/prep_salt.ps1 from 3006.x 2025-01-31 15:45:19 -07:00
Daniel A. Wozniak
3add99aa12 use push instead of pull_request 2025-01-31 15:38:05 -07:00
Daniel A. Wozniak
bdcac9e38b Fix pull event name 2025-01-31 15:38:05 -07:00
Daniel A. Wozniak
4466cd0035 Add pull until merged foward 2025-01-31 15:38:05 -07:00
Daniel A. Wozniak
f3cd64cd1e Fix runner 2025-01-31 15:38:05 -07:00
Daniel A. Wozniak
d658154449 Add run name 2025-01-31 15:38:05 -07:00
Daniel A. Wozniak
7afd7649f5 Fix workflow 2025-01-31 15:38:05 -07:00
Daniel A. Wozniak
34b583d1e6 Initial commit of ssh debug workflow 2025-01-31 15:38:05 -07:00
Daniel A. Wozniak
593d6cb5ec Attempt to fix download urls 2025-01-31 14:11:39 -07:00
Tom Doherty
5a097a50be Recognise newer AMD GPU devices 2025-01-31 11:30:24 -07:00
David Murphy
3f0dd6b54f Updated to current bootstrap-salt.sh version 2024-12-12, and removed shell scripts for RHEL5 & 6, long EOL 2025-01-31 11:29:38 -07:00
David Murphy
2db89637db Addedd changelog 2025-01-31 11:29:38 -07:00
David Murphy
d63a5ea374 Update locations for bootstrap scripts, to new infrastructure layout 2025-01-31 11:29:38 -07:00
Erik Johnson
29d83c1c24 Improve docs on regex filters
When capture groups are not used, the filter will always return
something that will always evaluate as boolean False (because lack of
capture groups means an empty tuple is returned for regex matches). This
commit improves the docs, clarifying this and recommending how to use
this filter to correctly identify if the pattern matched.
2025-01-30 16:49:23 -07:00
Daniel A. Wozniak
be98f55dcc Igonre bad exit code 2025-01-30 16:47:23 -07:00
Daniel A. Wozniak
74a4b5b4ee Make sure docker is running before pull 2025-01-30 16:47:23 -07:00
David Murphy
bc5b823726 Restore requirements after testing with pygit2 v1.17.0 successfully 2025-01-30 14:43:31 -07:00
David Murphy
6d3178c23f Corrected exception for pygit2 enums 2025-01-30 14:43:31 -07:00
David Murphy
03df109113 Allow for pygit2 enums not available, early version of pygit2 2025-01-30 14:43:31 -07:00
David Murphy
41c3d0974c Fix pygit2 test 2025-01-30 14:43:31 -07:00
David Murphy
19fe9b4bb0 WIP - Testing with pygit2 v1.17.1 2025-01-30 14:43:31 -07:00
David Murphy
2656f446c7 Remove debugging statements 2025-01-30 14:43:31 -07:00
David Murphy
4a0ddd4c5a Added changelog entry 2025-01-30 14:43:31 -07:00
David Murphy
8a9e01a0e9 Update for deprecation of hex in pygit2 1.15.0 and above 2025-01-30 14:43:31 -07:00
Jacob Tracy
07a1602326 Create changelog for PR 67019 2025-01-30 14:39:41 -07:00
Jacob Tracy
156a5ca39c fix salt.ufw path in firewall.rst 2025-01-30 14:39:41 -07:00
Twangboy
a059ff4bfd Fix pre-commit 2025-01-30 02:30:26 -07:00
Twangboy
3d3d6d6e22 Add changelog 2025-01-30 02:30:26 -07:00
Twangboy
263c5e99dc Add test for _encode_xmlns_url 2025-01-30 02:30:26 -07:00
Will Sinatra
a887a0000b escape spaces found while parsing GPO XMLNS tags 2025-01-30 02:30:26 -07:00
twangboy
c4a1a6eeba Update urls to deps so windows pkgs will build 2025-01-29 17:22:38 -07:00
Daniel A. Wozniak
9f1647d0f6 Merge branch '3006.x' into merge/3007.x/3006.x 2025-01-29 15:22:23 -07:00
Twangboy
a5594e7bd2 Use Sudo instead of Everything 2025-01-28 15:57:08 -07:00
Twangboy
ca81605ce6 Skip the test in 1.2.1 as well 2025-01-28 15:57:08 -07:00
Twangboy
7587e8bcf2 Revert "Disable chocolatey 1.2.1 tests"
This reverts commit 2a384ec9e7.
2025-01-28 15:57:08 -07:00
Twangboy
739b94bd68 Skip test that's timing out 2025-01-28 15:57:08 -07:00
Daniel A. Wozniak
0ca299cc81 Fix mac_assistive tests
Fix for tcc database on newer macos versions
2025-01-27 16:37:30 -07:00
Twangboy
60a9edf235 Final fix for test_script failures 2025-01-27 14:51:37 -07:00
Twangboy
ab900b9375 Make action use powershell, not pwsh or core 2025-01-27 14:51:37 -07:00
Twangboy
c0fc37f0d9 Remove import (fix lint) 2025-01-27 14:51:37 -07:00
Twangboy
3f686c2e89 Clear the environment in the test 2025-01-27 14:51:37 -07:00
Twangboy
48647c2080 Try setting PSModulePath to empty 2025-01-27 14:51:37 -07:00
Twangboy
df03e6f985 Try setting AZP_AGENT_CLEANUP_PSMODULES_IN_POWERHELL 2025-01-27 14:51:37 -07:00
Twangboy
630f979214 Display Windows Environment Variables 2025-01-27 14:51:37 -07:00
Twangboy
46ce2f9e2d Show powershell version 2025-01-27 14:51:37 -07:00
Twangboy
fc87799639 Try clearing PSModulePath 2025-01-27 14:51:37 -07:00
Twangboy
02e110abc7 Use actual shell in test 2025-01-27 14:51:37 -07:00
Daniel A. Wozniak
2b45cd6ee5 Skip report steps for now 2025-01-26 15:47:42 -07:00
Daniel A. Wozniak
cec866179b Fix test step label 2025-01-26 15:47:42 -07:00
Daniel A. Wozniak
511164e10b Warn if hardware clock sync fails 2025-01-26 00:44:01 -07:00
Daniel A. Wozniak
9cb51fac91 Fix os filter for arm 2025-01-24 01:01:55 -07:00
Daniel A. Wozniak
c7a45fd32d Add identifier for arm runs 2025-01-24 00:08:39 -07:00
Twangboy
2b288fa007 Use different version for the everything package 2025-01-23 20:39:04 -07:00
Twangboy
2a384ec9e7 Disable chocolatey 1.2.1 tests 2025-01-23 20:39:04 -07:00
Daniel A. Wozniak
deda5dc15e Skip tests when it will fail due to hostnamctl not working in some containers 2025-01-23 16:36:35 -07:00
Daniel A. Wozniak
b02788ed00 Use setup python, again 2025-01-23 16:36:35 -07:00
Daniel A. Wozniak
d4aa4e7b3b Move linux arm into it's own matrix 2025-01-23 16:36:35 -07:00
Daniel A. Wozniak
1b24b47276 Split integration less 2025-01-23 16:36:35 -07:00
Daniel A. Wozniak
838d44301e Split integration into larger chunks 2025-01-23 16:36:35 -07:00
Daniel A. Wozniak
23785aecc5 Make linux_arm_runner required 2025-01-23 16:36:35 -07:00
Daniel A. Wozniak
ca4b04b730 The macOS-12 environment is deprecated 2025-01-23 16:36:35 -07:00
Daniel A. Wozniak
6b1cd9e720 Make setup python tools work with python 3.12 2025-01-23 16:36:35 -07:00
Daniel A. Wozniak
ac8d40735e Public repositores can use github's arm runners 2025-01-23 16:36:35 -07:00
Barney Sowood
b6a92f693d Modify tests to use user temp directory
Modifies the win_dacl tests to use the user temp directory as using
any other directories breaks the expected matching perms
2025-01-22 12:57:32 -07:00
Barney Sowood
2da58365e9 Set TMPDIR to $RUNNER_TEMP
Sets the TMPDIR environment variable to the value of $RUNNER_TEMP, which
should point to a suitable temp dir for runner operations. On windows
runners, this should be on the same disk volume as the checked out repo
and the root for pytest-salt-factories masters and minions.
2025-01-22 12:57:32 -07:00
Barney Sowood
76fcc87785 Fix version check for patch
Fixes the version check for patch in test_file.py. It was expecting the
version string to be the 2nd string in the output, but it can be the
3rd. Updated the parsing to just get the last string on the first line.
2025-01-20 02:37:47 -07:00
Barney Sowood
955529f1c0 Update test_gem to set gem_binary to "gem.cmd
Updates tests/integration/modules/test_gem.py to pass
gem_binary="gem.cmd" to the gem module on windows. Although just using
"gem" on the commandline works, from the module, via cmd.run_all it
doesn't.
2025-01-20 02:37:15 -07:00
Barney Sowood
5fe28f00f9 Skip cmd.script tests on windows
Skips cmd.script tests on windows. These are using a python script
that relies on the shebang in the script to work on Unix like OSes. That
won't work on Windows.
2025-01-17 16:14:28 -07:00
Barney Sowood
b0a06655e4 Update salt_factories_default_root_dir GH runners
Updates salt_factories_default_root_dir to use $RUNNER_TEMP if running
in CI and using Windows. This is setup by the Github Runner and
should be on the same disk as the checked out repo.

Without doing that, the salt_factories_default_root_dir will be in the
user's temp dir which is on a different disk. This causes the fileserver
to throw an error as it tries to combine file_roots from the repo and
pytest-salt-factories.
2025-01-17 15:00:54 -07:00
Barney Sowood
9a327c5919 Convert test_custom grains test to pytest
Converts the test_custom grains test from an old style test to a pytest
test. This is just to make it easier for me to debug why it is failing
and needs to be done at some point anyway.
2025-01-17 15:00:54 -07:00
Daniel A. Wozniak
2ca8551615 Skip tests when system python too old 2025-01-17 14:58:38 -07:00
Twangboy
445749cbda Fix test_script for Windows 2025-01-17 14:32:19 -07:00
Daniel A. Wozniak
08853b63a3 Fix exit status reqs for release 2025-01-16 23:48:08 -07:00
Daniel A. Wozniak
1a09279741 Fix exit status test requirements 2025-01-16 23:48:08 -07:00
Daniel A. Wozniak
a5b78b55ce Reduce test flakiness
tests/pytests/scenarios/dns/multimaster/test_dns.py::test_multimaster_dns
2025-01-16 16:02:42 -07:00
Twangboy
30e2d9aaf4 Use os.linesep instead of \n 2025-01-16 15:20:27 -07:00
Daniel A. Wozniak
1a97786516 Fix systemd.enabled on Rocky 8 2025-01-16 14:56:17 -07:00
Twangboy
786db9bbbb Remove ownership check as ownership is not inherited 2025-01-16 14:47:18 -07:00
Twangboy
1798cfa247 Use DefaultAccount instead of Administrator 2025-01-16 10:20:35 -07:00
Daniel Wozniak
db5c7aefc5
Merge pull request #67159 from dwoz/skipit
Rocky 8 container does not have full systemd
2025-01-15 19:18:49 -07:00
Daniel A. Wozniak
805d10969a Rocky 8 container does not have full systemd 2025-01-15 19:16:42 -07:00
Daniel A. Wozniak
306bdf8425 Configure apparmor 2025-01-15 18:37:38 -07:00
twangboy
dc43eba7b7 Fix pre-commit 2025-01-15 16:15:41 -07:00
twangboy
f22c6cabc0 Try setting PSModulePath in cmd.script 2025-01-15 16:15:41 -07:00
twangboy
a633493f4c Fix pre-commit 2025-01-15 16:15:41 -07:00
twangboy
4eca31c2f1 Clear PSModulePath environment variable 2025-01-15 16:15:41 -07:00
Twangboy
a98b9cb138 Check for failed ping on Windows 2025-01-15 15:59:21 -07:00
Twangboy
169f0fda2f Change expected output for Windows 2025-01-15 15:05:51 -07:00
Twangboy
93acf2ee36 Fix pre-commit 2025-01-15 14:34:00 -07:00
Twangboy
5ff2c7e2a2 User temp_account instead of Administrator for testing 2025-01-15 14:34:00 -07:00
Twangboy
4e03997e27 Test with temp user instead of Administrators 2025-01-15 14:33:43 -07:00
Twangboy
a7806bc91a Check for exc existence before using 2025-01-15 14:33:14 -07:00
twangboy
65ba161cd8 Create test user and test lowercase 2025-01-14 14:05:14 -07:00
twangboy
6756f8897c Fix import 2025-01-14 14:04:41 -07:00
twangboy
b7385b0e28 Add test user to check 2025-01-14 14:04:41 -07:00
Daniel A. Wozniak
69c11b5f5c Fix virt tests 2025-01-14 10:08:00 -07:00
Daniel A. Wozniak
76e3e36e39 Fix test failures, use overlay 2025-01-14 02:45:59 -07:00
Barney Sowood
19b0db156f Make systemctl/hostctl check functions check they're on linux 2025-01-12 22:35:40 -07:00
Daniel A. Wozniak
5dd5b891f0 Include test group name in artifacts 2025-01-12 02:45:52 -07:00
Daniel A. Wozniak
028dae8379 Remove cruft 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
277b24e4a1 Show free memory and test fix 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
8b98b7990b Add docker inspect and add ulimit to container create 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
8f97ff4c59 Upload artifact name fix 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
ee33df82eb Multiple test fixes 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
faecc6d48c Unit test fix and artifact name correction 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
718654ae21 Fix timezone and locale tests on photon 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
78e06fdb42 test fix 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
6f7b448591 Fix pkg tests on debian containers 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
8909607ab9 Fix tests on amazonlinux-2 container 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
f7e331a746 Revert single test change 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
2e6671cf86 Check test 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
9ead172225 Add host network config 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
c7220f13b9 Fix pkg test when no souces.list exists 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
f2046b3a71 Try setting network mtu to fix tests 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
05f9bcae18 Skip tests when hostnamectl does not work 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
90d5bd27a8 Allow test to pass when ping is blocked 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
81ccaa9087 use sudo to re-configure docker 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
f9f3439835 attempt to fix docker in docker issues on some os 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
b24bb0811f test without network 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
0d6f1857ec Show container processes for debugging 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
96a1813845 Add network info to test action 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
2571387f27 Attempt to fix ping tests 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
b368da74f0 Fix pkg tests on photon 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
7167affa28 Do not mount docker socket 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
6e15319728 Fix windows download pkg skip logic 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
4923a9888b Add debug docker config 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
cea4faccdc Do not run windows downgrade tests 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
0afeb7af1c Attempt to build with relenv buildenv environment variable set 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
c4fe0391c4 Fix is_bin_file filter test on debian 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
d9bfbee860 Fix runas test by adding cwd 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
9bb624db5a Fix pre-commit 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
1fb68df156 Split then join with spaces 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
b8a19d13dd Fix downgrade url for windows and mac 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
99b1b92306 Use file isntead of ls since ls is sometimes a script 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
f8b91f3978 use site packages to avoid missing dependencies in test venv 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
5e96a196f7 Mount less volumes 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
5ccf6609b3 Bump github runner to ubunutu 22.04 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
859f05b6d0 More agressive disk space management 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
33f2813ce5 Start with original file perms 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
88742398d4 Legacy repo has been archived 2025-01-11 15:25:01 -07:00
ScriptAutomate
6a01d02269 Update various out-dated links, emails, etc. 2025-01-11 15:25:01 -07:00
twangboy
79d4ff772a Change repo.saltproject.io to new url 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
6f387ded58 Add distro to FakeExtension to fix tests/pytests/functional/test_version.py tests 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
58f448405b Use broadcom.com instead of repo.saltproject.io for test_cp 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
650ddea75d Set shell to fix tests/integration/shell/test_enabled.py::EnabledTest::test_shell_default_enabled 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
189cfec727 Add skip initial onedir env variable to mac and linux 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
6532b89405 Fix create container step 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
adffaca779 Add skip inital onedir failures like tools did 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
96ecd10fda More info in job names 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
fb585ecb2c Add groups for windows and mac 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
90e6d25762 Add back groups for full test runs 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
3d3aa30f45 Add LANG environment for ansible tests 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
210603f915 Add free space checks 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
1fbb0ab2ea Fix assertion 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
f3ef32f6d4 Fix ip_to_host on photon 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
0193650b8a Allow for containers 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
e317c8b601 Make ipv6 network for test containers 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
4848c2a76b List networks to see if an ipv6 one exists already 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
70a11cc99c Fix arm logic 2025-01-11 15:25:01 -07:00
Daniel A. Wozniak
9e82700d97 Do not include sorce in matrix for rpms 2024-12-19 17:56:51 -07:00
Daniel A. Wozniak
03ba74a94f Add more environment variables for tests 2024-12-19 17:56:51 -07:00
Daniel A. Wozniak
97ac4aac20 Fix wart in test-action 2024-12-19 15:00:24 -07:00
Daniel A. Wozniak
1fde90d989 Restore some more environment variable to keep tests passing 2024-12-19 14:46:58 -07:00
Daniel A. Wozniak
06fdd0a895 Only upload deb files to release 2024-12-19 14:26:57 -07:00
Daniel A. Wozniak
13f0d59587 Revert "Do not build source package when building from onedir"
This reverts commit 6a301e38eb.
2024-12-19 14:26:57 -07:00
Daniel A. Wozniak
c620f8506f Do not build source package when building from onedir 2024-12-18 17:48:40 -07:00
Daniel A. Wozniak
3ca60c4c37 Make sure test log artifact names are unique 2024-12-18 14:15:28 -07:00
Daniel A. Wozniak
3a6f82b5cf Show environment for windows ci deps 2024-12-18 14:15:28 -07:00
Daniel A. Wozniak
2ec732abfa Use vars context to export variable 2024-12-18 14:15:28 -07:00
Daniel A. Wozniak
253b69d39e Debug environment 2024-12-18 14:15:28 -07:00
Daniel A. Wozniak
35d1ec361f Add ci environment to prepare workflow
We need an environment to pick up the linux arm runner config.
2024-12-17 17:58:07 -07:00
Daniel A. Wozniak
5309bd7516 Fix up workflow step names 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
f1e08e5416 Upload more artifacts 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
c9253a72f8 Disable concurrency restricionts for now 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
e557c3fec3 Upload onedir artifacts to release 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
2d64d40346 Clean up type annontations 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
2d163735a4 Experiment with output matrix 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
2c025be79f Add release name to draft 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
ddf70dc862 Try and fix draft 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
febca23f68 Fix list files step name 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
92dfdb24bf Require more needs results 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
4305c4d90e Run draft release when tests are skipped 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
b08ac042b6 drat release also requires tests 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
5fe4d16511 Add perms to draft release 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
b0bbbb39a4 Draft release needs packages built 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
c1df3da462 Fix pkg type for windows pacakge tests 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
7bb1276695 fix pre-commit 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
3183698bca Fix linter issues 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
2b1e055cf0 Fix test environment variables 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
d1ca6aefce Echo url 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
3ea7a7de99 Fix artifact name slug 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
54fbc1976e Download all artifacts to artifacts/ dir 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
bd1629812a Fix prepare workflow step 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
ed63a4621e Attempt to fix logs artifact name 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
3729c3f1d1 mac and windows have static package type 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
d6ed893beb No longer use any systemd specific containers 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
ae050ab8ab Do not use container config 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
b41e513547 Fix action input name 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
1d0f6cc311 Fix workflow option name 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
a16f28a2ac Fix container name 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
b86d0365db Fix systemd path 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
9a86bf1125 Use different container names for pkg tests 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
0cd20a6ab2 Call nox via module name 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
89e2a14796 support for older venv 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
a56333fd26 Fix typo 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
bb793ed3bc Use nox to extract tarball on container 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
d8a1dd03c7 Use normal test containers 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
7fe5d46660 Add draft release step to staging 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
8a75364276 Re-use include for matrix 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
efe0173aef Filter out some test runs 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
667ab89d8d Include matrix without include keyword 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
e99201ca0b Clean up workflows 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
e952a53689 Do not sepcify network for container 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
713d60d15f Re-enable matrix 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
3d41bdccc6 Fix condition check 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
409d5b93cb meh 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
8b64af11a6 meh 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
106f5c10c3 fix pre-commit 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
890f195ba5 Fix matrix 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
910c2aa7bb test empty matrix 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
c66ecde2a8 Start created container 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
709a09a60a Fix empty martix 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
971f3f188d Try matrix without include 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
ff846d1750 Fix docker exec 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
f33713bf96 Add back setup python step 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
8d45948830 Test docker creation 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
0b5a9335f3 Skip docs spellcheck for testing purposes 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
d39c8d8ceb Skip lintcheck to test build 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
9d74e0e4f8 Clean up test and test-pkg templates 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
0035008f50 Try to fix docs lint 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
1c81d2166e Use ubuntu-22.04 in place of ubuntu-latest 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
c3b2663c54 Remove un-used build-repos step 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
8c07ab9972 Fix empty list check 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
4145006721 Skip workflows that do not have matrix 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
91d52c2a79 Fix label search when no pr defined 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
e855952d50 Pr is not defined 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
41f3b0d986 We no longer need to extend job names 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
a7ed7a21b7 Do not upload tarball 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
8b5cb50095 Do not try to download repo 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
8c14fcf333 Fix pacakge name on mac and windows 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
d3728d1ad6 Fix windows mac test matrix 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
18f0901fcd Skip upload release artifacts to bucket 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
c385f4f382 Fix slug param name 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
046527cea3 Wrap json in single quotes 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
163117bcf4 Clean up un-used actions 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
2712a0f863 Add mac and windows to tests action 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
2dc13c09d1 Fix matrix names 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
acd09c6a16 Fix action name for package tests 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
aa9028e49e Workflow fix 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
104c290915 Remove unwanted needs 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
9ab829e3a3 Use test matrix 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
67803c352d Fix up packages action 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
d66805b74d Fix issues in pre-commit 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
dc3c713b44 Filter arm when needed 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
5707e459d3 Fix staging workflow 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
9b1ba9eb69 No longer build and publish repositories 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
5ac8ae7356 Fix pkg step names 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
b021a00bc3 Log github event 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
8f5cdb35b0 Comment out package test enumeration 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
3942f281e4 Run build repo on ubuntu-latest 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
92f48144ac Add mac and windows 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
c95663f760 package build matrix wip 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
3634929a2d Log pkg matrix 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
ee7c9e986e log string versions 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
ec092bd2a3 Warn about range library 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
233b047dab Fix actionlint 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
7d8dcb559a Fix up prepare release step 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
d3a9324114 Fix pre-commit 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
1b9754b6d0 Add arguments needed for pkg matrix on workflow config 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
f37e47ebd8 fix linter 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
05ef78b8a6 Fix ci deps for macos arches 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
4a6498b8df Remove source from build package matrix 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
eeb33eb2cd Remove unused job names 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
d10a3b98e2 Use build deps matrix for ci deps 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
3f5ba08979 Remove un-needed build-matrix command 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
b8ccc78991 Use build matrix for packages 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
0bd8e90f6e Use build-matrix for salt onedir 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
66858afe63 use build deps matrix from config 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
5ba6add44e More places disabling mac 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
6949dbdc9b Fix pre-commit 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
9bcb8295e1 Do not clear macos matrix for pkg tests 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
b828d7a008 Fix undefined variable on mac 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
a47a62d34d Fix pre-commit 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
caf0a023f2 Fix build salt logic for mac 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
2431442d12 Fix up mac build logic 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
6e8ce16b24 Drop os-labels and pull-labels 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
521559a423 Add macos arm onedir deps 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
36dd81ced8 More systemd 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
bbb3ada781 Fix pre-commit 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
e504106978 re-enable mac 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
5a16115b5c Migrate more jobs to config 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
d47af5245c Test debug 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
c3d8f50212 Only use free mac runners 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
b5ceeef2c0 Need to work out mandatory OSes and defined jobs 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
a26ffafd46 Fix pkg step name for linux 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
6760437766 Do not use setup-python action in container 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
f9e7dc3eb5 Migrate tests to use packages.broadcom.com instead of repo.saltproject.io 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
49e1d82270 Do not use setup-python action on containres 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
054296f0c3 fix linux test runner name 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
70e302b938 meh 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
7daf5c5177 Add config step to prepare workflow 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
0ef6d70bc0 disable jobs 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
a6d2b0db65 Fix parameter name 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
e76ab0f5f8 Fix matrix again 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
a05e836e4b Try overriding entrypoint 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
fa6faa97ab pkg matrix fix for arm 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
62d1c5d76d meh 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
133ea49344 Fix windows test action tests 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
99aa11cdc1 expand on job names 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
85c04c5088 meh 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
cbc94c9b21 meh 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
4102174c7d allow break system packges 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
c5c71c3637 Add config workflow step 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
0f6fb92673 Fix runner check 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
ffd0972456 Do not run arm but run x86 always 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
db278b4fc9 Skip arm64 packages tests when no arm runner configured 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
014f425f5d use testing container for pre-commit 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
6a7da12f7a meh 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
74882ae911 Run ubunut pkg tests on 22.04 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
00df4de895 remove some debugging 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
a5960cab09 reduce mandatory 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
7f280c3515 Add build-matrix 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
cfe0a94909 Fix self hosted vs github hosted 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
7d820d56a1 Wean off linux-x86_64 runner 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
d03d2fb7c9 Systemd container rename 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
9824b055ae debug pkg install 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
f334b77d26 Do not mount volumes 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
4343d8f0c0 Skip downgrade tests on windows 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
25f723adf8 More package tests 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
e40e052805 Try systemd containers 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
ab5641035d Stop using deprecated save-always 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
24c5561a0d Fix typo 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
25c807d8a1 Test systemctl 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
f79944f89c Enable more containers for pkg tests 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
04e9b30c82 fix photon container name 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
e765ddd847 More testing containers 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
8855eaa5d3 Use rocky linux 8 too 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
2aa71e2ce3 bump cache seed 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
703ca1b830 Use distro slug for windows packages 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
a133e32421 Add rockylinux containers 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
b6226352ab Upload pkg log artifacts 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
b1a17b29de Fix extract location 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
589e9bc505 Fix package testing on windows 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
bc7d4b861f Try renaming salt dir 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
53ae41e43d Use 3 core mac-14 for arm64 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
29c4415b9d Use macos-14 for arm 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
7311e4bd4b Mac arm is always xlarge 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
ea95ee18d9 Stop using xlarge runners 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
c0f9557ea0 Try macos-13-arm64 instead of xlarge 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
3e156b50e9 Revert xlarge removal 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
2f65744d2a Attempt systemctl mock 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
f5a516d81c No sudo for linux pkg tests 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
24b3594c3d Skip reqs 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
4f9db07142 meh 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
db8b24eb53 Meh 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
454cb18435 Show sys info fix 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
a9a47fa2da Fix up windows package test action 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
43b75c6cae Less macos 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
aaeebbd0a1 Less macos 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
b4d410eec0 No longer use sudo 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
a9a1873fef use newer container for nwo 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
6b926facd6 Disable more OSes for package tests 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
b55c578c1a Disable most of linux and all of mac 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
6b43f5be9e Update download location 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
3e5ada781e Download from alt location 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
e8d4f2524a bump relenv version 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
feeee5f7a4 fetch correct nox tarball 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
d523b89b55 Fix decompress nox step on windows 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
1dc6f5b014 Fix decompress step 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
8c4221d125 Build windows deps on github runner 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
5483e9003e Fix nox tarball name 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
3e4b1931de Do not build 'source' packages for PRs 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
83f8ecad13 Do not install any system dependencies yet 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
923d09de1e Disable more s3 caching 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
a9131bef9a revert cache change 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
824edae576 no container 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
40b1a4b66f check python binary 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
5c732df550 be more specific with python version 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
452acf103b Migrate windows to gh runners 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
811551a91c Setup python 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
83c90d933e wean of aws bits 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
704adde6e3 Do not use tools vm for deps ci action 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
69df1dcff8 Disable s3 cache for build deps ci 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
aad3905022 Change template not generated files 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
089c82bfca Fix workflow name 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
34cac3c7e1 Add test-action-linux-ng.yml 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
e693ff5fa0 Migrate build deps ci action 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
9a349669f5 Build packages on gh runners 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
c51306aca7 Set use s3 cache env to false 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
b9d16fa14d Fix download location 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
9ef8f4f041 Update constraints for python 3.12 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
69de3682f0 Disable more caches 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
88a2ae707f Do not cache relenv for now 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
de1079df1d Migrate build-deps-onedir step to gh runners 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
3f71f85c51 Add runners to linter and disbale cache for salt onedir builds 2024-12-17 13:24:51 -07:00
Daniel A. Wozniak
2b600fb4c4 Add some gh runners 2024-12-17 13:24:51 -07:00
Frank
9233e1cc3b Fix documentation for salt.modules.file.get_managed to clarify 'name' parameter location 2024-11-11 15:31:38 -07:00
twangboy
0794878e79 Add some debugging for macOS failures 2024-10-30 14:32:25 -07:00
Daniel A. Wozniak
9d10d699f3 Skip tests that are not applicable on windows 2024-10-29 14:32:21 -07:00
Daniel A. Wozniak
5eb5a4035c Improve tests 2024-10-29 14:32:21 -07:00
Daniel A. Wozniak
486462b992 Pull in changes from #66931
Make sure we only call chmod when pull_path or pub_path is used. Add
regression tests for this behavior.
2024-10-29 14:32:21 -07:00
Daniel A. Wozniak
332b31e701 Increase timeout for windows tests 2024-10-29 14:32:21 -07:00
Daniel A. Wozniak
932ff82d70 Remove un-needed param 2024-10-29 14:32:21 -07:00
Daniel A. Wozniak
d4ebb63638 Add started event to PublishServer
- Add a started event that gets set after the server transport is ready
for clients to connect.
- Wait on publish servers start while the master process is starting up.
2024-10-29 14:32:21 -07:00
twangboy
1168334a40 Handle zombie processes when getting pids 2024-10-29 09:13:34 -07:00
Daniel A. Wozniak
8b0d609ec6 Update cluster docs with good timeout value 2024-10-28 15:07:20 -07:00
Daniel Wozniak
2d110410d1
Merge pull request #67007 from twangboy/disable_gatekeeper
[3006.x] Disable gatekeeper before running package tests
2024-10-28 14:19:32 -07:00
twangboy
2623926be9
Disable gatekeeper before running package tests 2024-10-28 10:03:04 -06:00
Daniel Wozniak
4b19b50fbc
Merge pull request #67002 from dwoz/merge/3007.x/3006.x
[3007.x] Merge forward 3006.x into 3007.x
2024-10-28 03:41:23 -07:00
Daniel A. Wozniak
1a834761bf Merge branch '3006.x' into merge/3007.x/3006.x 2024-10-25 17:07:29 -07:00
jeanluc
fd7b0dcea2 Filter unpicklable objects from the context dict when necessary 2024-10-25 04:45:35 -07:00
jeanluc
a27549800b Add test for issue #66999 2024-10-25 04:45:35 -07:00
jeanluc
c4361cf828 Ensure injected globals are defined on spawning platforms
This ensures dunders like __env__ are defined in states running in
parallel on spawning platforms.

The __running__ dict can contain salt.utils.process.Process instances,
which are still picklable.
2024-10-25 04:45:35 -07:00
jeanluc
0e3d73e35e Fix parallel states on spawning platforms in general
This was introduced by https://github.com/saltstack/salt/pull/66517

`__invocation_jid` is rewriten to `_State__invocation_id`, making
`cls(**init_kwargs)` fail with a TypeError (unexpected argument
`__invocation_jid` (this behavior is called name mangling).
2024-10-25 04:45:35 -07:00
jeanluc
931e4632ce Add test for issue #66996 2024-10-25 04:45:35 -07:00
David Murphy
ed89424059 Updated selinux commands and tests after reviewer comments, need the extra space 2024-10-24 08:57:52 -07:00
David Murphy
d19258590b Adjusted selinux and tests for egrep to grep -E 2024-10-24 08:57:52 -07:00
David Murphy
c61822fbd9 Updates due to pytest-shell-utilities and psutil version updates 2024-10-24 08:57:52 -07:00
David Murphy
bbd061b47b Forcing rebuild 2024-10-24 08:57:52 -07:00
David Murphy
a8a73c40f5 Revert psutil dependency back to greater than 5.0.0 2024-10-24 08:57:52 -07:00
David Murphy
e4b4f571f5 Fix nightly builds and update psutil to 6.0.0 or greater 2024-10-24 08:57:52 -07:00
Daniel A. Wozniak
66e5b97785 Add python 3.13 requirements files 2024-10-23 16:20:51 -07:00
Hristo Voyvodov
d7b4d10f2a update vault client tests to ensure unwrap is respecting verify 2024-10-21 14:25:43 -07:00
Hristo Voyvodov
7c9305418c Fixing vault client unwrap function to respect server.verify option.
Currently VaultClient.unwrap is doing own request call without respecting verify option.
Any other function is reusing self.request or self.raw_request function which are respecting correctly verify opt.
This will change unwrap function to also utilize self.post() which is reusing self.request.
2024-10-21 14:25:43 -07:00
Shane Lee
eee8215933 Skip tests unless on Linux 2024-10-21 14:17:14 -07:00
Nick Porter
983cfe75e3 fixes #66252 correct use of egrep to parse semanage output 2024-10-21 14:17:14 -07:00
Daniel Dehennin
6e4f178ba2 Remove expand_classes_in_order from missing_docstrings 2024-10-21 14:15:41 -07:00
Daniel Dehennin
d1ca30c2ad Fix incorrect override of minion node definition
A pillars dict in a minion node definition was not overridding
correctly the same dict in classes.

* salt/utils/saltclass.py (expanded_dict_from_minion): do not pass a
  reference to minion dict or it will be overridden by classes during
  expansion.

Fixes: #63933
2024-10-21 14:15:41 -07:00
Daniel Dehennin
9ef879aee4 fix(saltclass): don't lose nested classes and states in recursion
Fixes: #58969
2024-10-21 14:15:41 -07:00
Daniel Dehennin
3b8c57e29d Add test for saltclass nested classes expansion 2024-10-21 14:15:41 -07:00
David Murphy
628c2d2095 Add cryptography back as a dependency for Salt 3006 to base.txt requirements 2024-10-21 14:13:24 -07:00
Daniel Wozniak
ef2fb24bd1
Merge pull request #66969 from dwoz/merge/3007.x/3006.x
[3007.x] Merge forward 3006.x into 3007.x
2024-10-17 14:37:32 -07:00
Georg Pfuetzenreuter
4e429ef772 Remove perms from linux_acl.list_absent docstring
Not a valid argument for this function, remove misleading documentation
reference.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2024-10-16 18:23:31 -07:00
twangboy
98f49eba4e Remove wmic from iscsi grains 2024-10-16 18:08:52 -07:00
twangboy
6caf16d439 Remove unused import 2024-10-16 18:08:52 -07:00
twangboy
30e0de375f Remove wmic usage from disk grains on Windows 2024-10-16 18:08:52 -07:00
Ben Grande
e3f25965af Regularize yumpkg option separators
Add logging and convert to formatted string literal.

Other Yum options uses equal sign as separator but setopt separator is
irregular using space as separator.

Fix: https://github.com/saltstack/salt/issues/66970
2024-10-16 18:08:11 -07:00
Daniel A. Wozniak
9b157d732f Merge branch '3006.x' into merge/3007.x/3006.x 2024-10-16 18:03:43 -07:00
twangboy
28662c490b Fix slashes 2024-10-16 10:06:05 -07:00
twangboy
061ca0d4d4 Disable signing mac packages 2024-10-16 10:06:05 -07:00
David Murphy
1b680c6f13 Added tests to excerise changes for efi-secure-boot grain 2024-10-15 15:20:51 -07:00
David Murphy
effada446c Initial test for testing secure-boot grain 2024-10-15 15:20:51 -07:00
David Murphy
76f22f0f92 Added changelog entry 2024-10-15 15:20:51 -07:00
David Murphy
eeeec9a325 Allow for secure-boot efivars directory having SecureBoot-xxx files, not directories with a data file 2024-10-15 15:20:51 -07:00
Daniel A. Wozniak
6388536beb Merge branch '3006.x' into merge/3007.x/3006.x 2024-10-14 22:52:30 -07:00
Daniel A. Wozniak
688ce681f0 Fix test reports step 2024-10-14 22:47:29 -07:00
Daniel A. Wozniak
0d4e037c28 Test matrix steps use python 3.10 2024-10-14 22:47:29 -07:00
Daniel A. Wozniak
78838b4724 Use python 3.10 for build matrix generation 2024-10-14 22:47:29 -07:00
Daniel A. Wozniak
9b93d464e3 Use py 3.10 for docs 2024-10-14 22:47:29 -07:00
Daniel A. Wozniak
1752967e5b Use python 3.11 to generate test matrix 2024-10-14 22:47:29 -07:00
Daniel A. Wozniak
9e4a11aae2 Use python 3.11 for building docs 2024-10-14 22:47:29 -07:00
Daniel A. Wozniak
23b2f654b7 More reliable test shutdown 2024-10-10 12:56:15 -07:00
Daniel A. Wozniak
071325c203 Add changelog for issue #65265 2024-10-10 12:56:15 -07:00
Daniel A. Wozniak
7f73274352 The zmq socket poll method needs to be awaited
When using zmq.asyncio.Context, the socket's poll method is a coroutine.
2024-10-10 12:56:15 -07:00
bdrx312
221420cd57 Use importlib.metadata for python >= 3.10
Add slots to DependencyGraph

Pinned networkx to 3.1

Pinned networkx to latest version supported on python 3.8 to support running salt-ssh to systems with python 3.8

Fixed assignment of env in support helpers VirtualEnv

Restrict networkx version with contraints instead of in base

Fixed setting context retcode in some places where errors are returned.
Removed unnecessary pylint ignore comment.
Reverted importlib-metadata version bump.

Added networkx to versions report

Actually fixed VirtualEnv env assignment from kwargs
2024-10-10 01:53:52 -07:00
bdrx312
66caa58346 Fix issues with requisites and aggregate
add install of networkx
fix aggregate to properly work with requisites
fix requisite checking to not be exponential
fix pkg aggregate to work when multiple states specify the same package
add some type hints to state.py to make the code easier to follow
fix case of pkg aggregate duplicate package.
2024-10-10 01:53:52 -07:00
twangboy
08e56a130a Fix some more windows tests 2024-10-09 09:10:58 -07:00
twangboy
ec83f5d506 Fix win_file tests 2024-10-09 09:10:58 -07:00
Daniel A. Wozniak
fc8d60d137 Upgrade relenv to 0.17.3 and python to 3.10.15 2024-10-09 09:10:58 -07:00
jeanluc
6463994b4d Use grains dict directly when not traversing subdict 2024-10-08 13:15:09 -07:00
jeanluc
c2e0b57ba9 Document that dict key syntax should be preferred
While `{{ salt.foo.bar() }}` often works, it can introduce some edge
cases which are avoided by `{{ salt['foo.bar']() }}`.
2024-10-08 13:15:09 -07:00
jeanluc
096dca61ba Make SSH FunctionWrapper behave more like LazyLoader 2024-10-08 13:15:09 -07:00
jeanluc
3bcb67f1c1 Add tests for issues #66376 and #41794 2024-10-08 13:15:09 -07:00
jeanluc
0c8cb6890e Fix accessing wrappers in Jinja templates via attributes 2024-10-08 13:15:09 -07:00
jeanluc
47e4c80a74 Add test for issue #66600 2024-10-08 13:15:09 -07:00
David Murphy
a90e6b3b23 Alter nightly and scheduled builds to skip-code-coverage true 2024-10-04 15:09:58 -07:00
David Murphy
1cf5424953 Force skip_code_coverage to True 2024-10-03 09:11:01 -07:00
David Murphy
cbacd30640 Turn off code coverage in tests 2024-10-03 09:11:01 -07:00
David Murphy
e5a6987af1 Further attempts to resolve not succeeding first time through 2024-10-03 09:11:01 -07:00
David Murphy
f1483714ea Adjusting code coverage actions 2024-10-03 09:11:01 -07:00
David Murphy
e02ed441fd Including hiddne-files and merging multiple on the downloads 2024-10-03 09:11:01 -07:00
David Murphy
88bd13e859 Bumped to 60 2024-10-03 09:11:01 -07:00
David Murphy
72f8550981 Revert sleep time from 20 to 30 which previously succeeded 2024-10-03 09:11:01 -07:00
David Murphy
ea019ef27b Cleaning up from forced rebuild 2024-10-03 09:11:01 -07:00
David Murphy
b9db5d3270 WIP Forcing rebuild 2024-10-03 09:11:01 -07:00
David Murphy
14f5bf9658 Fix bad cut & paste 2024-10-03 09:11:01 -07:00
David Murphy
6cd37bf16f Updated package actions to sleep 20 before trying to merge artifacts 2024-10-03 09:11:01 -07:00
David Murphy
a8b56bd2bc Moved wait for packages 2024-10-03 09:11:01 -07:00
David Murphy
c7b6101855 Initial debug for Windows Package test failures 2024-10-03 09:11:01 -07:00
Daniel A. Wozniak
44d96002e9 Do no allow duplicate message ids 2024-09-30 15:12:27 -07:00
vzhestkov
36626d8d4f Prevent using SyncWrapper with no reason 2024-09-30 15:08:09 -07:00
Daniel Wozniak
58c89a8dfd
Merge pull request #66925 from vkotarov/windows-qyzylorda-timezone
[master] Add Qyzylorda timezone to win_timezone module, fixes #66176
2024-09-30 12:56:09 -07:00
Daniel Wozniak
ef3d8f7840
Merge pull request #66930 from dwoz/merge/3007.x/3006.x
[3007.x] Merge forward 3006.x into 3007.x
2024-09-30 12:53:16 -07:00
Tyler Levy Conde
216764c69e Allow fstring linting 2024-09-30 12:10:26 -07:00
Tyler Levy Conde
7e334bce6f Allow fstring linting 2024-09-30 12:10:26 -07:00
Tyler Levy Conde
593dbf7f9b add changelog entry 2024-09-30 12:10:26 -07:00
Tyler Levy Conde
e20d896a13 passing lint 2024-09-30 12:10:26 -07:00
Tyler Levy Conde
fa61bc361b passing pylint 2024-09-30 12:10:26 -07:00
Tyler Levy Conde
3bf8dda2e5 Relenv salt-ssh fully functional 2024-09-30 12:10:26 -07:00
Tyler Levy Conde
a74ce63e09 add basic ssh-relenv test 2024-09-30 12:10:26 -07:00
Tyler Levy Conde
b95855edf5 passing lint 2024-09-30 12:10:26 -07:00
Tyler Levy Conde
b5b5fb4f5c Relenv deploy is successful 2024-09-30 12:10:26 -07:00
Tyler Levy Conde
731f3edaff Also download the file checksum 2024-09-30 12:10:26 -07:00
Tyler Levy Conde
7df3bbfe66 Actually download the stream 2024-09-30 12:10:26 -07:00
Tyler Levy Conde
4bb6e93cab :Improve OS detection 2024-09-30 12:10:26 -07:00
Tyler Levy Conde
b997d8d733 better os detection for relenv tarball 2024-09-30 12:10:26 -07:00
Tyler Levy Conde
5263353262 :xSalt-ssh can deploy a relenv environment 2024-09-30 12:10:26 -07:00
Daniel A. Wozniak
ff12c7f8c2 Fix merge wart 2024-09-26 15:21:09 -07:00
Olivier Mehani
15573a8f20 Add state.sls_exists to ssh client
fixes: #66893

Signed-off-by: Olivier Mehani <shtrom@ssji.net>

Fix typo in sate.sls_exists doctstrings (module & ssh wrapper)

Signed-off-by: Olivier Mehani <shtrom@ssji.net>
2024-09-26 15:11:09 -07:00
kevin-andrew-wipro
e4aa82fbc6 Update master-cluster.rst Example Config
The Master Config example's `file_roots` and `pillar_roots` properties need the `base` property followed by a list of the directory. Otherwise, the Salt master shows an error in the logs.
2024-09-26 15:08:00 -07:00
Daniel A. Wozniak
19dfa41bb9 Merge remote-tracking branch 'saltstack/3006.x' into merge/3007.x/3006.x 2024-09-26 15:01:16 -07:00
Vesselin Kotarov
9ee0398fdf Add Qyzylorda timezone to win_timezone module, fixes #66176 2024-09-25 18:03:23 +03:00
vzhestkov
ee4d5321f2 Add 66856 changelog entry 2024-09-25 02:28:51 -07:00
vzhestkov
6976c17c8c Add more cases to test grains.core._systemd 2024-09-25 02:28:51 -07:00
vzhestkov
47e412cc5c Better handling output of systemctl --version 2024-09-25 02:28:51 -07:00
Daniel Wozniak
8db71dd316 Revert "Attempt to resolve test artifact flakiness"
This reverts commit f5c332b816.
2024-09-24 15:19:12 -07:00
Daniel A. Wozniak
f5c332b816 Attempt to resolve test artifact flakiness
Adding a sleep between merging and downloading artifacts on windows.
2024-09-24 09:20:02 -07:00
Daniel A. Wozniak
64690a935c Fix error in test suite teardown
The error seen was:

Exception ignored in atexit callback: <bound method DeferredStreamHandler.flush of <DeferredStreamHandler <_io.FileIO [closed]> (WARNING)>>
Traceback (most recent call last):
  File "/home/dan/src/salt/salt/_logging/handlers.py", line 68, in flush
    super().flush()
  File "/usr/local/lib/python3.10/logging/__init__.py", line 1084, in flush
    self.stream.flush()
ValueError: I/O operation on closed file.
2024-09-23 14:59:15 -07:00
Daniel A. Wozniak
d11775eeca Upgrade relenv to 0.17.2 2024-09-23 13:56:36 -07:00
David Murphy
be33bf6dc6 Removed notifying Slack since Slack no longer used. 2024-09-23 13:46:50 -07:00
Daniel Wozniak
0007447eab
Merge pull request #66910 from dwoz/merge/3007.x/3006.x
[3007.x] Merge forward 3006.x into 3007.x
2024-09-23 13:44:49 -07:00
Daniel A. Wozniak
c38448909c Merge remote-tracking branch 'saltstack/3006.x' into merge/3007.x/3006.x 2024-09-23 01:38:28 -07:00
Daniel A. Wozniak
b6e3f9b2c6 Fix test on platforms that do not have cdumper 2024-09-23 01:31:53 -07:00
Daniel A. Wozniak
818dd9f827 Fix yamldumper test 2024-09-23 01:31:53 -07:00
Daniel A. Wozniak
6b3418fe0b Merge remote-tracking branch 'saltstack/3006.x' into merge/3007.x/3006.x 2024-09-20 14:20:13 -07:00
Sebastian Engel
a9c9aa294c doc: fix jinja.import_json module docstr 2024-09-20 14:10:31 -07:00
Tom Doherty
caf62f97bd fix yaml output
In b9be2de, OrderedDict was replaced with HashableOrderedDict.
Add logic to yamldumper to handle the new type.
2024-09-20 14:08:12 -07:00
Marek Czernek
9922b1a145 Fix yamllint tests 2024-09-20 14:06:53 -07:00
Marek Czernek
7a871376a2 Reverts changes to test_transactional_update 2024-09-20 14:06:53 -07:00
Marek Czernek
c0354fc161 Ensure venv usage 2024-09-20 14:06:53 -07:00
Shane Lee
101a773df1 Fix pre-commit 2024-09-20 14:06:53 -07:00
Marek Czernek
0675d1fec7 Remove passlib assumption from pycrypto tests 2024-09-20 14:06:53 -07:00
Marek Czernek
29d4137e0b We depend on msgpack < 1.0.0 2024-09-20 14:06:53 -07:00
Marek Czernek
db31e2bc94 Fix test_transactional_update tests 2024-09-20 14:06:53 -07:00
Marek Czernek
bf580e6698 Make tests compatible with venv bundle 2024-09-20 14:06:53 -07:00
Shane Lee
b912817240 Fixes cmd.run with requirements on Windows
Formats the command properly for powershell
Adds changelog and tests
2024-09-20 14:06:53 -07:00
David Murphy
393dad1790 Removed commented out name 2024-09-20 14:06:15 -07:00
David Murphy
2db4de4170 Solve the lack of combined coverage reports 2024-09-20 14:06:15 -07:00
David Murphy
a6fff58e4a Remove comments 2024-09-20 14:06:15 -07:00
David Murphy
6e0fc168bb Update Windows and MacOS actions for Download Code Coverage Test Run Artifacts for merge-multiple, v4 update 2024-09-20 14:06:15 -07:00
David Murphy
51099d9901 Correct logic error - removed 'needs' 2024-09-20 14:06:15 -07:00
David Murphy
51cc9b8b2e change to force build, since github stalled it overnight 2024-09-20 14:06:15 -07:00
David Murphy
58083b7cef Debugging 2024-09-20 14:06:15 -07:00
David Murphy
ac09c433b3 Trying other debug methods 2024-09-20 14:06:15 -07:00
David Murphy
d77a0d5fc9 Trying including hidden files for coverage on Linux - Test 2024-09-20 14:06:15 -07:00
David Murphy
3827456452 removing commented out 4.3.6, and added debugging 2024-09-20 14:06:15 -07:00
David Murphy
9cef9a6ac0 Revert to using v4 and alter pattern (leave off dash) 2024-09-20 14:06:15 -07:00
David Murphy
059d1e0269 Testing previous version 4.3.6 instead of latest 4.4.0 for action/upload-artifact/merge 2024-09-20 14:06:15 -07:00
hurzhurz
698979fe55 fix nacl.keygen for not yet existing sk_file or pk_file 2024-09-19 14:56:24 -07:00
Carlos Álvaro
40f871c2b1 doc(mab_brew_pkg): Add options parameter documentation 2024-09-19 14:49:57 -07:00
Carlos Álvaro
8416fe4311 feat(mac_brew_pkg): Add options to list_upgrades method 2024-09-19 14:49:57 -07:00
Carlos Álvaro
cf2b724cbb doc(mac_brew_pkg): Update install method documentation 2024-09-19 14:49:57 -07:00
Carlos Álvaro
ae69865ab3 feat(mac_brew_pkg): Add options to remove method 2024-09-19 14:49:57 -07:00
Carlos Álvaro
ad6ebb175f doc: Add changelog 2024-09-19 14:49:57 -07:00
Carlos Álvaro
f420d779ba feat(mac_brew_pkg): Add support for aliases when getting info 2024-09-19 14:49:57 -07:00
Carlos Álvaro
436bdd50aa chore(mac_brew_pkg): Update tests to use Homebrew's full API v2 2024-09-19 14:49:57 -07:00
Carlos Álvaro
faa7a7ba97 feat(mac_brew_pkg): Improve latest_version support
Fixes #66291
2024-09-19 14:49:57 -07:00
Carlos Álvaro
c56afbe514 feat(mac_brew_pkg): Allow additional options in info_installed 2024-09-19 14:49:57 -07:00
sunxingboo
748943cd59 Corrected the description of the two parameters mkey and key in the MWorker constructor. 2024-09-19 14:47:43 -07:00
Erik Johnson
d4b2957194 Add changelog file 2024-09-19 14:46:52 -07:00
Erik Johnson
6c3365f67c Move grain_opts to subdict to prevent overwriting core grains 2024-09-19 14:46:52 -07:00
Daniel Wozniak
c246f20564
Merge pull request #66742 from vzhestkov/use-cachedir-cli-for-extension_modules
[master] Use --cachedir parameter for setting extension_modules with salt-call
2024-09-19 14:31:13 -07:00
Daniel Wozniak
ae1d3f3eb3
Merge pull request #66857 from twangboy/fix_64630
[3006.x]Manage symlinks after dirs and files
2024-09-19 13:43:19 -07:00
Daniel Wozniak
17f9ff5818
Merge pull request #66842 from dwoz/merge/3007.x/3006.x
[3007.x] Merge 3006.x forward to 3007.x
2024-09-19 13:25:05 -07:00
Imran Iqbal
c1dd74aa69 docs(modules/system): fix system.get_computer_name CLI example 2024-09-19 09:31:55 -07:00
Daniel A. Wozniak
c5b5732957 Use the same args for integration tests 2024-09-18 18:05:24 -07:00
David Murphy
94fdf082ec Adjust salt-common.install for bash-completion 2024-09-18 15:08:12 -07:00
David Murphy
0483e44f19 Updated symbolic links for bash completion as per original issuer comments 2024-09-18 15:08:12 -07:00
David Murphy
142b7ac258 Restore systemd handling in preinst and postinst for Debina/Ubuntu 2024-09-18 15:08:12 -07:00
David Murphy
974bad0054 Updated debian rules to not include python3 2024-09-18 15:08:12 -07:00
David Murphy
4be168509f Testing building with bash-completion and systemd 2024-09-18 15:08:12 -07:00
David Murphy
9c712e09ea Correct symbolic link generation to corrspond with Debina/Ubuntu fork of Salt 2024-09-18 15:08:12 -07:00
David Murphy
fd90018045 Corrected files for zsh and salt-proxy 2024-09-18 15:08:12 -07:00
David Murphy
02c196ad13 Add symbolic links for bash-completion 2024-09-18 15:08:12 -07:00
David Murphy
2532a088cd Added changelog for fix 2024-09-18 15:08:12 -07:00
David Murphy
73bb35d943 Correct bash-completion for Debian / Ubuntu 2024-09-18 15:08:12 -07:00
jeanluc
af3818ba24 Fix Salt-SSH crash when key deploy is skipped manually 2024-09-18 14:54:49 -07:00
jeanluc
df835c1982 Add test for issue #66610 2024-09-18 14:54:49 -07:00
Niklas Rousset
9da6764eb8 Convert stdin string to bytes regardless of stdin_raw_newlines 2024-09-18 14:53:40 -07:00
Niklas Rousset
eba0b174d7 Add test cases for stdin_raw_newlines functionality 2024-09-18 14:53:40 -07:00
Sebastian Engel
0eace0200f doc: fix jinja.import_json module docstr 2024-09-18 14:52:19 -07:00
Marek Czernek
6c38c1a253 Fix test_system flaky setup_teardown fn 2024-09-18 14:49:12 -07:00
twangboy
99639ca5c9 Update contributing guide and PR template 2024-09-18 14:15:37 -07:00
twangboy
a5c3c18442
Fix unit test on Linux 2024-09-18 13:26:34 -06:00
twangboy
554da0c21e
Compare full paths 2024-09-18 13:26:34 -06:00
twangboy
294a81a05c
Try to handle similar names 2024-09-18 13:26:33 -06:00
twangboy
bbb0013138
Make sure symlinks are done last 2024-09-18 13:26:33 -06:00
twangboy
572e955388
Add tests and changelog 2024-09-18 13:26:33 -06:00
twangboy
26e31d23d5
Manage symlinks after dirs and files
Force symlink on keep_symlinks
2024-09-18 13:26:28 -06:00
twangboy
c54a8ced4f Test on systems where 7zip exists 2024-09-18 09:41:24 -07:00
ScriptAutomate
77260acfd5 Drop Arch Linux; update latest golden images 2024-09-18 09:41:24 -07:00
Daniel A. Wozniak
a71bcfb734 Do not install when no-install is passed 2024-09-17 15:03:49 -07:00
Daniel A. Wozniak
561a5c4bdf Handle cases where the process is gone or zombified 2024-09-16 17:45:09 -07:00
Daniel A. Wozniak
4925172a28 Mark 3007 as released 2024-09-16 15:41:16 -07:00
Daniel A. Wozniak
0dc964fb50 Clean up imports 2024-09-16 15:35:50 -07:00
Daniel A. Wozniak
0897afcc21 Retrun opts because they get modified often 2024-09-16 15:35:50 -07:00
Daniel A. Wozniak
d4ee87338b Fix windows pkg tests 2024-09-16 15:35:50 -07:00
Daniel A. Wozniak
5ee6d3c2bc Fix another test using __opts__ 2024-09-16 15:35:50 -07:00
Daniel A. Wozniak
96bc89f721 Fix broken tests 2024-09-16 15:35:50 -07:00
Daniel A. Wozniak
b36f276007 Better handling of loader returns
- Detect when a loader is returning a NamedLoaderContext and return the
  value. This will cut down on how often we need to call value() in
  loaded modules.
- Add some tests to show newly defined behavior
2024-09-16 15:35:50 -07:00
Daniel A. Wozniak
fc06de8db1 Try importing opts dunder 2024-09-16 15:35:50 -07:00
Daniel A. Wozniak
96c59e07fc Add tests for opts dunder 2024-09-16 15:35:50 -07:00
Daniel A. Wozniak
3140aecd2b Add more loader dunders to cp module.
Using cp module to dip our feet into more explicit loader dunders. Most
all of the existing dunders can be imported already. The one outlier
being used by the cp module is __opts__.
2024-09-16 15:35:50 -07:00
Daniel A. Wozniak
a9b37c2b5d Account for changes in transport api in tests 2024-09-13 18:21:47 -07:00
Daniel A. Wozniak
2e514c5e96 Fix zeromq transport unit tests 2024-09-13 16:16:56 -07:00
Daniel A. Wozniak
df47c099e3 Fix linter errors 2024-09-13 14:52:28 -07:00
Daniel A. Wozniak
468b26e918 initial work on log once option 2024-09-13 14:24:05 -07:00
twangboy
f2be0b75c6
Fix windows package builds 2024-09-13 09:53:04 -06:00
twangboy
f9c9787251 Fix pre-commit 2024-09-12 08:55:42 -07:00
twangboy
50187433cf Add changelog for 66835 2024-09-12 08:55:42 -07:00
twangboy
f0e2cf4689 Remove salt.utils.data from fileserver
The salt.utils.data util was used to support python 2. Since we no
longer support python 2, we can start removing this. This gives us
some great speed increases as we're removing a lot of overhead and
unnecessary function calls
2024-09-12 08:55:42 -07:00
twangboy
72bb50cb27 Revert SSH settings 2024-09-11 16:52:27 -07:00
twangboy
36c65391a1 Add some SSH settings to fix the SSH Broken Pipe with Amazon Linux 2024-09-11 16:52:27 -07:00
twangboy
d3c0f996a4 Revert gating for Windows, use sys instead of salt.utils.platform 2024-09-11 16:52:27 -07:00
twangboy
7437fe9230 Gate passing version for Windows 2024-09-11 16:52:27 -07:00
twangboy
de33a40107 Fix test_win_pkg with real winrepo location 2024-09-11 16:52:27 -07:00
twangboy
63b9da8bde Fix pkg.removed with multiple versions on Windows 2024-09-11 16:52:27 -07:00
twangboy
cae94bca24 Make all network unit tests run on Windows 2024-09-11 16:52:08 -07:00
twangboy
8b16003cab Fix parsing of IPv4 mapped IPv6 addresses 2024-09-11 16:52:08 -07:00
twangboy
676945eec7 Only run tests when nsis files are modified 2024-09-11 13:46:13 -07:00
twangboy
fb2297e11c Update workflows 2024-09-11 13:46:13 -07:00
twangboy
c738a2f2ed Move installer tests to workflow 2024-09-11 13:46:13 -07:00
vzhestkov
e6468e87b0
Add changelog entry 2024-09-10 13:01:19 +02:00
David Murphy
a7da90d8f6 Removed commented out debug print statements 2024-09-09 13:30:49 -07:00
David Murphy
1ebd3c6b8e Forced rebuild 2024-09-09 13:30:49 -07:00
David Murphy
eada163968 Commented out debugging print statements 2024-09-09 13:30:49 -07:00
David Murphy
2bd4e000a8 Fix typo 2024-09-09 13:30:49 -07:00
David Murphy
067ee3ca04 Further debugging 2024-09-09 13:30:49 -07:00
David Murphy
ba558deaa8 Altered debugging 2024-09-09 13:30:49 -07:00
David Murphy
770def9213 Ensure salt_master is left running after test stopped it 2024-09-09 13:30:49 -07:00
David Murphy
4ee0f9410b Rearrangment of test parameters 2024-09-09 13:30:49 -07:00
David Murphy
7be41f56db Updated tests, and debugging 2024-09-09 13:30:49 -07:00
David Murphy
fbd6b74900 Further debug tests 2024-09-09 13:30:49 -07:00
David Murphy
2c8becaf81 Adjust tests for syndic 2024-09-09 13:30:49 -07:00
David Murphy
b0e1dfd7b3 Revert logrotation test to RedHat family only 2024-09-09 13:30:49 -07:00
David Murphy
6874ff572e Revert syndic from master opts to check test failures 2024-09-09 13:30:49 -07:00
David Murphy
853d3dafe3 Added delay for salt_master running, and updated some package tests 2024-09-09 13:30:49 -07:00
David Murphy
e097b541c9 Testing with master_opts user for syndic_user 2024-09-09 13:30:49 -07:00
David Murphy
5298d333fa Update tests 2024-09-09 13:30:49 -07:00
David Murphy
d3ad2520d3 Updated salt-syndic to utilize user/group for Salt (master settings), and maintain on upgrade 2024-09-09 13:30:49 -07:00
David Murphy
4d2ad41860 Debugging 2024-09-09 13:30:49 -07:00
vzhestkov
9ae5bcaeba
Add test to check extension_modules value alignment 2024-09-09 10:18:58 +02:00
vzhestkov
7836a837cd
Use --cachedir parameter for extension_modules with salt-call 2024-09-09 10:18:52 +02:00
David Murphy
a10a2f171a
Merge pull request #66769 from max-arnold/slack-discord
[3006.x] Replace Slack with Discord
2024-08-29 13:34:23 -06:00
Max Arnold
ed7496ea47 Replace Slack with Discord 2024-08-29 13:43:00 +07:00
Daniel A. Wozniak
43c825f6ba No more salt.ext.tornado 2024-08-28 16:29:58 -07:00
David Murphy
137ccc40db
Merge pull request #66850 from dmurphy18/fix_community_slack_link
[3006.x] Update old Slack Community links with Discord links
2024-08-27 14:11:20 -06:00
David Murphy
1eb4ec7f46
Updated with correct Discord invite link, and correct badge link 2024-08-27 13:42:32 -06:00
David Murphy
80302f0b4c
Update old Slack Community links with Discord links 2024-08-27 13:28:04 -06:00
Daniel A. Wozniak
8dd2e3473c Merge branch '3006.x' into merge/3007.x/3006.x 2024-08-26 19:26:17 -07:00
Daniel A. Wozniak
2536ff635b Allow builds to proceed without coverage file 2024-08-23 16:45:27 -07:00
twangboy
d0d820673f Add encoding and no_spaces options to state 2024-08-22 08:10:55 -07:00
twangboy
fb031ac418 Add warning to docs 2024-08-22 08:10:55 -07:00
twangboy
7faee48ef3 Add an option to ini.set_option
Adds an new option named ``no_spaces`` to the ini.set_option function
that allows the user to deteremine whether the separator (``=``) should
be wrapped with spaces or not.
2024-08-22 08:10:55 -07:00
Alexey Murz Korepov
3ae69b9691 Option no_spaces to remove spaces in separator
Added new option `no_spaces` that controls adding spaces around separator in ini file.
2024-08-22 08:10:55 -07:00
David Murphy
3fea06f16d MacOS Test time limit is now 2 & 1/2 hours 2024-08-22 08:09:41 -07:00
David Murphy
c9603c2625 Bump to get rebuild 2024-08-22 08:09:41 -07:00
David Murphy
650f6089e1 Adjust timeout from 2 to 3 hours for MacOS package tests 2024-08-22 08:09:41 -07:00
Daniel Wozniak
a763096359
Merge pull request #66817 from dwoz/testskip
[3006.x] Skip pkg tests that need new golden image
2024-08-20 00:23:11 -07:00
Daniel A. Wozniak
4e8fe71a80 Skip pkg tests that need new golden image 2024-08-19 15:05:15 -07:00
Daniel Wozniak
246d066457
Merge pull request #66691 from dwoz/merge/master/3007.x
[master] Merge forward 3007.x into master
2024-08-19 15:00:26 -07:00
Daniel A. Wozniak
29ffc3ab1d Skip pkg tests that need new golden image 2024-08-19 15:00:09 -07:00
Daniel A. Wozniak
63958cf7e4 Test to check all transport ipc perms 2024-08-19 15:00:09 -07:00
Daniel A. Wozniak
d75030cfaf Fix test name check 2024-08-19 15:00:09 -07:00
Daniel A. Wozniak
61d6279963 more transport ipc socket permissions tests 2024-08-19 15:00:09 -07:00
Daniel A. Wozniak
3f9f0298bb Add changelog for #66228 2024-08-19 15:00:09 -07:00
Daniel A. Wozniak
9a6f5e8f48 Add transport layer ipc socket perms test 2024-08-19 15:00:09 -07:00
Daniel A. Wozniak
9ec04e006e Add docstring to ipc_publish_server 2024-08-19 15:00:09 -07:00
Daniel A. Wozniak
0466043ec6 Add regression test for master_event_pub.ipc permissions 2024-08-19 15:00:09 -07:00
Daniel A. Wozniak
411c1f384e Fix master pull socket permissions 2024-08-19 15:00:09 -07:00
Shane Lee
e987ff4c01 Fix status.master to detect master properly 2024-08-17 14:41:31 -07:00
Daniel A. Wozniak
17c58d6587 Fix grains test on FIPS platforms
Also, clean up pre-commit
2024-08-17 14:39:54 -07:00
Daniel A. Wozniak
671cdd9313 Migrate grains tests to pytest 2024-08-17 14:35:02 -07:00
Daniel A. Wozniak
a87f2418aa Skip pkg tests that need new golden image 2024-08-15 23:19:17 -07:00
Shane Lee
0d78611767 Fix win_wua to handle empty CDispatch objects 2024-08-15 14:50:18 -07:00
David Murphy
3cd7a62f3f Revised test due to reviewer comments 2024-08-15 14:49:38 -07:00
David Murphy
cbcaf9fa2f Limit test to Linux which use systemctl 2024-08-15 14:49:38 -07:00
David Murphy
f3a7083441 Adjusted tests for classic or relenv, as everything is relenv now 2024-08-15 14:49:38 -07:00
David Murphy
3d7ebf028d Removing tech debt and restoring original pytest.skip for tests 2024-08-15 14:49:38 -07:00
David Murphy
6d10c20ea8 Fix batch mode hang indefinitely in some scenarios - unit tests to follow 2024-08-14 15:37:54 -07:00
Erik Johnson
17dcfa29fd Add changelog file 2024-08-13 09:56:03 -07:00
Erik Johnson
46ef29b9af Add test case 2024-08-13 09:56:03 -07:00
Erik Johnson
3e8fb1a06a salt.utils.atomicfile: respect system umask when creating new files 2024-08-13 09:56:03 -07:00
Gareth J. Greenaway
852bf0004a Ensure Manjaro ARM reports the correct os_family of Arch. 2024-08-12 12:41:36 -07:00
Daniel A. Wozniak
092a79ccb9 Do not rely on is_alive 2024-08-12 08:29:23 -07:00
Daniel A. Wozniak
bcb0d79cdc Wait longer for the test process to finish 2024-08-12 08:29:23 -07:00
Daniel A. Wozniak
2b2c03893e Add changelog for #66726 2024-08-12 08:29:23 -07:00
Daniel A. Wozniak
afbb42e812 Call close method on finished processes 2024-08-12 08:29:23 -07:00
David Murphy
6e43c93634 Use updated pytest-skip-markers to pick up corrected MacOS Arm64 support 2024-08-12 08:28:47 -07:00
David Murphy
34e0120a89 Fix debugging 2024-08-12 08:28:47 -07:00
David Murphy
e97ae272fe further debug 2024-08-12 08:28:47 -07:00
David Murphy
ce881d54fb more debugging and added is_arm64 to utils platform 2024-08-12 08:28:47 -07:00
David Murphy
b3f2325645 Added debugging statements 2024-08-12 08:28:47 -07:00
David Murphy
4e41a00ef9 Allow for arm64 or x86_64 when testing MacOS 2024-08-12 08:28:47 -07:00
David Murphy
496bb08b58 Revert bad spelling for release name, was part of test 2024-08-12 08:28:47 -07:00
David Murphy
fb5afea86b Working fix, and clean up debug statements 2024-08-12 08:28:47 -07:00
David Murphy
1c1633a8da Refine debugging and skip on part test for MacOS 2024-08-12 08:28:47 -07:00
David Murphy
61a3053240 Fix typo 2024-08-12 08:28:47 -07:00
David Murphy
759b1673a0 Comment out debugging print statements in support pkg.py 2024-08-12 08:28:47 -07:00
David Murphy
72a65ff8ea Refined restart_services 2024-08-12 08:28:47 -07:00
David Murphy
c7fa80cccc Added more debugging 2024-08-12 08:28:47 -07:00
David Murphy
dab09a47b8 Adjusted debugging 2024-08-12 08:28:47 -07:00
David Murphy
715e1501f2 Added debugging information to pkg support 2024-08-12 08:28:47 -07:00
David Murphy
6f0e014664 Debug outputs for downgrade 2024-08-12 08:28:47 -07:00
David Murphy
3cea3efaf1 Doubled timeout to 120 for downgrade test 2024-08-12 08:28:47 -07:00
David Murphy
8c33bd50ec Corrected typo in 'Sudium' to 'Sodium' and pre-commit updated rest of file 2024-08-12 08:28:47 -07:00
David Murphy
101042d4e0 Remove psutil_compat.py file, which should have been removed when RHEL 6 EOL 2024-08-12 08:28:47 -07:00
David Murphy
6774e08aa4 Remove psutil_compat.py file, which should have been removed when RHEL 6 EOL 2024-08-12 08:28:47 -07:00
Daniel A. Wozniak
320641ca3c Remove commented out code 2024-08-08 18:39:40 -07:00
Daniel A. Wozniak
9c353984d7 Migrate grains tests to pytest 2024-08-08 17:03:15 -07:00
Daniel A. Wozniak
c24ccef828 Increase test timeout 2024-08-08 14:47:22 -07:00
ScriptAutomate
c222b6e978 Remove epub generation for docs 2024-08-08 14:36:04 -07:00
Tyler Levy Conde
53ddf5a32e The profile outputter does not crash with incorrectly formatted data 2024-08-08 14:35:00 -07:00
David Murphy
8b33b7fbaf
Merge pull request #66790 from dwoz/issue/3006.x/66789
[3006.x] Method name is _decode_payload not _decode_messages
2024-08-08 10:00:29 -06:00
Daniel A. Wozniak
05528e22e5 Add changelog for #66789 2024-08-07 16:09:42 -07:00
Daniel A. Wozniak
002ab9103c Method name is _decode_payload not _decode_messages 2024-08-07 16:07:42 -07:00
Daniel A. Wozniak
aad1050e21 Increase test timeout 2024-08-07 15:06:51 -07:00
Daniel A. Wozniak
6a9fa5e2ec increase timeout 2024-08-07 00:58:49 -07:00
Daniel A. Wozniak
6597a6b115 Increase timeout on grains test 2024-08-06 17:08:07 -07:00
Daniel A. Wozniak
9d123b949e Skip chocolatey tests
These tests are failing because CI/CD is flooding chocolatey's APIs with
requests. They need to be refactored to not hit APIs outside of our
infrustructure.
2024-08-06 17:05:58 -07:00
Daniel A. Wozniak
f2b4410681 Fix pkg tests on arch 2024-08-06 00:26:24 -07:00
Daniel A. Wozniak
cd9753ff0f Skip ssh slsutil tests when system python is below 3.8 2024-08-05 22:23:46 -07:00
Salt Project Packaging
b40833ed15
Release v3006.9 2024-07-29 07:51:58 +00:00
Daniel A. Wozniak
3b10d47286 Fix windows requirments pre-commit 2024-07-28 23:45:27 -07:00
Daniel A. Wozniak
ef2a5a1a25 Fix windows pymssql requirement 2024-07-28 22:30:59 -07:00
Shane Lee
e1d3c747e8 Skip pkg download test on Windows... for now 2024-07-27 22:46:51 -07:00
Shane Lee
a2b850557c Make sure installer/uninstaller isn't running 2024-07-26 13:53:55 -07:00
David Murphy
c25c8d55e8 Updated comment 2024-07-26 11:13:40 -07:00
David Murphy
1b66ffc3ac Replace use of pygit2 deprecated and removed (1.15.0) oid with id 2024-07-26 11:13:40 -07:00
David Murphy
6b0690e5af Remove debug output from shell scripts for packaging 2024-07-25 14:51:49 -07:00
Daniel A. Wozniak
8f4565c42d Use artifact version for compare_versions test 2024-07-24 00:53:42 -07:00
Daniel A. Wozniak
f39b7992d7 Revert "Test check_version fix"
This reverts commit 2cd8eb7e56.
2024-07-24 00:53:42 -07:00
Shane Lee
962f7529fb Accept 2 as a valid exitcode for the nsis installer 2024-07-23 13:31:27 -07:00
Daniel A. Wozniak
22f3d26708 Test check_version fix 2024-07-23 09:13:39 -07:00
Daniel A. Wozniak
137a6b7119 Revert windows installer check change 2024-07-22 17:57:22 -07:00
Shane Lee
68d18b2ad3 Fix win_dsc tests 2024-07-22 13:57:29 -07:00
Shane Lee
0fcde71062 Fixes cmd.run with requisites on Windows
Formats the command properly for powershell
Adds changelog and tests
2024-07-19 11:47:22 -07:00
Daniel A. Wozniak
176bd3aca8 Update certifi in answer to dependabot 2024-07-18 21:25:04 -07:00
Max Arnold
84b4e96db2 Add integration test 2024-07-18 16:17:31 -07:00
Max Arnold
76ae4a6875 Make sure the root minion process handles SIGUSR1 2024-07-18 16:17:31 -07:00
Daniel A. Wozniak
15112db802 Fix new linter errors that poped up on nightlys 2024-07-18 14:50:12 -07:00
jeanluc
14edbcf19c Fix parallel state execution with Salt-SSH 2024-07-18 14:06:48 -07:00
jeanluc
d7446d9a32 Add test for issues #66514 and #53538 2024-07-18 14:06:48 -07:00
Daniel A. Wozniak
610cdaaec6 Test fix 2024-07-17 14:29:53 -07:00
Daniel A. Wozniak
4a2733a827 Add changelog for #66702 2024-07-17 14:29:53 -07:00
Daniel A. Wozniak
a504c4cd73 RemotePillar raises an exception on bad data
If the master returns a bad pillar data response the pillar client
should raise an exception. This changes RemotePillar and
AsyncRemotePillar classes to use the same logic for validating pillar
data from the master. Fixes CVE-2024-37088 by causing salt-call to fail
with a non zero exit code rather than continuing to execute a state when
pillar data rendering fails on the master.
2024-07-17 14:29:53 -07:00
Daniel A. Wozniak
b8a2e80c4d Add regression test for CVE-2024-37088
Add validation for the way RemotePillar and AsyncRemotePillar handle
pillar result validation.
2024-07-17 14:29:53 -07:00
Shane Lee
853f1441ad Tie windows installer action into ci.yml 2024-07-17 14:27:33 -07:00
Shane Lee
64ef4b1349 Add simple workflow for Windows Installer Tests 2024-07-17 14:27:33 -07:00
Shane Lee
2595d8ea15 Fix nsis installer/uninstaller to close when it's finished 2024-07-17 14:27:33 -07:00
hurzhurz
4e707af83b Fix relative file_roots paths 2024-07-16 13:57:17 -07:00
Tyler Levy Conde
77b7c2327b Remove changes to test_cmdmod.py 2024-07-16 13:31:39 -07:00
Tyler Levy Conde
519d93f3d4 Update docs for cmd.script to account for falsey script values 2024-07-16 13:31:39 -07:00
Tyler Levy Conde
0defb98428 Added test to catch Falsey value output issue in cmd.script 2024-07-16 13:31:39 -07:00
David Murphy
830a69e75d Update to use 'darwin' for MacOS 2024-07-15 14:21:02 -07:00
David Murphy
98d7acdeb8 Removed DGM comment and adjusted skip for downgrade 2024-07-15 14:21:02 -07:00
David Murphy
37a1c80792 Updated test skip to include all OS's 2024-07-15 14:21:02 -07:00
David Murphy
dd1309cb2b Exclude Debian & Ubuntu downgrade testing till fixes from PR 66218 2024-07-15 14:21:02 -07:00
David Murphy
bf1d23ca8b Debugging 2024-07-15 14:21:02 -07:00
David Murphy
0707440b1f Debugging Debian, Ubuntu downgrade failure 2024-07-15 14:21:02 -07:00
David Murphy
baa296af3c More debugging of downgrade 2024-07-15 14:21:02 -07:00
David Murphy
e29a663367 Debugging downgrade failures 2024-07-15 14:21:02 -07:00
David Murphy
0681720f50 Adjust testing support for pkg, and downgrading 2024-07-15 14:21:02 -07:00
David Murphy
aef7697f23 Adjust downgrade tests to allow for psutil, similar to upgrade test 2024-07-15 14:21:02 -07:00
David Murphy
a04ae0323c Fix typo 2024-07-15 14:21:02 -07:00
David Murphy
5b6ea8b5f2 Added back skip unless on Darmin pytest marker for symbolic tests 2024-07-15 14:21:02 -07:00
David Murphy
0d1d9a1649 Updated test to run on Linux only 2024-07-15 14:21:02 -07:00
David Murphy
1e4509fd7d Updated package integration tests 2024-07-15 14:21:02 -07:00
David Murphy
c13bcb4597 Updated package integration tests 2024-07-15 14:21:02 -07:00
David Murphy
c1a5e4e122 Revert test for resp status failure 2024-07-15 14:21:02 -07:00
David Murphy
ceef4eacdc Ensure salt master is running before attempting salt api usage 2024-07-15 14:21:02 -07:00
David Murphy
a5a5ca9081 Updated version comparsion and to ignore ipc files 2024-07-15 14:21:02 -07:00
David Murphy
6743cefc1c Revised tests 2024-07-15 14:21:02 -07:00
dmurphy18
e2bb8361cf Revert change 2024-07-15 14:21:02 -07:00
dmurphy18
761c576bf5 Rearranging tests 2024-07-15 14:21:02 -07:00
David Murphy
c48a3e412c Updated tests 2024-07-15 14:21:02 -07:00
David Murphy
693053d684 Removed more support for classic packages, adjust handling of '--no-install' 2024-07-15 14:21:02 -07:00
David Murphy
0a8bc5aeb0 Backing out changes to discover cause of FileNotFoundError messages 2024-07-15 14:21:02 -07:00
David Murphy
82070dc46d Cleanup of debug, and revision of tests 2024-07-15 14:21:02 -07:00
David Murphy
c21f67b915 Updated tests 2024-07-15 14:21:02 -07:00
David Murphy
89ee02f891 Updated tests 2024-07-15 14:21:02 -07:00
David Murphy
70a69e9e2c Strip github version additions, so checking major.minor version of Salt 2024-07-15 14:21:02 -07:00
David Murphy
12332188af Updated tests, cut too deep removing debug statements 2024-07-15 14:21:02 -07:00
David Murphy
ff1fcf5e95 Remove left over trace debug statement 2024-07-15 14:21:02 -07:00
David Murphy
64e41d9166 Updated tests for ownership and systemd enable/disable, active/inactive 2024-07-15 14:21:02 -07:00
David Murphy
b65433f8ea Updated tests 2024-07-15 14:21:02 -07:00
David Murphy
0d5b85fb1a tests update 2024-07-15 14:21:02 -07:00
David Murphy
e1d34cfc7a fix return code test for inactive 2024-07-15 14:21:02 -07:00
David Murphy
85c77e65b0 Added more tests for enabled, disabled, inactive and active, ownership wip 2024-07-15 14:21:02 -07:00
David Murphy
b3cc75e5de Fix test 2024-07-15 14:21:02 -07:00
David Murphy
2da91cd48d WIP Initial updated tests 2024-07-15 14:21:02 -07:00
David Murphy
1ebb6b0b17 Debugging MacOS 2024-07-15 14:21:02 -07:00
David Murphy
9bbf6491a3 WIP additional tests for salt-master 2024-07-15 14:21:02 -07:00
David Murphy
9138c3ccd2 Further debug 2024-07-15 14:21:02 -07:00
David Murphy
24a44edf8c Further debug statements 2024-07-15 14:21:02 -07:00
David Murphy
9abb43cdcf More debug 2024-07-15 14:21:02 -07:00
David Murphy
d63062be82 Fix psutil for MacOS platform check 2024-07-15 14:21:02 -07:00
David Murphy
449c82226e Fix debugging order 2024-07-15 14:21:02 -07:00
David Murphy
1a82d65a25 Further debug statements 2024-07-15 14:21:02 -07:00
David Murphy
102afa6ac9 Minor cleanup of commented out code 2024-07-15 14:21:02 -07:00
David Murphy
e2761de56b Addition method to output debug info 2024-07-15 14:21:02 -07:00
David Murphy
f742ecda0e Futher removal of support for Salt 3005 2024-07-15 14:21:02 -07:00
David Murphy
c5632c7d10 Disable classic upgrade - downgrade testing 2024-07-15 14:21:02 -07:00
David Murphy
7f8dbe2ed2 Commented out new tests for salt-master, to check build 2024-07-15 14:21:02 -07:00
David Murphy
18a4dd8282 Update to allow for systemctl daemon-reload after installing new packages 2024-07-15 14:21:02 -07:00
David Murphy
ac20d2fd75 Attempting to allow for upgrade and downgrade tests 2024-07-15 14:21:02 -07:00
David Murphy
b44bd4be78 Fix typo's and parsing of RESLT 2024-07-15 14:21:02 -07:00
David Murphy
fc428ef22f Updated templates for systemd api, master and minion 2024-07-15 14:21:02 -07:00
David Murphy
99f9f1827d Added pytest import to tests 2024-07-15 14:21:02 -07:00
David Murphy
ead4d3b90c More idea testing 2024-07-15 14:21:02 -07:00
David Murphy
161e23f3e5 Testing some ideas 2024-07-15 14:21:02 -07:00
David Murphy
665451d3cf Testing debconf with salt-minion 2024-07-15 14:21:02 -07:00
David Murphy
840e22c734 Further updates for Debian post install scripts 2024-07-15 14:21:02 -07:00
David Murphy
0b2eb2db8f Install fixes 2024-07-15 14:21:02 -07:00
David Murphy
6319f9c981 Adjusting install, upgrade scripts 2024-07-15 14:21:02 -07:00
David Murphy
72e414becc Updated pkg upgrade and downgrade tests 2024-07-15 14:21:02 -07:00
David Murphy
f9bd4ad1b6 Updated preinst and initial downgrade and upgrade salt-master tests 2024-07-15 14:21:02 -07:00
David Murphy
5ec86050ca Updated Debian and RPM to allow for correct ownership and systemd status 2024-07-15 14:21:02 -07:00
David Murphy
949e30cc74 Fixed typo 2024-07-15 14:21:02 -07:00
David Murphy
d3e0bf3437 Fixed issues in pre and post install for salt-master 2024-07-15 14:21:02 -07:00
David Murphy
306e3ded4f WIP - Testing salt-master maintain ownership fixes 2024-07-15 14:21:02 -07:00
David Murphy
cb6802b35d WIP - testing rpm solution for ownership on upgrade 2024-07-15 14:21:02 -07:00
David Murphy
060b0d2e43 Ensure on rpm systems, that user and group for existing Salt, is maintained on upgrade 2024-07-15 14:21:02 -07:00
Daniel A. Wozniak
f1d50c0ce2 Fix pkg tests on arch 2024-07-14 00:34:54 -07:00
Carlos Álvaro
18ca4fdfa9 doc(macdefaults): Add ..versionadded:: 2024-07-12 15:27:33 -07:00
Carlos Álvaro
83225aca7d fix(macdefaults): Use salt.utils.files.open 2024-07-12 15:27:33 -07:00
Carlos Álvaro
dd5575e90f fix(macdefaults): Use TemporaryDirectory instead of TemporaryFile
TemporaryFile has no name, so NamedTemporaryFile would be a better option.

However, until Python 3.12, this file is deleted on close, which is not valid for this purpose. TemporaryDirectory is used instead.
2024-07-12 15:27:33 -07:00
Carlos Álvaro
5124936f9e feat(macdefaults): Allow selecting key separator 2024-07-12 15:27:33 -07:00
Carlos Álvaro
8742299e98 feat(macdefaults): catch write exceptions to return safely 2024-07-12 15:27:33 -07:00
Carlos Álvaro
f5067e7853 feat(macdefaults): Add support for copmplex keys and nested dictionaries 2024-07-12 15:27:33 -07:00
Carlos Álvaro
7c5baf4bbe enh(macdefaults): Use generator instead of list 2024-07-12 15:27:33 -07:00
Carlos Álvaro
aaba6250c0 feat(macdefaults): Add basic support for array-add and dict-add 2024-07-12 15:27:33 -07:00
Carlos Álvaro
6e51f3b755 doc: Add changelog entry 2024-07-12 15:27:33 -07:00
Carlos Álvaro
19cbf09521 feat(macdefaults): Improve macOS defaults support 2024-07-12 15:27:33 -07:00
Pablo Suárez Hernández
22611256aa Add unit tests to cover rich rules normalization 2024-07-11 15:00:53 -07:00
Pablo Suárez Hernández
bd60c9b40a Enhance documentation for normalization function 2024-07-11 15:00:53 -07:00
Marek Czernek
f96ecd141c Normalize new rich rules before comparing to old
Firewallcmd rich rule output quotes each
assigned part of the rich rule, for example:
rule family="ipv4" source port port="161" ...
The firewalld module must first normalize
the user defined rich rules to match the
firewallcmd output before comparison to
ensure idempotency.
2024-07-11 15:00:53 -07:00
Pablo Suárez Hernández
2aa213123b Add changelog entry 2024-07-11 15:00:53 -07:00
Tyler Levy Conde
3b697d39a2 file.replace and file.search work properly with /proc files 2024-07-10 14:53:10 -07:00
Daniel A. Wozniak
bfc78d7646 Fix pre-commit 2024-07-04 21:59:25 -07:00
AldarisPale
589537902e Make extmod not found error message mean more
When module is places in the incorrect directory, the loading of the module will fail. Give more meaningful error message and a possible solution to the problem.
I've hit this problem personally and debugging it took more than 3 hours.
2024-07-04 21:59:25 -07:00
Tyler Levy Conde
eb723cdc7e Simplify tests to just use venv 2024-07-04 21:51:32 -07:00
Tyler Levy Conde
a7381119cd added changelog 2024-07-04 21:51:32 -07:00
Tyler Levy Conde
1075ec077c replace 'venv' with the module 2024-07-04 21:51:32 -07:00
Tyler Levy Conde
bb26d8c97c replace pyvenv with builtin venv 2024-07-04 21:51:32 -07:00
Tyler Levy Conde
28d144aa46 Remove deprecated pyvenv 2024-07-04 21:51:32 -07:00
Daniel A. Wozniak
539664c6ba Merge branch '3007.x' into merge/master/3007.x 2024-07-04 21:35:33 -07:00
Daniel Wozniak
bd89384259
Merge pull request #66681 from dwoz/merge/3007.x/3006.x
[3007.x] Merge 3006.x into 3007.x
2024-07-04 21:30:26 -07:00
Daniel A. Wozniak
cb09449401 Merge remote-tracking branch 'saltstack/3006.x' into merge/3007.x/3006.x 2024-07-03 15:51:48 -07:00
David Murphy
a09558bb27 Corrected missed line in branch 3006.x when backporting from PR 61620 and 65044 2024-07-03 09:10:35 -07:00
David Murphy
3618966bc7
Merge pull request #66442 from hurzhurz/3006.x-wintask-fixes
[3006.x] fix win_task ExecutionTimeLimit and result/error code interpretation
2024-07-02 10:31:39 -06:00
David Murphy
43c32e62df
Merge branch '3006.x' into 3006.x-wintask-fixes 2024-07-01 14:32:55 -06:00
Daniel A. Wozniak
62903c242f Merge forward 3006.x to 3007.x 2024-07-01 08:29:08 -07:00
Shane Lee
7cbfcf027e Add some more error output, use $env:TEMP 2024-07-01 08:28:49 -07:00
Daniel A. Wozniak
0c50222775 Fix pre-commit 2024-06-29 21:17:49 -07:00
Daniel A. Wozniak
6984ae0ca1 Upgrade relenv to 0.17.0 2024-06-29 21:14:00 -07:00
Daniel A. Wozniak
83dc2acece Fix pre-commit on 3006.x 2024-06-27 06:29:16 -07:00
Daniel Wozniak
847c94b56d
Merge pull request #66654 from dwoz/merge/3007.x/3006.x
[3007.x] Merge forward 3006.x into 3007.x
2024-06-27 05:39:18 -07:00
Daniel A. Wozniak
679605891d Skip test on photon 2024-06-26 12:43:04 -07:00
Daniel A. Wozniak
54ebfae38a Remove pymysql from windows core requirements 2024-06-25 22:43:26 -07:00
Daniel A. Wozniak
3821987b9d Add chengelog for dependency version updates 2024-06-25 22:43:26 -07:00
Daniel A. Wozniak
78c29e1679 Bump pymysql to 1.1.1 2024-06-25 22:43:26 -07:00
Daniel A. Wozniak
89442132ff Add documentation about Salt's master packge user 2024-06-25 09:26:16 -07:00
David Murphy
1abc6bb34f
Merge pull request #66668 from dwoz/flaky_mem_test
[3006.x] Skip flawed test
2024-06-25 09:20:20 -06:00
Daniel A. Wozniak
24d5a4ea4b Skip flawed test 2024-06-25 05:20:39 -07:00
Daniel A. Wozniak
a359f9188f More fips test fixes 2024-06-25 05:18:45 -07:00
Daniel A. Wozniak
ec663ec3a7 move comment to helpful docstring 2024-06-25 01:55:59 -07:00
jeanluc
8e54f28333 Fix state.test test, run pre-commit
The test fix was part of 6a715107fa
2024-06-25 00:16:04 -07:00
jeanluc
db1dfb6784 Fix unused var in grains.get wrapper
`ordered=False` would not have worked before

(cherry picked from commit 5e16d84834)
2024-06-25 00:16:04 -07:00
jeanluc
fbf345e0d4 Add logmod SSH wrapper
(cherry picked from commit 18bc40c77a)
2024-06-25 00:16:04 -07:00
jeanluc
512f61d573 Add state.test to SSH wrapper
(cherry picked from commit 82f90e2f15)
2024-06-25 00:16:04 -07:00
jeanluc
6c62792c73 Sync config SSH wrapper with execution module
The wrapper has diverged significantly from the module.

* `option` did not check grains
* `option` did not have `omit_all` and `wildcard` parameters
* `get` missed several parameters: `delimiter`, `merge` and all `omit_*`
* There was no wrapping function for `items`.

(cherry picked from commit 8356be888b)
2024-06-25 00:16:04 -07:00
jeanluc
e9ecf30500 Add defaults SSH wrapper module
This is a 1:1 copy of the execution module, incl. tests...

(cherry picked from commit 47a609fab0)
2024-06-25 00:16:04 -07:00
jeanluc
94eaf94345 Add slsutil SSH wrapper
(cherry picked from commit ddc1197647)
2024-06-25 00:16:04 -07:00
Akmod
809a22598b Update grammer in docstring of virtualenv_mod.py 2024-06-24 09:57:22 -07:00
Daniel A. Wozniak
766f8cf988 Add note to virtualenv state docs about onedir 2024-06-24 09:57:22 -07:00
Daniel A. Wozniak
6c6f0f41f0 fix configuration path test on windows 2024-06-24 09:54:49 -07:00
Daniel A. Wozniak
5f6c06ed56 Remove unwanted print statement 2024-06-24 09:54:49 -07:00
Daniel A. Wozniak
baee8afd3a Additional fixes for windows root_dir logic 2024-06-24 09:54:49 -07:00
Daniel A. Wozniak
9bfe7cf898 Fix cloud config root_dir paths on windows 2024-06-24 09:54:49 -07:00
Daniel A. Wozniak
57d2becb8f Add basic unit test for prepend_root_dir method 2024-06-24 09:54:49 -07:00
Daniel A. Wozniak
dfd6221cc5 Fix salt cloud's log_file location when root_dir is given in config 2024-06-24 09:54:49 -07:00
Daniel A. Wozniak
3735415fbc Bump requests and docker requirements 2024-06-24 09:37:46 -07:00
Daniel A. Wozniak
1e2e79db75 Use FullArgSpec as ArgSpec is deprecated 2024-06-24 09:37:18 -07:00
Daniel A. Wozniak
43565e2210 Fix syndic test on fips platforms 2024-06-24 09:20:28 -07:00
bdrx312
378b1061e8 Fix incorrect version argument will be ignored warning 2024-06-24 09:14:08 -07:00
Daniel A. Wozniak
2a04013aae Fix duplicate kwarg 2024-06-24 04:36:31 -07:00
Daniel A. Wozniak
0559f97be3 Fix deltaproxy and cluster tests in fips mode. 2024-06-24 02:53:31 -07:00
Daniel A. Wozniak
1082ce3c5f Mulitple fips test run fixes 2024-06-24 01:18:53 -07:00
Daniel A. Wozniak
57779dea8a Fim master key decrypt 2024-06-23 06:13:22 -07:00
Daniel A. Wozniak
29bb08c662 Remove duplicate tests that are out of date 2024-06-23 04:09:07 -07:00
Daniel A. Wozniak
1532472dcb salt.crypt.private_encrypt is no longer needed
The class moethod salt.crypt.PrivateKey.encrypt replaces
salt.crypt.private_encrypt
2024-06-22 12:42:24 -07:00
Daniel A. Wozniak
84a9175e2c Fix merge forward duplicate tests 2024-06-22 11:42:42 -07:00
Daniel A. Wozniak
5f1b51901c Avoid circular import 2024-06-22 07:53:30 -07:00
Daniel A. Wozniak
9c12b06903 test fixes 2024-06-22 05:11:12 -07:00
Daniel A. Wozniak
561ad66dbb Fix linter error 2024-06-22 01:33:01 -07:00
Jamie Murphy
a461c4bbec precommit fixes 2024-06-22 00:40:31 -07:00
Jamie (Bear) Murphy
a2fac53127 test httpclient in pillar 2024-06-22 00:40:31 -07:00
Matthias Kesler
0b92bfdf80 Fix #66194: Exchange HTTPClient by AsyncHTTPClient in salt.utils.http 2024-06-22 00:40:31 -07:00
Daniel A. Wozniak
60cc8dbce8 Merge forward 3006.x into 3007.x 2024-06-21 23:53:49 -07:00
Daniel Mach
3bc6e3a01d Fix utf8 handling in 'pass' renderer and make it more robust
(cherry picked from commit 8dfc923876)
2024-06-20 20:22:35 -07:00
Daniel Mach
da375bb682 Migrate string formatting in 'pass' renderer to a f-string 2024-06-20 20:22:35 -07:00
jeanluc
a37e5c704b Use file paths for x509_v2 functional state tests
... they are more realistic.
2024-06-20 20:03:57 -07:00
jeanluc
c1642c5b50 Make local signing with policy containing signing key work 2024-06-20 20:03:57 -07:00
jeanluc
56234c13f1 Add test for issue #66414 2024-06-20 20:03:57 -07:00
Daniel A. Wozniak
2f84693dc3 Add changelog for #65251 2024-06-19 20:35:07 -07:00
Daniel A. Wozniak
c174570e53 Allow NamedLoaderContexts to be returned from loader
It is useful in some cases to return NamedLoaderContexts from loaded
functions. Instead of choking or requireing implimenters to call the
context's value() method before being de-scoped, detect when a
NamedLoaderContext has been returned and return the value from the
current context.
2024-06-19 20:35:07 -07:00
dmurphy18
d1d84e87b3 Removed comment line and removed typo 2024-06-19 11:23:50 -07:00
David Murphy
8a9c92a72d Updated changelog 2024-06-19 11:23:50 -07:00
David Murphy
ae459fa73a Update to include croniter in pkg requirements 2024-06-19 11:23:50 -07:00
Daniel A. Wozniak
44200b16cc Skip package meta tests on old rpm cli versions 2024-06-19 11:23:05 -07:00
ScriptAutomate
1b39837f34 Use older Linux OS for wider CI deps compatibility 2024-06-18 22:15:38 -07:00
Daniel A. Wozniak
ecd92059af Add changelog for fips fix 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
d4b4067ee4 Add tests for garbage input 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
c408cddfaf Remove un-needed print statments 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
9d24b79637 Clean up cruft and add comment 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
534bf76463 Helpful log messages for when things go wrong
Provide helpful log messages on the master and minions if a minion uses
signing or encryption that is not suppoted by the master.
2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
80a2f65e58 Attempt to fix windows package tests 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
e2e3dc9634 Windows master tests fix 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
a10aa05f41 Ensure key is bytes not string 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
389aac9663 More fips test fixes 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
a5787031b0 Fix publish_signing_algorithm conditional 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
63bab25e1c Fix more FIPS tests 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
96395966da Fix scenarios tests under FIPS 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
1d0fcee9c1 Fix tests for fips runs 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
db823848f4 Attempt windows fix 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
58fe224eeb More fips test fixes 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
09e09741d4 Skip tests that will not succeed when FIPS provider is used 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
20312c732d Add cryptography to Salt versions report 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
7b3a89c821 Fix tests undef fips 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
7322f3796b Enforce valid publish_signing_algorithm config 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
73d35c9d54 More test update to support fips 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
6d1cb70a37 fix black 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
a40196be9e Fix typo 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
f6a880a2f1 Fix master default publish_signing_algorithm 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
7eb4fb6cd3 Remove reinit_crypto calls 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
7d35efe5b9 validate minion crypto config 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
277e56b113 Fix encryption config for tests 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
b32f09b655 Clean up un-needed re-init crypto and test fix 2024-06-18 22:12:20 -07:00
Daniel A. Wozniak
6fe58ffd30 Enable fips supported algorithms 2024-06-18 22:12:20 -07:00
ScriptAutomate
ad253d724a Replace expired pubkey for security reporting 2024-06-18 10:17:08 -06:00
Daniel A. Wozniak
34151d4490 Add changelog for 66632 2024-06-17 20:37:35 -07:00
Daniel A. Wozniak
a108024fca Upgrade relenv to 0.16.1 2024-06-17 20:37:35 -07:00
ScriptAutomate
10dce329d5 Drop CentOS 7 support; Package with Rocky Linux 9 2024-06-12 09:13:26 -07:00
David Murphy
bff5a809cb
Merge pull request #66626 from dwoz/nigthlyfix
[3006.x] Fix broken gitfs ssh tests on nightly builds
2024-06-11 09:35:30 -06:00
Daniel A. Wozniak
19669adde2 Fix broken gitfs ssh tests on nightly builds 2024-06-10 19:42:21 -07:00
Daniel A. Wozniak
5bb6c0f638 Remove un-needed skip 2024-06-10 18:03:10 -07:00
Daniel A. Wozniak
4523450ddf Use artifact version for pkg name 2024-06-10 18:03:10 -07:00
Daniel A. Wozniak
580d8b2851 Skip test on upgrade and downgrade 2024-06-10 18:03:10 -07:00
Daniel A. Wozniak
3d539e4dd2 Add changelog for #66604 2024-06-10 18:03:10 -07:00
Daniel A. Wozniak
a8c4700c72 Fix provides arch 2024-06-10 18:03:10 -07:00
Daniel A. Wozniak
d77574fd0b Fix rpm name 2024-06-10 18:03:10 -07:00
Daniel A. Wozniak
c5a5738cf3 Add regression test for package meta 2024-06-10 18:03:10 -07:00
Daniel A. Wozniak
0958595262 Fix rpm provides and requires 2024-06-10 18:03:10 -07:00
Daniel A. Wozniak
79b4ffa116 Revert change to spec file 2024-06-10 18:03:10 -07:00
Akmod
e2cf0e561e requisites *should* be aggregated 2024-06-07 22:07:43 -07:00
Tyler Levy Conde
5c7124a0ee Add changelog entry 2024-06-07 22:07:43 -07:00
Tyler Levy Conde
0b599713e9 Aggregate requisites AFTER aggregating states 2024-06-07 22:07:43 -07:00
Tyler Levy Conde
9ea88c5bef removed clutter 2024-06-07 22:07:43 -07:00
Tyler Levy Conde
bd98f0db68 Test successfully replicates the issue 2024-06-07 22:07:43 -07:00
Tyler Levy Conde
c1b8d81282 Add tests for state compiler aggregation 2024-06-07 22:07:43 -07:00
Daniel Wozniak
e6ad2cc4db
Merge pull request #66619 from dwoz/test_fix
[3006.x] Make windows pkg builds more reliable
2024-06-05 15:07:48 -07:00
Daniel Wozniak
e6bba0ddba
Merge branch '3006.x' into test_fix 2024-06-05 15:07:11 -07:00
David Murphy
c7e18526f6 Trying Windows fix, removing $() on env:TEMP 2024-06-05 14:47:29 -07:00
David Murphy
00c45646d3 Fix nightly build test missed in PR 65937 2024-06-05 14:47:29 -07:00
Daniel A. Wozniak
e74ba6f802 Make windows pkg builds more reliable 2024-06-05 01:21:26 -07:00
David Murphy
332379d06a Removed debugging statements 2024-06-03 12:24:11 -07:00
David Murphy
9bb92ed23d Revised finalization of processes 2024-06-03 12:24:11 -07:00
David Murphy
8198500f51 Saving debug info for proc and psutil processes which shows difference - psutil.process(pid) doesn't give register function 2024-06-03 12:24:11 -07:00
David Murphy
01a44b41f8 Added debugging info 2024-06-03 12:24:11 -07:00
David Murphy
eb07f58277 Added debugging 2024-06-03 12:24:11 -07:00
David Murphy
81e39a3042 Refractor after review 2024-06-03 12:24:11 -07:00
David Murphy
af5a485793 Updates after reviewer comments 2024-06-03 12:24:11 -07:00
David Murphy
55fa8cee80 Cleanup debug logging 2024-06-03 12:24:11 -07:00
David Murphy
7b40bdd4f9 Fix typo in assert check 2024-06-03 12:24:11 -07:00
David Murphy
b9203f80db Add allowance for machine identifier for recent test 2024-06-03 12:24:11 -07:00
David Murphy
56f3cbeff8 Removed circular dependency on salt.utils.files.fopen 2024-06-03 12:24:11 -07:00
David Murphy
5910c162d7 Some clean up of old code 2024-06-03 12:24:11 -07:00
David Murphy
f4d1e2ee49 Fix typo 2024-06-03 12:24:11 -07:00
David Murphy
f7366267ab WIP Initial testing refactor 2024-06-03 12:24:11 -07:00
David Murphy
848c7ad5bf Moved get_machine_identifier to salt utils platfrom as per reviewers request 2024-06-03 12:24:11 -07:00
David Murphy
fcbb59cf17 Updates due to reviewer comments 2024-06-03 12:24:11 -07:00
David Murphy
4a838b3ade Changes due to reviewer comments 2024-06-03 12:24:11 -07:00
David Murphy
17fb9f6c31 Reworded error message for better English 2024-06-03 12:24:11 -07:00
David Murphy
9d5975f64e Ensure SIGTERM tests etc only run on Linux 2024-06-03 12:24:11 -07:00
David Murphy
20854d6366 Allow some time for processes to get started after processmanager.run() command 2024-06-03 12:24:11 -07:00
David Murphy
b2c2c5a9cd Moved code under with caplog set to DEBUG to ensure all tests correct 2024-06-03 12:24:11 -07:00
David Murphy
152811fcc6 Altered procmgr.run to run asynchronously 2024-06-03 12:24:11 -07:00
David Murphy
6a2fb70d59 Updated tests to release lock with try/except/finally 2024-06-03 12:24:11 -07:00
David Murphy
8fb0127f99 Allow for machine_id key when getting the machine_identifier 2024-06-03 12:24:11 -07:00
David Murphy
0de790cd28 Ensured use of get_machine_identifier from salt.utils.files for identifying a machine id 2024-06-03 12:24:11 -07:00
David Murphy
f98b7073cd Moved location for finding machine_id to salt utils files, and had grains import from there 2024-06-03 12:24:11 -07:00
David Murphy
37164221e5 Removed commented out debug code 2024-06-03 12:24:11 -07:00
David Murphy
21cf213b10 Cleaned up tests and removal of debug statements 2024-06-03 12:24:11 -07:00
David Murphy
695353ee91 Updated to use grains/core.py get_machine_id for machine identifier 2024-06-03 12:24:11 -07:00
David Murphy
c982cbdb3e Updated SIGTERM test, and additional tests, and cleanup 2024-06-03 12:24:11 -07:00
David Murphy
2265376154 Working test for SIGTERM of held lock 2024-06-03 12:24:11 -07:00
David Murphy
56a11ba9d1 WIP Test for kill SIGTERM 2024-06-03 12:24:11 -07:00
David Murphy
443fdd3e34 WIP - Test kill cleanup of resources 2024-06-03 12:24:11 -07:00
David Murphy
ee55b9abe3 Initial SIGTERM testing 2024-06-03 12:24:11 -07:00
David Murphy
9c80258c0c Tests for gen_lock functionality 2024-06-03 12:24:11 -07:00
David Murphy
f832181ee3 Testing additional test 2024-06-03 12:24:11 -07:00
David Murphy
ec549d6a06 Working tests ported from unittest to pytest 2024-06-03 12:24:11 -07:00
David Murphy
3d2c111f58 [WIP] Almost working port from unit test to pytest, contains debugging 2024-06-03 12:24:11 -07:00
David Murphy
40d5a253fe Initial port from unittest to pytest of unit/utils/test_gitfs.py to test_gitfs_locks.py 2024-06-03 12:24:11 -07:00
David Murphy
1b6e964244 Updated format to f-string, and adjusted error messages to match tests 2024-06-03 12:24:11 -07:00
David Murphy
2a532aa2a3 Fix missing typo f-string 2024-06-03 12:24:11 -07:00
David Murphy
0ba93f829c Fix up use of get_machine_identifer 2024-06-03 12:24:11 -07:00
David Murphy
0206162c2d Moved get_machine_identifier temporiarly till sorted where it will be and what 2024-06-03 12:24:11 -07:00
David Murphy
563556eade Updated gitfs tests for machine identifier 2024-06-03 12:24:11 -07:00
David Murphy
d58a6897e6 Fix for GitFS failure to unlock lock file, and resource cleanup for process SIGTERM, tests to be done 2024-06-03 12:24:11 -07:00
David Murphy
1290f93d06 WIP - Handling GitFS locking issue and resource loss due to SIGTERM not clearing up 2024-06-03 12:24:11 -07:00
Shane Lee
99e158f429
Merge pull request #66601 from ScriptAutomate/pypi-index-migration
[3006.x] Migrate to new internal pypi proxy
2024-05-30 07:39:57 -06:00
carrychair
e4c1da4323 remove repetitive words
Signed-off-by: carrychair <linghuchong404@gmail.com>
2024-05-29 17:03:54 -07:00
ScriptAutomate
38faa6806b
Migrate to new internal pypi proxy 2024-05-29 10:27:06 -05:00
ScriptAutomate
eb817ac64c Simplify CODEOWNERS file for PR management 2024-05-28 14:57:53 -07:00
jeanluc
aaad0d2ecf Allow signature verification logic to be reused for other backends 2024-05-27 01:17:57 -07:00
jeanluc
b171fae4e2 Add asymmetric execution module for low-level signature operations 2024-05-27 01:17:57 -07:00
vzhestkov
cb892be59e Drop useless utils LazyLoader call 2024-05-27 01:17:16 -07:00
Pedro Algarvio
29b6843268
Merge pull request #66581 from s0undt3ch/hotfix/merge-forward-into-master
[master] Merge 3007.x into master
2024-05-23 14:56:28 +01:00
hurzhurz
3baaf79cec add changelog 2024-05-23 14:15:34 +02:00
Pedro Algarvio
26b41d5753
Merge 3007.x into master 2024-05-23 11:35:57 +01:00
Pedro Algarvio
ec63293372
Merge pull request #66585 from s0undt3ch/hotfix/merge-forward-into-3007.x
[3007.x] Merge 3006.x into 3007.x
2024-05-23 11:35:30 +01:00
Pedro Algarvio
adc1deed11
Merge 3006.x into 3007.x 2024-05-23 11:34:31 +01:00
Pedro Algarvio
41ef078433 Consistency. Part 2. 2024-05-23 11:34:13 +01:00
Pedro Algarvio
94d212fc71 Consistency 2024-05-23 11:28:55 +01:00
Pedro Algarvio
2e93352060 Consistency 2024-05-23 11:27:15 +01:00
Pedro Algarvio
55f99625e0
Merge pull request #66580 from s0undt3ch/hotfix/merge-forward-into-3007.x
Merge 3006.x into 3007.x
2024-05-23 11:20:38 +01:00
Pedro Algarvio
a54efc5cd2
Merge 3006.x into 3007.x 2024-05-23 11:19:31 +01:00
Pedro Algarvio
5d8655cb26 Update to ncipollo/release-action@v1 2024-05-22 18:19:12 +01:00
vzhestkov
8743551143 Get rid of run_func in salt.Minion._target 2024-05-22 03:33:59 -07:00
vzhestkov
8a4228e5b3 Remove redundant run_func from salt.master.MWorker._handle_aes 2024-05-22 03:33:59 -07:00
jeanluc
06e325f607 Add changelog 2024-05-22 03:27:40 -07:00
jeanluc
33efd9c4a7 Ensure namespace packages and submodule entrypoints work 2024-05-22 03:27:40 -07:00
jeanluc
217fafd0fc Include saltexts by default, add filters 2024-05-22 03:27:40 -07:00
jeanluc
747ab4c456 Make saltext autoload order deterministic 2024-05-22 03:27:40 -07:00
jeanluc
7c8d94799e Distribute saltexts in salt-ssh thin package [PoC]
This is an unpolished proof of concept of how to distribute Salt
extensions together with the thin package.
2024-05-22 03:27:40 -07:00
James Howe
c4bc012528 Simplify pkgrepo examples
humanname and dist do not do anything useful for apt repos
2024-05-21 15:37:30 -07:00
vzhestkov
7017c14ba6 Add test for getting matchers from __context__ in matchers.confirm_top 2024-05-21 15:36:54 -07:00
vzhestkov
4923679536 Speed up salt.matcher.confirm_top by using __context__ 2024-05-21 15:36:54 -07:00
Max Arnold
eff969d280 Fix pre-commit 2024-05-21 15:31:17 -07:00
Max Arnold
c0266a0798 Add changelog 2024-05-21 15:31:17 -07:00
Max Arnold
d9a77b8d5f Update integration test 2024-05-21 15:31:17 -07:00
Max Arnold
135223313a Add clean_proc_dir tests 2024-05-21 15:31:17 -07:00
Max Arnold
0401be21ed Add read_proc_file tests 2024-05-21 15:31:17 -07:00
Max Arnold
fe00470219 Get rid of deepcopy when adding a pid 2024-05-21 15:31:17 -07:00
Max Arnold
bd0d1306fd Catch read_proc_file exceptions 2024-05-21 15:31:17 -07:00
Max Arnold
cc1f9a4aab Add check_cmdline tests 2024-05-21 15:31:17 -07:00
Max Arnold
821607434b Update the Maintenance run function test 2024-05-21 15:31:17 -07:00
Max Arnold
be97ceb118 Add runner proc files 2024-05-21 15:31:17 -07:00
Salt Project Packaging
2b266935e4
Release v3007.1 2024-05-19 12:59:07 +00:00
Pedro Algarvio
f525138d67 Yet some more artifact merging fixes 2024-05-19 09:45:54 +01:00
Pedro Algarvio
df1061c457 Yet some more artifact merging fixes 2024-05-19 09:44:14 +01:00
Pedro Algarvio
600e0b3a94 Fix windows repository artifact name 2024-05-18 19:28:41 +01:00
Pedro Algarvio
148e63e89d Fix windows repository artifact name 2024-05-18 19:26:28 +01:00
Pedro Algarvio
38bb21e484 Reduce the potential of failing when merging artifacts 2024-05-18 07:49:50 +01:00
Pedro Algarvio
91f63da162 Allow merging artifacts not to fail on re-runs 2024-05-18 07:49:50 +01:00
Pedro Algarvio
00faf135ed Fix broken test on Windows 2024-05-18 07:49:50 +01:00
Pedro Algarvio
dc917c48a6 Improve/fix the condition of when the reports jobs run 2024-05-18 07:49:50 +01:00
Pedro Algarvio
a24a7d42b3 Make sure all uploaded artifacts have different names
So that we can always merge them on reports
2024-05-18 07:49:50 +01:00
Pedro Algarvio
5a85699c8b Skip problematic tests in Fedora 40
Refs https://github.com/saltstack/salt/issues/66539
Refs https://github.com/saltstack/salt/issues/66540
2024-05-18 07:49:50 +01:00
hurzhurz
34439f7750 roots fileserver fix path verification for symlinks with destination outside of root 2024-05-18 07:49:50 +01:00
hurzhurz
b0e7c62de8 salt.utils.verify.clean_path: make filesystem link resolution optinally 2024-05-18 07:49:50 +01:00
Pedro Algarvio
27173cb94e Reduce the potential of failing when merging artifacts 2024-05-17 18:12:53 +01:00
Pedro Algarvio
f184bfe499 Allow merging artifacts not to fail on re-runs 2024-05-17 18:03:03 +01:00
Pedro Algarvio
8f76636c54 Fix broken test on Windows 2024-05-17 18:03:03 +01:00
Pedro Algarvio
ae0e579747 Improve/fix the condition of when the reports jobs run 2024-05-17 18:03:03 +01:00
Pedro Algarvio
738b373b4b Make sure all uploaded artifacts have different names
So that we can always merge them on reports
2024-05-17 18:03:03 +01:00
hurzhurz
1694f84643 roots fileserver fix path verification for symlinks with destination outside of root 2024-05-16 15:20:12 -07:00
hurzhurz
d2e2bf7db8 salt.utils.verify.clean_path: make filesystem link resolution optinally 2024-05-16 15:20:12 -07:00
Pedro Algarvio
551e7c4b04
Merge pull request #66532 from s0undt3ch/hotfix/merge-forward-into-master
[master] Merge 3007.x into master
2024-05-16 17:14:59 +01:00
Pedro Algarvio
9a756c02fa
Merge 3007.x into master 2024-05-16 17:10:10 +01:00
Pedro Algarvio
a204ad2d00
Merge pull request #66529 from s0undt3ch/hotfix/merge-forward-into-3007.x
[3007.x] Merge 3006.x into 3007.x
2024-05-16 17:05:05 +01:00
Pedro Algarvio
eb3e6eb7fd
Merge 3006.x into 3007.x 2024-05-16 11:55:46 +01:00
Pedro Algarvio
6052a1ede2 Temporary skip tests on PhotonOS 5 2024-05-16 11:55:26 +01:00
Pedro Algarvio
4656263cfc Throttle before merging reports. Sometimes we just need to wait a little. 2024-05-16 11:55:26 +01:00
Pedro Algarvio
23ee362db6 Special-case Ubuntu 24.04 2024-05-16 11:55:26 +01:00
Pedro Algarvio
1b3368b13d There's no such thing as pytest.skipTest 2024-05-16 08:49:02 +01:00
Pedro Algarvio
fe47a95b28
Merge pull request #66520 from s0undt3ch/hotfix/merge-forward-into-master
[master] Merge 3007.x into master
2024-05-16 08:42:40 +01:00
Pedro Algarvio
7835f3acb1
Fix broken test on Ubuntu 24.04 2024-05-15 19:42:46 +01:00
Pedro Algarvio
f72dd1477e
There's no such thing as pytest.skipTest 2024-05-15 19:41:10 +01:00
Shane Lee
75126a7228
Remove try/except 2024-05-15 11:34:25 -06:00
Pedro Algarvio
06bd9d1dfc
Merge 3007.x into master 2024-05-15 15:30:28 +01:00
Pedro Algarvio
70324fab55
Merge pull request #66521 from s0undt3ch/hotfix/merge-forward-into-3007.x
[3007.x] Merge 3006.x into 3007.x
2024-05-15 15:25:57 +01:00
Pedro Algarvio
0f2c3b53b6
Merge 3006.x into 3007.x 2024-05-15 07:50:13 +01:00
Pedro Algarvio
e39e606a72
Merge pull request #66515 from s0undt3ch/hotfix/merge-forward-into-3007.x
[3007.x] Merge 3006.x into 3007.x
2024-05-15 06:53:53 +01:00
Shane Lee
580ad437fd Fix some tests 2024-05-14 21:15:16 +01:00
Shane Lee
dccf230a01 Make redirect_true default to True 2024-05-14 21:15:16 +01:00
Shane Lee
45c56b0033 Fix issues with the cmd module on Windows
stderr is no longer piped to stdout by default for cmd.run
Scripts are called using the -File paramter for powershell.exe
stderr is cleared if it contains CLIXML (only for encoded commands)
cmd.powershell now accepts lists as commands
Makes sure returned JSON data is valid before trying to load it
Strips whitespace from the stdout in win_runas
2024-05-14 21:15:16 +01:00
Pedro Algarvio
7762814c72
Temporary skip tests on PhotonOS 5 2024-05-14 21:13:16 +01:00
Shane Lee
b6a9cc90b6 Remove test for 57591 since N/A 2024-05-14 17:05:21 +01:00
Shane Lee
974dacc5bb Remove __virtual__ and __hostname__ 2024-05-14 17:05:21 +01:00
Shane Lee
344a3d8c2f Use Powershell instead of netsh for firewall settings 2024-05-14 17:05:21 +01:00
Pedro Algarvio
979261d688
Increase timeouts on the formulas tests 2024-05-14 16:04:35 +01:00
Pedro Algarvio
790304df99
Special-case Ubuntu 24.04 2024-05-14 16:04:35 +01:00
Pedro Algarvio
1e91416f4b
Merge pull request #66516 from s0undt3ch/hotfix/merge-forward-into-master
[master] Merge 3007.x into master
2024-05-14 13:40:25 +01:00
Pedro Algarvio
d765966173
Merge 3007.x into master 2024-05-14 07:20:08 +01:00
Alex Dehnert
5028305cd3 Add warning about effective rights mask
Group permission on the file should generally be at least as broad as
any file ACLs, to avoid ineffective ACLs and/or changes each time the
state is run.

(cherry picked from commit b897734f4a)
2024-05-14 07:08:09 +01:00
nicholasmhughes
b6dcf7ec18 fixes saltstack/salt#65295 nftables module type does not ensure unique nft family values
(cherry picked from commit ab72e70697)
2024-05-14 07:05:31 +01:00
Jonas Maurus
9e16ab47e0 Fix #66382 (nftables): Produce correct ip family for rules with saddr or daddr 2024-05-14 06:57:51 +01:00
jeanluc
1ba52960ea Add regression test for issue 65837 2024-05-14 06:42:50 +01:00
jeanluc
37e50b000f Migrate to TZ-aware datetime objects in x509_v2 2024-05-14 06:42:50 +01:00
jeanluc
792424104c Remove 3007+ only params in get_source_sum call 2024-05-14 06:41:14 +01:00
jeanluc
e56ad175e8 Don't unnecessarily download remote sources to cache
(cherry picked from commit 109dd48389)
2024-05-14 06:41:14 +01:00
jeanluc
fe29d3c167 Add test for issue 66342
(cherry picked from commit 87bb87eae0)
2024-05-14 06:41:14 +01:00
Pedro Algarvio
6161ebc8f6
Fix workflows. 2024-05-14 06:34:20 +01:00
Pedro Algarvio
3c5b143403
Merge 3006.x into 3007.x 2024-05-14 06:30:18 +01:00
Pedro Algarvio
5aa158d6af
Merge pull request #66511 from s0undt3ch/hotfix/merge-forward-into-3007.x
[3007.x] Merge 3006.x into 3007.x
2024-05-14 06:29:52 +01:00
bdrx312
00f6d4229f Fix incorrect version argument will be ignored warning 2024-05-13 14:12:37 -07:00
jeanluc
197676378f Don't unnecessarily download remote sources to cache 2024-05-13 14:11:57 -07:00
jeanluc
cf9ef7040f Add test for issue 66342 2024-05-13 14:11:57 -07:00
Pedro Algarvio
86245dc12c Fix(or skip) remaining broken tests for Ubuntu 24.04 2024-05-13 18:31:50 +01:00
Pedro Algarvio
85ea23dd62 Skip problematic tests due to system python being too recent 2024-05-13 18:31:50 +01:00
ScriptAutomate
457dfa6f23 Add Fedora 40 and Ubuntu 24.04 support 2024-05-13 18:31:50 +01:00
Pedro Algarvio
685478dc7e
Merge 3006.x into 3007.x 2024-05-13 17:19:31 +01:00
Pedro Algarvio
56729e1e3f Differentiate FIPS test runs 2024-05-13 11:22:42 +01:00
Pedro Algarvio
28f30b1de0 Reduce number of artifacts by merging them 2024-05-13 11:22:42 +01:00
Pedro Algarvio
e5eee2f760
Merge pull request #66499 from s0undt3ch/hotfix/merge-forward-into-master
[master] Merge 3007.x into master
2024-05-12 07:24:32 +01:00
Pedro Algarvio
ee34e0c0a2
Temporary skip of problematic package downgrade tests 2024-05-11 18:39:28 +01:00
Pedro Algarvio
71b1b655c6
Merge 3007.x into master 2024-05-10 19:30:57 +01:00
Pedro Algarvio
be2e1f21c0
Merge pull request #66504 from s0undt3ch/hotfix/merge-forward-into-3007.x
[3007.x] Merge 3006.x into 3007.x
2024-05-10 19:29:51 +01:00
Pedro Algarvio
d52e0e836b
Merge 3006.x into 3007.x 2024-05-10 19:28:25 +01:00
Pedro Algarvio
374a960510 We no longer use aarch64 on artifact filenames
Fixes #66502
2024-05-10 19:27:14 +01:00
Pedro Algarvio
bd99bb0b7b Make sure we have a recent enough rustc to build packages 2024-05-10 19:23:31 +01:00
Pedro Algarvio
605947d4a1 Also set PIP_CONSTRAINT on the debian rules file 2024-05-10 19:23:31 +01:00
Pedro Algarvio
d2d49f524d Bump to pydantic==2.6.4 due to https://github.com/advisories/GHSA-mr82-8j83-vxmv 2024-05-10 19:23:31 +01:00
Pedro Algarvio
0fbf743215 We need bigger VMs to build pydantic-core from source 2024-05-10 19:23:31 +01:00
Pedro Algarvio
c6acd0066f Bump to pydantic==2.6.1 due to https://github.com/advisories/GHSA-mr82-8j83-vxmv 2024-05-10 19:23:31 +01:00
Pedro Algarvio
65c65aae12
Merge pull request #66500 from s0undt3ch/hotfix/3006.x-fixes
[3006.x] Fix lint issues
2024-05-10 12:49:07 +01:00
Pedro Algarvio
649bde9c28
Fix lint issues 2024-05-10 11:10:55 +01:00
Pedro Algarvio
428dd21f3d
Merge 3007.x into master 2024-05-10 09:27:46 +01:00
Pedro Algarvio
181f66f7dd
Merge pull request #66460 from s0undt3ch/hotfix/merge-forward-into-3007.x
[3007.x] Merge 3006.x into 3007.x
2024-05-10 09:20:17 +01:00
Pedro Algarvio
fb9def3bb2 Just skip the problematic test. Too unstable at the moment. 2024-05-09 14:34:26 -07:00
Pedro Algarvio
f53f0ba3a4 Small improvements to the formulas tests 2024-05-09 14:34:26 -07:00
Pedro Algarvio
038e4706df Remove formula tests which were always broken and not tested correctly 2024-05-09 14:34:26 -07:00
Pedro Algarvio
6a2b61e2a3 Skip tests on Fedora 39 2024-05-09 14:34:26 -07:00
Pedro Algarvio
902b6fb27f
Just skip the problematic test. Too unstable at the moment. 2024-05-09 20:09:53 +01:00
Pedro Algarvio
2041d468d8
Merge 3006.x into 3007.x 2024-05-09 16:43:51 +01:00
Pedro Algarvio
e89da8a76d Temporarily skip testing problematic package upgrades/downgrades 2024-05-09 16:39:56 +01:00
Pedro Algarvio
857dbeba1d Don't try to chown if the user salt does not exist 2024-05-09 16:39:56 +01:00
Pedro Algarvio
036f2c3f58 No need to go through the master to get the salt version 2024-05-09 16:39:56 +01:00
Pedro Algarvio
19cba10fa2 Instead of skipping tests, don't even select them 2024-05-09 16:39:56 +01:00
Pedro Algarvio
1c64b277cc Skip tests at an earlier stage 2024-05-09 16:39:56 +01:00
Pedro Algarvio
32ed717ee8 Don't assume the user in the config file is salt 2024-05-09 16:39:56 +01:00
Pedro Algarvio
043875391f Skip test for now 2024-05-09 16:39:56 +01:00
Pedro Algarvio
13c5f3dbdb Log warning on bad ownership as opposed to throwing an error 2024-05-09 16:39:56 +01:00
Pedro Algarvio
46ccd24ca4 Gate rerun code logic behind RERUN_FAILURES env variable check 2024-05-09 16:39:56 +01:00
Pedro Algarvio
8a378cbc4b We can't test next version releases on previous version branches 2024-05-09 16:39:56 +01:00
Pedro Algarvio
e298e7d362 If anything is left behind running, terminate it 2024-05-09 16:39:56 +01:00
Pedro Algarvio
3604f6a025 Fix minion process detection to work with old pyinstaller salt packages 2024-05-09 16:39:56 +01:00
Pedro Algarvio
454a74c8d7 Default shell commands timeout to 240 seconds 2024-05-09 16:39:56 +01:00
Pedro Algarvio
1d21028471 Fix description when rsync'ing from the VM to the local checkout 2024-05-09 16:39:56 +01:00
Pedro Algarvio
e8e0131d74 No namespaced test packages 2024-05-09 16:39:56 +01:00
Pedro Algarvio
9f9d9b7b96 Don't even try to run MacOS Arm jobs on forks 2024-05-09 16:39:56 +01:00
Pedro Algarvio
96c39e1442 Stop using v3 of `actions/upload-artifact and actions/download-artifact` 2024-05-09 16:39:56 +01:00
Pedro Algarvio
486f740a33 Switch from `technote-space/workflow-conclusion-action to im-open/workflow-conclusion`
The ``technote-space/workflow-conclusion-action`` action is now
deprecated and archived.
2024-05-09 16:39:56 +01:00
Pedro Algarvio
5db7ba8af8 It's tests-chunk, not test-chunk!
This got broken in 527cc3f344
2024-05-09 16:39:56 +01:00
Pedro Algarvio
a961565d33 Bump integration tests chunks to 7 2024-05-09 16:39:56 +01:00
Pedro Algarvio
d0b9bbee35
Small improvements to the formulas tests 2024-05-09 12:20:48 +01:00
Pedro Algarvio
b979cc3754
Remove formula tests which were always broken and not tested correctly 2024-05-09 12:20:48 +01:00
Pedro Algarvio
e8d9364442
Skip tests on Fedora 39 2024-05-09 12:20:48 +01:00
Pedro Algarvio
f1af58e966
No namespaced test packages 2024-05-09 09:37:11 +01:00
Pedro Algarvio
52322431b2
Merge 3006.x into 3007.x 2024-05-09 09:34:14 +01:00
Pedro Algarvio
591a19db17 Switch macos-12 to be mandatory and not macos-13-arm64 2024-05-08 20:19:53 +01:00
Pedro Algarvio
3ec5b91bbd Bump to `jinja2==3.1.4` due to https://github.com/advisories/GHSA-h75v-3vvj-5mfj 2024-05-08 17:42:06 +01:00
Pedro Algarvio
9c56daac01 Bump to `werkzeug==3.0.3` due to https://github.com/advisories/GHSA-2g68-c3qc-8985 2024-05-08 17:42:06 +01:00
hurzhurz
de651d6701 add tests 2024-05-02 16:06:35 +02:00
Pedro Algarvio
44eb14b74c
Merge 3006.x into 3007.x 2024-05-02 14:19:16 +01:00
Tyler Levy Conde
cf6c1e1068 Added docs for pre-ssh-hook roster option 2024-05-01 10:31:05 -07:00
Tyler Levy Conde
5991f14a8c Allow ssh pre connection hook 2024-05-01 10:31:05 -07:00
Daniel A. Wozniak
8a72d487b3 Remove commented lines 2024-05-01 18:05:02 +01:00
Daniel A. Wozniak
c484dd324f Add changelogs 2024-05-01 18:05:02 +01:00
Daniel A. Wozniak
90fa7be17f Fix tests that broke by switching to async/await 2024-05-01 18:05:02 +01:00
Daniel A. Wozniak
0ff43842cf Fix salt proxy tests
- The loader can now handle async methods on loaded modules
- Fix async proxy methods: handle_decoded_payload and handle_payload
2024-05-01 18:05:02 +01:00
Daniel A. Wozniak
11a06ce0da Syndic fix-up
- Update _handle_decode_payload methods to use async/await.
- Syndic closes request channels before creating new ones.
2024-05-01 18:05:02 +01:00
Daniel A. Wozniak
2240c08406 Add scenario test for syndic 2024-05-01 18:05:02 +01:00
Daniel A. Wozniak
feca5c8476 Un-skip syndic tests 2024-05-01 18:05:02 +01:00
Daniel A. Wozniak
77f3c03f28 Make sure on_recv callbacks are coroutines 2024-05-01 18:05:02 +01:00
Daniel A. Wozniak
0afc66c234 PubChannel on_recv callback must be a coroutine 2024-05-01 18:05:02 +01:00
jeanluc
21d5cca071 Try to refresh expired GPG keys
... otherwise fail since expired keys are meaningless.

Also:
* Untangle `gpg.present` logic
* Correctly order key changes in returned comment and prefix messages
  with key ID
* Reuse key rendering logic in execution module
* Add some tests for test mode because of logic reordering
2024-04-30 03:59:31 -07:00
jeanluc
4294a82322 Try to respect custom GNUPGHOME env var 2024-04-30 03:59:31 -07:00
jeanluc
596924e510 Create GNUPGHOME if it does not exist 2024-04-30 03:59:31 -07:00
Erik Johnson
75e1569db1 Add changelog entry 2024-04-30 03:55:29 -07:00
Erik Johnson
ea6b6854d3 Don't use Salt's custom YAML loader to load static grains file 2024-04-30 03:55:29 -07:00
vzhestkov
e7f1eba0fc Remove redundant _file_find call to the master 2024-04-30 03:51:03 -07:00
Salt Project Packaging
c5392cdbdb
Release v3006.8 2024-04-29 03:29:26 +00:00
Pedro Algarvio
47ad7709ef
Merge pull request #66338 from s0undt3ch/hotfix/merge-forward-into-master
[master] Merge 3007.x into master
2024-04-26 14:23:07 +01:00
Pedro Algarvio
9b45342648
Fix/improve tests 2024-04-26 10:23:12 +01:00
hurzhurz
cf63bb3445 fix win_task result and error code interpretation
correct high result/error code numbers that are returned as negative numbers by win32com.
handle unknown LastTaskResult result codes.
2024-04-26 09:58:22 +02:00
hurzhurz
c2a6550bc1 fix wintask.info: ExecutionTimeLimit and unknown values
ExecutionTimeLimit: can be nothing or "PT0S" if not used
_reverse_lookup: if not found, return "invalid value" instead of the last dict element
2024-04-26 09:54:31 +02:00
Daniel A. Wozniak
eedcf490af Add changelog for dns change detection 2024-04-25 10:16:46 -07:00
Daniel A. Wozniak
ddcfb2e183 Update docs for master dns changes
Update docs to use master_alive_interval to detect master ip changes via
DNS.
2024-04-25 10:16:46 -07:00
Daniel A. Wozniak
d2c59f45b6 Minions check dns when re-connecting to a master
Check for a chainging dns record anytime a minion gets disconnected from
it's master. See github issue #63654 #61482.
2024-04-25 10:16:46 -07:00
Daniel A. Wozniak
b1754eeb63 Regression tests for dns defined masters
Adding tests to validate we check for changing dns anytime we're
disconnected from the currently connected master
2024-04-25 10:16:46 -07:00
Shane Lee
e90f3c6bd7
Merge pull request #66426 from merlinz01/document-cmd-run-state
[master] Document more secure methods of passing sensitive data to cmd.run states
2024-04-25 11:13:55 -06:00
Pedro Algarvio
05db41b567
Merge 3007.x into master 2024-04-24 19:47:29 +01:00
Pedro Algarvio
8a78c2d272
Merge pull request #66417 from s0undt3ch/hotfix/merge-forward-into-3007.x
[3007.x] Merge 3006.x into 3007.x
2024-04-24 19:46:47 +01:00
merlinz01
6a788482cf
note permission errors for /dev/stdin and possibility of using "-" for stdin 2024-04-24 13:57:29 -04:00
Pedro Algarvio
c03df09311
Only the websockets transport has the _started attribute. 2024-04-24 15:17:11 +01:00
Pedro Algarvio
90cfdc1143
Merge 3006.x into 3007.x 2024-04-24 12:19:15 +01:00
Daniel A. Wozniak
975c2a439b Package fix 2024-04-24 12:17:41 +01:00
Daniel A. Wozniak
8a98919ab5 Bump cache seed 2024-04-24 12:17:41 +01:00
Daniel A. Wozniak
2ec357ea4e Upgrade relenv to 0.16.0 2024-04-24 12:17:41 +01:00
Pedro Algarvio
a2a589e5dc
Wait for the server to start before continuing with the test 2024-04-24 12:16:23 +01:00
merlinz01
f310d513df
add documentation about passing sensitive data to commands 2024-04-23 19:36:19 -04:00
merlinz01
5a8c75574e
add example of using slots to populate env vars from pillar 2024-04-23 19:13:38 -04:00
Pedro Algarvio
5d72dc8455 Stop treating nightly/scheduled builds differently 2024-04-23 17:42:48 +01:00
Pedro Algarvio
06dc7231ae Fix test assertion to support PhotonOS 2024-04-23 13:37:17 +01:00
Pedro Algarvio
8128db4a60 Revert "Revert "Skip symlink test on windows""
This reverts commit bd53746ca3.
2024-04-23 13:37:17 +01:00
Pedro Algarvio
cf54203c93 Revert "Revert "Add changelog for 66400""
This reverts commit 59813a60c2.
2024-04-23 13:37:17 +01:00
Pedro Algarvio
87f2271370 Revert "Revert "Preserve target permissions when setting link ownership""
This reverts commit a7ad08d22d.
2024-04-23 13:37:17 +01:00
Pedro Algarvio
4098a29c8e Add windows support to _verify_virtualenv function in salt.modules.virtualenv_mod 2024-04-23 07:31:45 +01:00
Pedro Algarvio
3a774bd92d Migrate tests/pytests/integration/modules/test_pip.py to functional tests 2024-04-23 07:31:45 +01:00
Pedro Algarvio
60ae12fede The test us a unit test, not functional. No need for the test yaml file either. 2024-04-23 07:31:45 +01:00
Pedro Algarvio
08e59972d8 Allow failing to upload on PR's, but not on branch builds 2024-04-23 07:31:45 +01:00
Pedro Algarvio
215b17bd22 Provide a fallback description for labels without a description 2024-04-23 07:31:45 +01:00
Pedro Algarvio
2e16029108 Select all available OS'es if test:coverage label is set 2024-04-23 07:31:45 +01:00
Pedro Algarvio
78c6c47349 Fix code coverage uploads 2024-04-23 07:31:45 +01:00
Pedro Algarvio
bdb20a3c0d
Fix static requirements 2024-04-22 17:38:02 +01:00
Pedro Algarvio
69f01a79ea
Merge 3006.x into 3007.x 2024-04-22 17:16:07 +01:00
Pedro Algarvio
38ed660c2a Add photonos-5-arm64 to mandatory OS listing
This will prevent PR reverts like https://github.com/saltstack/salt/pull/66413
2024-04-22 16:13:02 +01:00
Pedro Algarvio
a7ad08d22d Revert "Preserve target permissions when setting link ownership"
This reverts commit 7a1a558cfc.
2024-04-22 16:04:24 +01:00
Pedro Algarvio
59813a60c2 Revert "Add changelog for 66400"
This reverts commit 1b2bd485b7.
2024-04-22 16:04:24 +01:00
Pedro Algarvio
bd53746ca3 Revert "Skip symlink test on windows"
This reverts commit 7aaf13b8a8.
2024-04-22 16:04:24 +01:00
Pedro Algarvio
34efe6d72c Drop Debian-10 its EOL
https://chat.google.com/room/AAAA3ojQwho/PNgKol0ihuk/PNgKol0ihuk?cls=10
2024-04-22 16:03:35 +01:00
Pedro Algarvio
53990e2944 Bump to aiohttp==3.9.4 due to https://github.com/advisories/GHSA-7gpw-8wmc-pm8g 2024-04-22 12:38:20 +01:00
Daniel A. Wozniak
7aaf13b8a8 Skip symlink test on windows 2024-04-20 15:00:04 -07:00
Daniel A. Wozniak
1b2bd485b7 Add changelog for 66400 2024-04-20 15:00:04 -07:00
Daniel A. Wozniak
7a1a558cfc Preserve target permissions when setting link ownership
Set ownerhip on symlinks without running chown. Running chown on a link
will set the permissions on a target because link perms are
meaningless.
2024-04-20 15:00:04 -07:00
Tyler Levy Conde
9a166d85cf fix pre-commit 2024-04-18 15:17:42 -07:00
Tyler Levy Conde
a81e0152ac fixed failing tests 2024-04-18 15:17:42 -07:00
Tyler Levy Conde
8a724997a7 Remove extra tests added after rebasing 2024-04-18 15:17:42 -07:00
Tyler Levy Conde
eef1ff2e2d Add changelog 2024-04-18 15:17:42 -07:00
Tyler Levy Conde
5d68c11560 Added tests and verified functionality 2024-04-18 15:17:42 -07:00
Massimo Cetra
4ec9aad964 auto discovery of ssh, scp and ssh-keygen binaries. 2024-04-18 15:17:42 -07:00
Pedro Algarvio
d8edd611ff Revert "Add more loader dunders to cp module."
This reverts commit 159d9327d1.
2024-04-18 07:16:55 +01:00
Pedro Algarvio
ece16ca7ef Revert "Add tests for opts dunder"
This reverts commit 54372bd248.
2024-04-18 07:16:55 +01:00
Pedro Algarvio
466b26f101 Revert "Try importing opts dunder"
This reverts commit b7c3a2eba6.
2024-04-18 07:16:55 +01:00
Pedro Algarvio
1ad4918023 Revert "Better handling of loader returns"
This reverts commit 0b8dbd8f20.
2024-04-18 07:16:55 +01:00
Pedro Algarvio
de572d2233 Revert "Fix broken tests"
This reverts commit ee069a155b.
2024-04-18 07:16:55 +01:00
Pedro Algarvio
88b08f6d8d Revert "Fix another test using __opts__"
This reverts commit f3ab61b069.
2024-04-18 07:16:55 +01:00
Pedro Algarvio
8de027e249 Revert "Fix windows pkg tests"
This reverts commit 02cba2d606.
2024-04-18 07:16:55 +01:00
jeanluc
9063d0ca4b Remove more unnecessary references 2024-04-17 15:22:05 -07:00
jeanluc
e6e339ebbf Finish removal of Vault modules 2024-04-17 15:22:05 -07:00
jeanluc
32ac3cf679 Make x509_v2 the default x509 modules 2024-04-17 15:20:14 -07:00
Shane Lee
352b83aea7 Add new options to salt cloud for Windows installer 2024-04-17 15:08:01 -07:00
Shane Lee
1e0ef25461
Merge pull request #66381 from whytewolf/nice
[3006.x] remove nice log line
2024-04-17 10:39:16 -06:00
Thomas Phipps
698c736477
Merge branch '3006.x' into nice 2024-04-16 12:48:23 -07:00
Thomas Phipps
57d8471a5c changelog 2024-04-16 19:11:03 +00:00
Thomas Phipps
b26e49b574 remove log that did nothing 2024-04-16 19:08:08 +00:00
Pedro Algarvio
012d1fd205 Bump to idna==3.7 due to https://github.com/advisories/GHSA-jjg7-2v4v-x38h 2024-04-16 19:14:58 +01:00
Pedro Algarvio
3dcf24c76d Bump to dnspython==2.6.1 due to https://github.com/advisories/GHSA-3rq5-2g8h-59hc 2024-04-16 19:14:58 +01:00
Pedro Algarvio
159cd565c4 Bump to salparse==0.5.0 due to https://github.com/advisories/GHSA-2m57-hf25-phgg 2024-04-16 19:14:58 +01:00
Shane Lee
75f1449b32 Fix output volume test, skip say test 2024-04-16 14:54:47 +01:00
Shane Lee
fe79f31000 Fix member test 2024-04-16 14:54:47 +01:00
Shane Lee
872a462c85 Some fixtures need to have a 'function' scope 2024-04-16 14:54:47 +01:00
Shane Lee
6a86f354a4 Add missing fixture to test_mac_members 2024-04-16 14:54:47 +01:00
Shane Lee
cb57145514 Make win_system.master locale agnostic 2024-04-15 14:38:05 -07:00
Shane Lee
6fc0fa2e02 Add the ability to clear the context policy cached 2024-04-15 17:07:25 +01:00
Pedro Algarvio
483ca17006
Merge pull request #66337 from ScriptAutomate/document-pr-labels
[3006.x] Add details to docs on how to extend PR tests
2024-04-12 20:14:37 +01:00
Pedro Algarvio
054269fbaa
Add information about the test:random-cache-seed and test:coverage labels 2024-04-12 12:46:32 +01:00
Pedro Algarvio
0c2c638168
Merge 3007.x into master 2024-04-12 06:47:24 +01:00
Shane Lee
aad71fdbcf Update Wix to 3.14.1 2024-04-11 16:22:55 -07:00
Daniel A. Wozniak
1271a7b27e Test fixes
- Add back cmd_json and cmd_yaml pillars for test fixes
- Remove broken tests and bump cache seed
- Fix filemap
- Restrict pyzmq to <25.1.1
- Fix pkg tests
- Fix performance test
- skip tests that failed due to zypperpkg module removal
- Fix tmp path so test passes on windows
- Remove files accidently added
2024-04-11 16:22:55 -07:00
Daniel A. Wozniak
86dea3a5dd Clean up more warts in man page generation 2024-04-11 16:22:55 -07:00
Daniel A. Wozniak
179e95fa89 docs fixup 2024-04-11 16:22:55 -07:00
Daniel A. Wozniak
21cd7143ed Add changelog for extensions removal 2024-04-11 16:22:55 -07:00
Daniel A. Wozniak
dc526dc2b1 Initial purge of community extensions 2024-04-11 16:22:55 -07:00
Daniel A. Wozniak
02cba2d606 Fix windows pkg tests 2024-04-11 14:25:03 -07:00
Daniel A. Wozniak
f3ab61b069 Fix another test using __opts__ 2024-04-11 14:25:03 -07:00
Daniel A. Wozniak
ee069a155b Fix broken tests 2024-04-11 14:25:03 -07:00
Daniel A. Wozniak
0b8dbd8f20 Better handling of loader returns
- Detect when a loader is returning a NamedLoaderContext and return the
  value. This will cut down on how often we need to call value() in
  loaded modules.
- Add some tests to show newly defined behavior
2024-04-11 14:25:03 -07:00
Daniel A. Wozniak
b7c3a2eba6 Try importing opts dunder 2024-04-11 14:25:03 -07:00
Daniel A. Wozniak
54372bd248 Add tests for opts dunder 2024-04-11 14:25:03 -07:00
Daniel A. Wozniak
159d9327d1 Add more loader dunders to cp module.
Using cp module to dip our feet into more explicit loader dunders. Most
all of the existing dunders can be imported already. The one outlier
being used by the cp module is __opts__.
2024-04-11 14:25:03 -07:00
Daniel A. Wozniak
d79e345067 Clean up log levels in tcp and ws transports 2024-04-11 14:16:13 -07:00
Pedro Algarvio
1e9e8d6a11
Merge pull request #66348 from s0undt3ch/hotfix/merge-forward-into-3007.x
[3007.x] Merge 3006.x into 3007.x
2024-04-11 21:53:51 +01:00
Pedro Algarvio
722983e167
Merge 3006.x into 3007.x 2024-04-11 17:37:55 +01:00
Clay Oster
e36f1b3bca Add newline to changelog file 2024-04-10 15:12:15 -07:00
Clay Oster
a25f0055de Update naming of changelog file 2024-04-10 15:12:15 -07:00
Clay Oster
52b82fdae9 Fix cache directory setting in Master Cluster tutorial 2024-04-10 15:12:15 -07:00
Clay Oster
804cc62c44 Change log level of publisher binding from error to debug 2024-04-10 15:11:37 -07:00
Clay Oster
622365a774 Change error level from debug to info. 2024-04-10 15:10:58 -07:00
Clay Oster
3565c004f8 Change log level of successful master cluster key exchange from error to debug 2024-04-10 15:10:58 -07:00
Thomas Phipps
559825c922 remove backwords compatibility.
internally salt doesn't need it. and if someone is using PillarCache
incorrectly that is on them.
2024-04-10 14:58:48 -07:00
Thomas Phipps
4a8f72a15d add changelog and tests 2024-04-10 14:58:48 -07:00
Thomas Phipps
8b1e7c8427 add fix for pillar_override being saved in PillarCache 2024-04-10 14:58:48 -07:00
Shane Lee
d78245ce35 Make sure dict keys are lowercase 2024-04-10 14:17:32 -07:00
Shane Lee
0c05af434a Make the underscore directory standard 2024-04-10 17:03:06 +01:00
Shane Lee
e5d1e4db9d Keep directory structure the same on Master and Masterless
Fixes winrepo.update_git_repos so that the directory structure is the
same whether run on the master or on a minion using salt-call.
2024-04-10 17:03:06 +01:00
Shane Lee
0340fcea03 Remove _git from winrepo dir name 2024-04-10 17:03:06 +01:00
Pedro Algarvio
0ecde50005
Merge 3007.x into master 2024-04-10 10:15:52 +01:00
Pedro Algarvio
fa177b1330
Merge pull request #66319 from s0undt3ch/hotfix/merge-forward-into-3007.x
[3007.x] Merge 3006.x into 3007.x
2024-04-10 10:13:10 +01:00
Shane Lee
620265426d Update Wix to 3.14.1 2024-04-10 08:49:34 +01:00
Shane Lee
c535598f57 Use pathlib in win_file.remove 2024-04-10 08:49:34 +01:00
Shane Lee
f440082dd0 Add some debug messages 2024-04-10 08:49:34 +01:00
Shane Lee
79041b9206
Use pathlib in win_file.remove 2024-04-10 06:43:30 +01:00
Shane Lee
f6ea2e49fd
Add some debug messages 2024-04-10 06:43:23 +01:00
ScriptAutomate
0597a1eed6
Add details to docs on how to extend PR tests 2024-04-09 17:17:35 -05:00
Pedro Algarvio
9d4d730d59 One more tests that needs the host keys ignored 2024-04-09 09:51:05 +01:00
Tyler Levy Conde
e8c3bdb482 set allow_fragments to False 2024-04-08 21:54:25 +01:00
Tyler Levy Conde
2868ac1f89 revert test changes 2024-04-08 21:54:25 +01:00
Tyler Levy Conde
73d6ca8914 Passing pre-commit 2024-04-08 21:54:25 +01:00
Tyler Levy Conde
e9c86090ae Black and changelog added for 63060 2024-04-08 21:54:25 +01:00
Tyler Levy Conde
a649fec423 file.managed correctly handles paths containing a '#' 2024-04-08 21:54:25 +01:00
Pedro Algarvio
de409e68d4
Merge 3006.x into 3007.x 2024-04-08 18:20:23 +01:00
Shane Lee
653b61a2c9 Update Wix to 3.14.1 2024-04-08 18:15:51 +01:00
Pedro Algarvio
2f0cdc91b7 Move tests so that they can be picked up from changed files automation 2024-04-05 17:08:28 +01:00
Pedro Algarvio
b9ed67af24 Revert "Remove _git from winrepo dir name"
This reverts commit 69b42256be.
2024-04-05 17:08:28 +01:00
Pedro Algarvio
36e23f87ab Revert "Keep directory structure the same on Master and Masterless"
This reverts commit e7b735cdac.
2024-04-05 17:08:28 +01:00
Shane Lee
97e9395b7f Fix pkg support module 2024-04-05 10:25:22 +01:00
twangboy
7342246514 Try using powershell to start the NSIS installer 2024-04-05 10:25:22 +01:00
twangboy
1a0727a912 Quote the start command 2024-04-05 10:25:22 +01:00
Shane Lee
cda4823fd1 Remove last vestiges of UCRT in Windows Installer 2024-04-04 23:22:16 +01:00
Pedro Algarvio
12a8655c5f
Merge pull request #66315 from s0undt3ch/hotfix/merge-forward-into-master
[master] Merge 3007.x into master
2024-04-04 22:37:16 +01:00
Pedro Algarvio
bc8e35bcd4 Simplify/Fix tests 2024-04-04 22:36:59 +01:00
Shane Lee
e7b735cdac Keep directory structure the same on Master and Masterless
Fixes winrepo.update_git_repos so that the directory structure is the
same whether run on the master or on a minion using salt-call.
2024-04-04 14:13:12 -07:00
Shane Lee
69b42256be Remove _git from winrepo dir name 2024-04-04 14:13:12 -07:00
Shane Lee
9269b5009b Fix tests... maybe 2024-04-04 14:12:33 -07:00
Shane Lee
5b6fbe1497 Make fixtures clean up even if the test fails 2024-04-04 14:12:33 -07:00
Shane Lee
dd2de01d70 Fix some lint 2024-04-04 14:12:33 -07:00
Shane Lee
7964429e04 Add the ability to bootstrap a specific version of chocolatey
Added a state to bootstrap and unbootstrap chocolatey
Add changelog
Add and update tests
2024-04-04 14:12:33 -07:00
bdrx312
6ea3ce5de8 Deleted 66200 changelog file 2024-04-04 20:41:51 +01:00
bdrx312
648910e7bb Fix documentation about unique id behavior 2024-04-04 20:41:51 +01:00
Pedro Algarvio
a6c9caa6cc
Fix tests 2024-04-04 18:13:19 +01:00
Pedro Algarvio
819270445b Some tests just need to get hosts ignored forced 2024-04-04 14:31:11 +01:00
Pedro Algarvio
20f4966ca0 Stop ignoring the host keys, query and write them down as accepted. 2024-04-04 14:31:11 +01:00
Pedro Algarvio
37e56ba0a6 Reap child processes after each of the ssh tests in case of timeouts 2024-04-04 14:31:11 +01:00
Pedro Algarvio
bfacdbf98f Upgrade to `pytest-salt-factories==1.0.1` 2024-04-04 14:31:11 +01:00
Pedro Algarvio
139290742a
Remove test which no longer applies 2024-04-04 11:09:07 +01:00
Pedro Algarvio
a11e1033e3
Merge 3007.x into master 2024-04-04 09:40:47 +01:00
Pedro Algarvio
f527459022
Merge pull request #66233 from s0undt3ch/hotfix/merge-forward-into-3007.x
[3007.x] Merge 3006.x into 3007.x
2024-04-04 03:52:36 +01:00
Pedro Algarvio
f0b70953ae
Merge branch '3007.x' of github.com:saltstack/salt into hotfix/merge-forward-into-3007.x 2024-04-03 16:51:37 +01:00
Pedro Algarvio
64bc4560a9 Get AWS regions and SPB_ENVIRONMENT from metadata endpoint 2024-04-03 16:49:50 +01:00
Felippe Burk
311652331d Initial commit of s3 caching 2024-04-03 16:49:50 +01:00
Pedro Algarvio
b1162dfaa3 Add our own GH cache action
This actions wraps actions/cache and forces an early exit if 'fail-on-cache-miss' is true

Based on the work from https://github.com/saltstack/salt/pull/66240
2024-04-03 16:49:50 +01:00
Pedro Algarvio
f7d7a50a84 Force cache invalidation by setting cache seed to 1 2024-04-03 16:49:50 +01:00
Pedro Algarvio
7de3f96ee5 Remove invalid properties from existing GH actions 2024-04-03 16:49:50 +01:00
Pedro Algarvio
f099e532bc Get AWS regions and SPB_ENVIRONMENT from metadata endpoint 2024-04-03 16:07:39 +01:00
Felippe Burk
8425b4d043 Initial commit of s3 caching 2024-04-03 16:07:39 +01:00
Pedro Algarvio
fe16927f2b Add our own GH cache action
This actions wraps actions/cache and forces an early exit if 'fail-on-cache-miss' is true

Based on the work from https://github.com/saltstack/salt/pull/66240
2024-04-03 16:07:39 +01:00
Pedro Algarvio
2aafae606c Force cache invalidation by setting cache seed to 1 2024-04-03 16:07:39 +01:00
Pedro Algarvio
3b7676b3c8 Remove invalid properties from existing GH actions 2024-04-03 16:07:39 +01:00
Pedro Algarvio
fe6ba8953e
Ignore the hosts key since it's not using the test SSHD server 2024-04-03 14:42:54 +01:00
Pedro Algarvio
f38c6bcbf7
Upgrade to `pytest-salt-factories==1.0.1` 2024-04-03 14:42:54 +01:00
Pedro Algarvio
a5a0a13e6e
Merge 3006.x into 3007.x 2024-04-03 09:19:40 +01:00
Pedro Algarvio
87db565b70
Merge branch '3007.x' of github.com:saltstack/salt into hotfix/merge-forward-into-3007.x 2024-04-03 09:19:29 +01:00
Pedro Algarvio
229d6867a7 Remove extra logic missed in 68131ce7ab
This allowed the tests in https://github.com/saltstack/salt/pull/66169
to pass when they shouldn't
2024-04-03 09:15:15 +01:00
Pedro Algarvio
bc36e7a82c Remove extra logic missed in 68131ce7ab
This allowed the tests in https://github.com/saltstack/salt/pull/66169
to pass when they shouldn't
2024-04-03 09:13:33 +01:00
Pedro Algarvio
5c0a890078 Revert "Add the ability to bootstrap a specific version of chocolatey"
This reverts commit 0f9f619e90.
2024-04-03 09:11:49 +01:00
Pedro Algarvio
944d3cd744 Revert "Fix some lint"
This reverts commit eb785bdf30.
2024-04-03 09:11:49 +01:00
Pedro Algarvio
1a8ea6b343 Revert "Make fixtures clean up even if the test fails"
This reverts commit 176fe04e8d.
2024-04-03 09:11:49 +01:00
Pedro Algarvio
1998ba3424 Remove extra logic missed in 68131ce7ab
This allowed the tests in https://github.com/saltstack/salt/pull/66169
to pass when they shouldn't
2024-04-03 09:05:27 +01:00
Pedro Algarvio
2d578e8ed0 Temporarily skip some tests on Rocky Linux 8 Arm64 2024-04-02 18:16:45 +01:00
Pedro Algarvio
c32f748482
Merge 3006.x into 3007.x 2024-04-02 17:19:57 +01:00
Pedro Algarvio
c8c12aa922 Define additional needs for a few jobs 2024-04-02 16:08:23 +01:00
Pedro Algarvio
6050e6867e Do not run nightly or scheduled builds on private repos 2024-04-02 16:08:23 +01:00
Pedro Algarvio
ecb537efef Define additional needs for a few jobs 2024-04-02 16:07:04 +01:00
Pedro Algarvio
3c97e7f0d3 Do not run nightly or scheduled builds on private repos 2024-04-02 16:07:04 +01:00
Pedro Algarvio
28814b9eab Define additional needs for a few jobs 2024-04-02 16:02:27 +01:00
Pedro Algarvio
48f95f90ac Do not run nightly or scheduled builds on private repos 2024-04-02 15:33:18 +01:00
ScriptAutomate
42dd9fea5d Replace AlmaLinux with Rocky Linux 2024-04-02 14:13:03 +01:00
Pedro Algarvio
0690b15be6 Windows needs more complex passwords. Use the auto generated one.
Reduce fixture duplication.
2024-04-02 14:12:44 +01:00
nicholasmhughes
025b3f073e use importorskip 2024-04-01 10:30:04 +01:00
nicholasmhughes
ed345d06e7 fixes saltstack/salt#66284 x509.certificate_managed - ca_server did not return a certificate 2024-04-01 10:30:04 +01:00
nicholasmhughes
2f24eeb9d1 specify explicit kwargs for pillar data and item funcs 2024-03-30 18:22:53 +00:00
nicholasmhughes
63d83353fa specify explicit kwargs for items and ls 2024-03-30 18:22:53 +00:00
nicholasmhughes
296f6648f2 fixes saltstack/salt#66262 pillar.ls doesn't accept kwargs 2024-03-30 18:22:53 +00:00
Pedro Algarvio
5cab9dff7d
We still need VC Redist on 3007.x 2024-03-28 18:35:28 +00:00
Pedro Algarvio
73bb545a8c
Merge branch '3007.x' of github.com:saltstack/salt into hotfix/merge-forward-into-3007.x 2024-03-28 13:54:29 +00:00
Pedro Algarvio
4166a8ba92
For now, ignore the host keys 2024-03-28 13:53:50 +00:00
Pedro Algarvio
7f98810ea6
Merge 3006.x into 3007.x 2024-03-28 13:50:44 +00:00
Pedro Algarvio
4eccba4f2d Check against an array, not a string 2024-03-28 13:41:54 +00:00
Pedro Algarvio
027d95a3bc Fix cache prefixes 2024-03-28 13:41:54 +00:00
Pedro Algarvio
895b761592 Always print the collected runners 2024-03-28 13:41:54 +00:00
Pedro Algarvio
fd82bcab9c Always print out the defined testrun 2024-03-28 13:41:54 +00:00
Pedro Algarvio
b62203973c Always print out the list of jobs to run 2024-03-28 13:41:54 +00:00
Pedro Algarvio
7c5125a8e3 Add what OS'es run tests as a step summary 2024-03-28 13:41:54 +00:00
Pedro Algarvio
d6ff5005da Use `attrs` to simplify OS definitions 2024-03-28 13:41:54 +00:00
Pedro Algarvio
8d51ca91f2 Add tools command to sync known OS'es with GH test labels 2024-03-28 13:41:54 +00:00
Pedro Algarvio
7cc7595167 Mandatory OS slugs are now defined in `cicd/shared-gh-workflows-context.yml` 2024-03-28 13:41:54 +00:00
Pedro Algarvio
6592ccba52 Create get_cicd_shared_context() and get_golden_images() 2024-03-28 13:41:54 +00:00
Pedro Algarvio
fb58df01f4 Allow choosing which OS to run tests against using labels 2024-03-28 13:41:54 +00:00
ScriptAutomate
0d27cf6c1f Reduce test range in PRs and branch merges 2024-03-28 13:41:54 +00:00
Pedro Algarvio
62f13b32ec Just "grep" what we're after
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-03-28 13:41:54 +00:00
Pedro Algarvio
b556845850 Bump to `dorny/paths-filter@v3` 2024-03-28 13:41:54 +00:00
Pedro Algarvio
5c4e810836 Make jinja rendering strict. Undefined variable use throws error. 2024-03-28 13:41:54 +00:00
Shane Lee
176fe04e8d Make fixtures clean up even if the test fails 2024-03-28 10:12:59 +00:00
Shane Lee
eb785bdf30 Fix some lint 2024-03-28 10:12:59 +00:00
Shane Lee
0f9f619e90 Add the ability to bootstrap a specific version of chocolatey
Added a state to bootstrap and unbootstrap chocolatey
Add changelog
Add and update tests
2024-03-28 10:12:59 +00:00
David Murphy
78625d8db7 Add leading slash to salt helper file paths as per dh_links requirement 2024-03-28 10:12:22 +00:00
David Murphy
93dadb2116 Ensure symbolic links are created before using systemctl 2024-03-27 19:16:29 +00:00
David Murphy
61df4d8c86 Ensure path for systemctl to stop spoofing (security fix moved from classic spec) and debug helper scripts 2024-03-27 19:16:29 +00:00
David Murphy
53fce6957d Fix RedHat family systemd restart on upgrade, and updated tests 2024-03-27 19:16:29 +00:00
Pedro Algarvio
15f9f585f0
Merge branch '3007.x' of github.com:saltstack/salt into hotfix/merge-forward-into-3007.x 2024-03-27 18:47:24 +00:00
Pedro Algarvio
6fb74a0d1a
Reap child processes after each of the ssh tests in case of timeouts 2024-03-27 18:44:44 +00:00
Shane Lee
44d23fc4f2 Update to VC Redist 2022 2024-03-27 08:31:00 +00:00
Shane Lee
87d3344a7a Fix failing package tests 2024-03-26 19:49:35 +00:00
Shane Lee
017f714e96 Use sorted instead of sort 2024-03-26 19:49:35 +00:00
Shane Lee
4dcad68d9b Don't use configure_loader_modules 2024-03-26 19:49:35 +00:00
Shane Lee
979457d935 Fix some test issues, use sort 2024-03-26 19:49:35 +00:00
Shane Lee
b7dd23ef4e Move test_win_useradd.py to functional 2024-03-26 19:49:35 +00:00
Shane Lee
52ace3bc34 Fix issue with win_user.add
win_useradd.add now allows you to add new users that have only integers in
the username.
It also adds tests for the win_useradd module.
2024-03-26 19:49:35 +00:00
twangboy
2847192460 Add GitPython to Windows packages 2024-03-26 19:45:07 +00:00
nicholasmhughes
4a6fac0934 fixes saltstack/salt#66260 aptpkg.remove unable to locate package for non-existent package 2024-03-25 18:11:18 +00:00
Pedro Algarvio
1f08a3c191 Bump functional test splits to 4 2024-03-25 09:06:36 -07:00
Tyler Levy Conde
65e5c4f227 Fix: Prevent full system upgrade in pkg.installed for Arch Linux
This change modifies the logic in the pacman module to only append the '-u' flag to the pacman command if sysupgrade is explicitly set to True. This prevents the pkg.installed state from triggering a full system upgrade by default on Arch Linux systems.
2024-03-25 09:06:36 -07:00
Carlos Álvaro
927ccc7264 feat: Add tests to highstate returner 2024-03-22 14:19:39 -07:00
Carlos Álvaro
fedbf06223 Port #50460 to master 2024-03-22 14:19:39 -07:00
Pedro Algarvio
b2fe6c45db Bump functional test splits to 4 2024-03-21 21:15:17 +00:00
Pedro Algarvio
ccfd8ea364 Upgrade to `pytest-salt-factories==1.0.0` 2024-03-21 21:15:17 +00:00
Pedro Algarvio
fccecc695c
Stop ignoring the host keys, query them and write them down as accepted. 2024-03-21 16:56:53 +00:00
Pedro Algarvio
212e7211c6
Upgrade to `pytest-salt-factories==1.0.0` 2024-03-21 16:34:57 +00:00
Shane Lee
e525bbada3 Remove vcredist and ucrt from Windows install 2024-03-21 14:54:03 +00:00
Thomas Phipps
66bb993cbd add arm64 to _get_opt and SourceEntry.repo_line tests. 2024-03-20 13:49:40 -07:00
Thomas Phipps
18cdcfc496 pre-commit fix after rebase issues 2024-03-20 13:49:40 -07:00
Thomas Phipps
aabba2793a initial removal of python librarys that only exist in debian system python, not done yet
remove unused functions

add pkg.which for deb packages. an item from pkng that should have spread to systems that support it

move SourcesList and SourceEntry to salt.utils.pkg.deb where it belongs.

fix pkg.which test hopfully coreutils is installed

first attempt at fixng #65703

add first changelogs

fix the indexing issue with deb opts by using OrderedDict instead

move salt.utils.pkg.deb tests to functional since not actually unit test.

use example.com instead of real repo in tests.

fix changelog 65703

added changelog for 66201

fix two to many toos in changelog
2024-03-20 13:49:40 -07:00
Pedro Algarvio
ebb02d6c3a Adjust some tests to get passing nightly builds again 2024-03-20 14:24:06 +00:00
Pedro Algarvio
16bead7bcc Remove log call which no longer makes sense 2024-03-20 11:55:21 +00:00
Pedro Algarvio
7b277420ce
Merge 3006.x into 3007.x 2024-03-20 07:32:06 +00:00
Pedro Algarvio
dfb87cdf57
Merge branch '3007.x' of github.com:saltstack/salt into hotfix/merge-forward-into-3007.x 2024-03-20 07:30:32 +00:00
Pedro Algarvio
e0c876b985 Get AWS regions and SPB_ENVIRONMENT from metadata endpoint 2024-03-19 19:09:56 +00:00
Felippe Burk
e60f6a4bdf Initial commit of s3 caching 2024-03-19 19:09:56 +00:00
Pedro Algarvio
533af2a851 Add our own GH cache action
This actions wraps actions/cache and forces an early exit if 'fail-on-cache-miss' is true

Based on the work from https://github.com/saltstack/salt/pull/66240
2024-03-19 19:09:56 +00:00
Pedro Algarvio
f0284f75e0 Force cache invalidation by setting cache seed to 1 2024-03-19 19:09:56 +00:00
Pedro Algarvio
e3fcc657b9 Remove invalid properties from existing GH actions 2024-03-19 19:09:56 +00:00
Shane Lee
35bc5fc46b Revert weird change 2024-03-19 19:07:20 +00:00
Shane Lee
293f6b2d02 Skip state test on Windows 2024-03-19 19:07:20 +00:00
Shane Lee
559ad14f54 Make the tests run on Windows 2024-03-19 19:07:20 +00:00
Shane Lee
0788122499 Whitelist package tests for Windows 2024-03-19 19:07:20 +00:00
Shane Lee
92d6d41f0c Revert weird change 2024-03-19 16:07:31 +00:00
Shane Lee
e23893fb51 Skip state test on Windows 2024-03-19 16:07:31 +00:00
Shane Lee
76d750dce9 Make the tests run on Windows 2024-03-19 16:07:31 +00:00
Shane Lee
487424408d Fix package tests 2024-03-19 16:07:31 +00:00
Shane Lee
608a8ffd1c Whitelist package tests for Windows 2024-03-19 16:07:31 +00:00
Pedro Algarvio
3d44711e01
Merge 3006.x into 3007.x 2024-03-18 12:01:32 +00:00
Pedro Algarvio
e50d3a194f Skip problematic MacOS test in specific conditions 2024-03-18 11:03:58 +00:00
Pedro Algarvio
c0823f6a68 Increase timeouts 2024-03-18 11:03:58 +00:00
Pedro Algarvio
da57d43cc0
Randomize names and prefer salt_master.state_tree.base 2024-03-15 14:49:04 +00:00
Pedro Algarvio
62bea250ff
Minor timeout adjustments 2024-03-15 14:49:04 +00:00
Pedro Algarvio
a80140819b
Bump timeout 2024-03-15 14:49:04 +00:00
Pedro Algarvio
e71960bdfd
Merge 3006.x into 3007.x 2024-03-14 16:26:20 +00:00
Pedro Algarvio
009c059b26 Bump to pygments==2.17.2 due to https://github.com/advisories/GHSA-mrwq-x4v8-fh7p 2024-03-14 16:16:19 +00:00
Pedro Algarvio
87556f9f50
Merge 3006.x into 3007.x 2024-03-14 13:11:46 +00:00
Pedro Algarvio
f7570047bd
Merge 3006.x into 3007.x 2024-03-14 13:06:00 +00:00
Daniel A. Wozniak
7c61ac738e Check for content-type after headers dict has been populated 2024-03-14 13:04:29 +00:00
Daniel A. Wozniak
773772c426 Fix content-type backwards compatability 2024-03-14 13:04:29 +00:00
Pedro Algarvio
aee2110921 Increase test timeout 2024-03-14 12:32:06 +00:00
Pedro Algarvio
5bced402fb Upgrade to flaky==3.8.1 2024-03-14 12:32:06 +00:00
Pedro Algarvio
d8cb80216e Remove custom fixture scope ordering code
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-03-14 12:32:06 +00:00
Pedro Algarvio
8fc4738ead Upgrade to Pytest 8.1.x 2024-03-14 12:32:06 +00:00
Thomas Phipps
666b50a56b stupid mistake correction 2024-03-14 08:34:56 +00:00
Thomas Phipps
3b361a9e5b attempt #1 to fix tests 2024-03-13 16:03:40 -07:00
Thomas Phipps
3c3285e51e move fix from #66164 for $65703 2024-03-13 16:03:40 -07:00
Pedro Algarvio
cb7cd3e8d9 Daylight savings suck! 2024-03-13 16:13:18 +00:00
Pedro Algarvio
d036b1177e
Merge pull request #66178 from s0undt3ch/hotfix/merge-forward-into-master
[master] Merge 3007.x into master
2024-03-13 06:59:53 +00:00
Shane Lee
cbae042701 Don't use curl on Windows 2024-03-12 17:31:30 +00:00
Shane Lee
9fb22eee5f Remove offending colon 2024-03-12 16:21:37 +00:00
Pedro Algarvio
d6e72e1f54
Daylight savings suck! 2024-03-12 13:58:55 +00:00
Shane Lee
0fbe408bbb Remove get_package_info from missing_examples 2024-03-11 17:56:59 +00:00
Shane Lee
176ccd63e3 Fix issue with refresh_db on Windows
When a new package definition file was added to the repo you had to run
refresh_db twice to get it to show up in the package databse. This
clears the cache before refreshing the database to force changes.
2024-03-11 17:56:59 +00:00
Shane Lee
d09b485c16 Honor saltenv in refresh_db on Windows 2024-03-11 17:54:09 +00:00
Shane Lee
0105aecd96 Fix test on Windows 2024-03-11 16:59:43 +00:00
Erik Johnson
8512c0893a black 2024-03-11 16:59:43 +00:00
Erik Johnson
6da38663e7 Add changelog entry 2024-03-11 16:59:43 +00:00
Erik Johnson
9344558cc9 Add test case 2024-03-11 16:59:43 +00:00
Erik Johnson
fb86bf3423 Fix file.directory clobbering backupname path with test=True 2024-03-11 16:59:43 +00:00
Pedro Algarvio
58d8435758
Merge 3007.x into master 2024-03-11 16:11:09 +00:00
Pedro Algarvio
c402aab17c Bump the timeout for the pyobjects unit tests 2024-03-09 22:26:17 +00:00
Pedro Algarvio
6952f883bd Bump to pytest-timeout==2.3.1 2024-03-09 22:26:17 +00:00
Shane Lee
127a32e480 Upgrade WIX to 3.14 2024-03-08 21:34:35 +00:00
Shane Lee
2ab50019a2 Upgrade WIX to 3.14 2024-03-08 21:33:45 +00:00
Shane Lee
5e36621803 Upgrade WIX to 3.14 2024-03-08 21:32:29 +00:00
Pedro Algarvio
04a992a47c
Fix lint issues 2024-03-07 21:53:18 +00:00
Pedro Algarvio
74415c7d0a
Merge 3007.x into master 2024-03-07 10:06:45 +00:00
Pedro Algarvio
4fda1a8854
Merge pull request #66160 from s0undt3ch/hotfix/merge-forward-into-3007.x
[3007.x] Merge 3006.x into 3007.x
2024-03-07 09:53:36 +00:00
Shane Lee
45cf38f4b4 Fix an issue with the win_pki execution module
Change the _cmd_run function so that it raises a CommandExecutionError
when the command fails so that it doesn't try to parse the output of the
command as JSON
Also raise a CommandExecutionError when it recieves invalid JSON
2024-03-06 11:20:37 -07:00
Pedro Algarvio
7e1ac8dd5a Add textfsm to our requirements so that tests depending on it actually run 2024-03-06 15:19:54 +00:00
Shane Lee
fdfb0e1310 Fix test_log_beacon.py::test_log_match test on Windows 2024-03-06 15:19:54 +00:00
Gareth J. Greenaway
5ebf18260c removing parens from pytest.fixture. 2024-03-06 15:19:54 +00:00
Gareth J. Greenaway
5c5f484627 renaming virtual test name, fixing nesting. 2024-03-06 15:19:54 +00:00
Gareth J. Greenaway
24f1f3489a Running pre-commit manually 2024-03-06 15:19:54 +00:00
Gareth J. Greenaway
198395f263 Update tests/pytests/unit/modules/test_textfsm_mod.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2024-03-06 15:19:54 +00:00
Gareth J. Greenaway
05465fe898 Update tests/pytests/unit/modules/test_textfsm_mod.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2024-03-06 15:19:54 +00:00
Gareth J. Greenaway
6da2e379c6 Update tests/pytests/unit/modules/test_textfsm_mod.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2024-03-06 15:19:54 +00:00
Gareth J. Greenaway
93579ead06 Update tests/pytests/unit/modules/test_textfsm_mod.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2024-03-06 15:19:54 +00:00
Gareth J. Greenaway
5832c07632 fixing lint issues 2024-03-06 15:19:54 +00:00
Gareth J. Greenaway
7ad348dd48 increase test coverage for textfsm module. 2024-03-06 15:19:54 +00:00
Pedro Algarvio
c336cdb1c9
Fix test failures 2024-03-06 12:41:11 +00:00
Pedro Algarvio
bd564da5b8
Skip test if the rpmdev-vercmp is not found 2024-03-06 12:41:11 +00:00
Pedro Algarvio
628c0d2713
Fix lint issues in 3007.x branch 2024-03-06 12:41:11 +00:00
Pedro Algarvio
1f22924a9a
Fix the broken tools docs command during the merge-forward 2024-03-06 12:39:10 +00:00
Pedro Algarvio
9dee4488ad
Add changelog entry about removed code 2024-03-06 12:38:45 +00:00
Pedro Algarvio
54f4150727
Merge branch '3007.x' of github.com:saltstack/salt into hotfix/merge-forward-into-3007.x 2024-03-06 12:37:56 +00:00
Shane Lee
8c86b5ec70 Make the win_function.get_sam_name function handle Everyone 2024-03-05 16:46:07 -07:00
jeanluc
562e739408 Correct docstrings 2024-03-05 14:39:01 -07:00
jeanluc
47341772ac Allow stateful import of GPG keys from files/strings 2024-03-05 14:39:01 -07:00
Salt Project Packaging
31c9d0df19
Release v3007.0 2024-03-03 07:00:21 +00:00
Daniel A. Wozniak
d286feabff Fix pre-commit 2024-03-02 13:29:42 -07:00
Daniel A. Wozniak
e14ece8d3b Fix test timeouts 2024-03-02 00:33:29 -07:00
Pedro Algarvio
0d6a8fb303 Add Fedora 39 support to create repo 2024-03-01 18:54:12 +00:00
Pedro Algarvio
a66262933e Fix lint and formatting issues 2024-03-01 18:54:12 +00:00
Skyler Hawthorne
e005c26fff delete s3fs: delete files from cache when deleted from bucket 2024-02-29 14:57:21 -07:00
Shane Lee
b7f44da849 Refactor and add some tests
Added the check to a few other places in channel server
2024-02-29 14:53:54 -07:00
Justin Zandbergen
539ad0f888 Add changelog entry 2024-02-29 14:53:54 -07:00
Pedro Algarvio
b7630f3b08
Merge 3006.x into 3007.x 2024-02-29 14:25:24 +00:00
Pedro Algarvio
f4549113b1
Update pre-commit hook versions 2024-02-29 12:30:49 +00:00
Pedro Algarvio
c920ba443d
Remove all kitchen and jenkins related resources
The salt-project hasn't been using them for a very long time.
2024-02-29 10:27:02 +00:00
Pedro Algarvio
e0761e33c0
Remove deprecated code 2024-02-29 10:24:37 +00:00
Pedro Algarvio
ad65c6364a
Fix downloading the windows nox artifact 2024-02-29 10:23:48 +00:00
Pedro Algarvio
fcb38a54d5 Ignore MacAddress when comparing containers with system docker >= 25.0 2024-02-29 10:16:58 +00:00
Pedro Algarvio
03ad4c6337 Update code to be Py3.7+ to reduce merge forward conflicts 2024-02-29 10:16:58 +00:00
Pedro Algarvio
3dea2eb541 Update pre-commit hook versions 2024-02-29 10:16:58 +00:00
Pedro Algarvio
0d6d4cfb36 Remove all kitchen and jenkins related resources
The salt-project hasn't been using them for a very long time.
2024-02-29 10:16:58 +00:00
Pedro Algarvio
67b08abf29 Remove deprecated code 2024-02-29 10:16:58 +00:00
Pedro Algarvio
104f94950a Fix downloading the windows nox artifact 2024-02-29 10:16:58 +00:00
Daniel A. Wozniak
060a192cc7 Fix linter 2024-02-29 06:29:17 +00:00
Daniel A. Wozniak
a589667304 test fix 2024-02-29 06:29:17 +00:00
Daniel A. Wozniak
738bbbbbc4 Fix up tests 2024-02-29 06:29:17 +00:00
Daniel A. Wozniak
bee018c0e5 Fix typo 2024-02-29 06:29:17 +00:00
Daniel A. Wozniak
34ee98ba8c Migrate pillar unit tests to pytest 2024-02-29 06:29:17 +00:00
Daniel A. Wozniak
b0a6a81387 Provide execution module a regular file client durring pillar rendering 2024-02-29 06:29:17 +00:00
Pedro Algarvio
656cd3381b
Merge pull request #66155 from s0undt3ch/hotfix/merge-forward-into-master
[master] Merge 3007.x into master
2024-02-29 06:01:58 +00:00
Daniel A. Wozniak
3884ef9652 Fix linter 2024-02-28 16:49:31 -07:00
Daniel A. Wozniak
afb794a7e4 test fix 2024-02-28 16:49:31 -07:00
Daniel A. Wozniak
6c3658828b Fix up tests 2024-02-28 16:49:31 -07:00
Daniel A. Wozniak
3c894fc128 Fix typo 2024-02-28 16:49:31 -07:00
Daniel A. Wozniak
874626e5d7 Migrate pillar unit tests to pytest 2024-02-28 16:49:31 -07:00
Daniel A. Wozniak
64e0297936 Provide execution module a regular file client durring pillar rendering 2024-02-28 16:49:31 -07:00
Shane Lee
ecc39aa994 Refactor and add some tests
Added the check to a few other places in channel server
2024-02-28 16:01:43 -07:00
Justin Zandbergen
15ccaccd62 Add changelog entry 2024-02-28 16:01:43 -07:00
Justin Zandbergen
0f4c022fda Simply check against cleaned key from disk. 2024-02-28 16:01:43 -07:00
Justin Zandbergen
4e72e2f0a5 fix: typo's 2024-02-28 16:01:43 -07:00
Justin Zandbergen
52d9886620 fix: Older keys end with a newline, this breaks minion auth. 2024-02-28 16:01:43 -07:00
Pedro Algarvio
e94a6ec036
Merge 3007.x into master 2024-02-28 19:05:24 +00:00
Pedro Algarvio
acd688cc04
Merge pull request #66018 from s0undt3ch/hotfix/merge-forward-into-3007.x
[3007.x] Merge 3006.x into 3007.x
2024-02-28 19:00:47 +00:00
Pedro Algarvio
e9122b1d7c Skip salt-ssh related tests on Fedora 39
The problem is that the tornado we ship is not prepared for Python 3.12,
and it imports `ssl` and checks if the `match_hostname` function is defined, which
has been deprecated since Python 3.7, so, the logic goes into trying to import
backports.ssl-match-hostname which is not installed on the system.
2024-02-28 11:24:14 +00:00
Pedro Algarvio
3978817195 Remove skips targeting PhotonOS 3 2024-02-28 11:24:14 +00:00
Pedro Algarvio
5f48635fe8 Improve logic to account for Alma Linux 2024-02-28 11:24:14 +00:00
ScriptAutomate
9baf9bb76a Adding changelogs for dropped and added AMIs 2024-02-28 11:24:14 +00:00
ScriptAutomate
67b2965260 Add latest AMIs, reduce OS targets; add Fedora 39 2024-02-28 11:24:14 +00:00
Pedro Algarvio
b3a19e6ad4
Adjust timeout for windows 2024-02-28 11:18:21 +00:00
Pedro Algarvio
fce314e011 Upgrade to cryptography==42.0.5 due to a few security issues
* https://github.com/advisories/GHSA-9v9h-cgj8-h64p
* https://github.com/advisories/GHSA-3ww4-gg4f-jr7f
* https://github.com/advisories/GHSA-6vqw-3v5j-54x4
2024-02-28 08:56:13 +00:00
Daniel A. Wozniak
7c487d2c71 Adjust more test timeouts 2024-02-28 01:07:31 -07:00
Daniel A. Wozniak
588fb116f7 Update test timeouts, work around pylint failure 2024-02-27 14:52:16 -07:00
Daniel A. Wozniak
bec314d2d7 Pre-commit formatting updates 2024-02-27 14:39:24 -07:00
Daniel A. Wozniak
163bab3849 Do not choke on non existing path 2024-02-27 14:39:11 -07:00
Pedro Algarvio
44b9e1de06 Revert "Fix file.directory clobbering backupname path with test=True"
This reverts commit 2f14cd2816.
2024-02-27 09:47:43 +00:00
Pedro Algarvio
856ac3545e Revert "Add test case"
This reverts commit 21ebbf155d.
2024-02-27 09:47:43 +00:00
Pedro Algarvio
89c3abf1ec Revert "Add changelog entry"
This reverts commit 7386c6ec87.
2024-02-27 09:47:43 +00:00
Daniel A. Wozniak
9a35eb712a Avoid circular imports on mac os 2024-02-27 02:20:04 -07:00
Pedro Algarvio
5840ab68a5 We depend on `msgpack >= 1.0`, simplify logic 2024-02-27 08:07:04 +00:00
Pedro Algarvio
890140fba1 The `salt.utils.psutil_compat` module has been deprecated 2024-02-27 08:07:04 +00:00
Pedro Algarvio
b9be2dec1b Update and remove obsolete pylint plugins 2024-02-27 08:07:04 +00:00
nicholasmhughes
6e10b5b579 copy paste error - managed to serialize 2024-02-26 12:16:39 -07:00
nicholasmhughes
9f797b56c2 fixes saltstack/salt#66098 file.managed and file.serialize default tmp_dir to relative path 2024-02-26 12:16:39 -07:00
Shane Lee
8383b9d0be Add to toctree 2024-02-26 12:15:56 -07:00
Shane Lee
d3369980d4 Add docs stub 2024-02-26 12:15:56 -07:00
Shane Lee
d0e9541034 Add versionadded 2024-02-26 12:15:56 -07:00
Shane Lee
d68826c61e Add a state for managing scheduled tasks on Windows
This is a port over from a PR that was merged onto the develop branch.
https://github.com/saltstack/salt/pull/53035
2024-02-26 12:15:56 -07:00
cmcmarrow
de710aa39e Add win_task state and tests. 2024-02-26 12:15:56 -07:00
cmcmarrow
6315bab31b Add win_task state and tests. 2024-02-26 12:15:56 -07:00
cmcmarrow
2a39ff1357 Add win_task state and tests. 2024-02-26 12:15:56 -07:00
cmcmarrow
fd0e253fe2 Add win_task state and tests. 2024-02-26 12:15:56 -07:00
Pedro Algarvio
f3f54a6eb1 Switch to python-tools-scripts >= 0.20.0 2024-02-26 13:43:46 +00:00
Erik Johnson
7386c6ec87 Add changelog entry 2024-02-22 15:44:18 -07:00
Erik Johnson
21ebbf155d Add test case 2024-02-22 15:44:18 -07:00
Erik Johnson
2f14cd2816 Fix file.directory clobbering backupname path with test=True 2024-02-22 15:44:18 -07:00
Shane Lee
ac5f0474e3
Merge pull request #66109 from twangboy/fix_winrepo_update_script
[3006.x] Fix update winrepo script on 3006.x
2024-02-21 12:20:03 -07:00
Shane Lee
c6991e22ce
Fix update winrepo script on 3006.x 2024-02-21 12:18:00 -07:00
Pedro Algarvio
823886028b
Merge 3006.x into 3007.x 2024-02-21 19:14:47 +00:00
nicholasmhughes
0d518807e2 fix insertion of newfile key in changes dict for windows 2024-02-20 19:35:44 -07:00
Shane Lee
00292d6b0d Fix the module and test for Windows
Use salt.utils.files.mkstemp isntead of tempfile.NamedTemporaryFile when
creating the temporary file for get_diff
Fix the test to check for the linesep of the os at the end
On windows there is also a newfile entry in the change dict
2024-02-20 19:35:44 -07:00
nicholasmhughes
e142205060 fixes saltstack/salt#65546 add show diff for new file in file.managed 2024-02-20 19:35:44 -07:00
Daniel A. Wozniak
66d8a33c88 Fix ssh tests 2024-02-19 22:50:37 -07:00
Pedro Algarvio
34ab8c732b
Merge 3006.x into 3007.x 2024-02-19 13:10:20 +00:00
Pedro Algarvio
37cf95b17a
It's tornado.gen.Return not salt.tornado.gen.Return 2024-02-18 19:56:51 +00:00
Pedro Algarvio
8721d47578
Increase timeouts in problematic tests 2024-02-18 19:56:51 +00:00
Pedro Algarvio
7c8a104f3f
Fix test failures 2024-02-18 19:41:49 +00:00
Pedro Algarvio
6e1372d66f
Merge 3006.x into 3007.x 2024-02-18 09:22:18 +00:00
vzhestkov
590ebf7c80 Add test for fire_ret_load 2024-02-16 14:03:05 -07:00
vzhestkov
1269be10fc Add test of catching SaltDeserializationError on reading event 2024-02-16 14:03:05 -07:00
vzhestkov
ffe2d166c1 Improve broken events catching and reporting 2024-02-16 14:03:05 -07:00
Pedro Algarvio
76a86f765d
Run pyupgrade against the files modified in the merge-forward 2024-02-16 07:22:49 +00:00
Pedro Algarvio
94b6f4cc78
Merge 3006.x into 3007.x 2024-02-16 07:21:19 +00:00
Shane Lee
5d3ed5877b Only import ctypes.wintypes on Windows 2024-02-15 16:16:15 -07:00
Shane Lee
5a42670549 Import ctypes.wintypes explicitely 2024-02-15 16:16:15 -07:00
Johannes Hahn
f406a090df Fix test after formatting changes (pre-commit) 2024-02-15 10:56:38 -07:00
Johannes Hahn
8c06378dd8 Formatting changes as suggested by pre-commit 2024-02-15 10:56:38 -07:00
Johannes Hahn
3deaae2697 Add changelog file 2024-02-15 10:56:38 -07:00
Johannes Hahn
995d4175c0 Verify that .yaml files are discovered as well 2024-02-15 10:56:38 -07:00
Johannes Hahn
1207030427 Discover .yml and .yaml files
Allow for 'playbook_extension' to be either a string or a tuple and
change the default behavior to discover both.
2024-02-15 10:56:38 -07:00
Pedro Algarvio
2b565f770a
Run pyupgrade against the files modified in the merge-forward 2024-02-15 14:06:16 +00:00
Pedro Algarvio
d5732b1611
Merge 3006.x into 3007.x 2024-02-15 14:03:35 +00:00
Pedro Algarvio
7f29337f70
Bump to pyzmq==25.1.2 to hopefully address some build issues on MacOS 2024-02-15 13:57:02 +00:00
Pedro Algarvio
5fdb598bc4
Run pyupgrade against the files modified in the merge-forward 2024-02-14 08:57:57 +00:00
Pedro Algarvio
fd800f57f1
Merge 3006.x into 3007.x 2024-02-14 08:56:16 +00:00
Pedro Algarvio
4cade4f59b
Fix missed salt.ext.tornado occurrence 2024-02-07 12:55:14 +00:00
Pedro Algarvio
4f8f60d89f
Run pyupgrade against the files modified in the merge-forward 2024-02-07 12:47:32 +00:00
Pedro Algarvio
4de6b1011f
Merge 3006.x into 3007.x 2024-02-07 11:09:05 +00:00
Pedro Algarvio
9777612cfd Add changelog for the changes in #65986 2024-02-07 08:58:06 +00:00
Pedro Algarvio
3b24505b3a Remove deprecated code 2024-02-07 08:51:31 +00:00
Erik Johnson
2b364c92e6 Two tweaks for .gitignore
1. `/env/` and `/.env` can be represented in a single entry using `/.?env/`
2. Update `/venv/` entry to also ignore `/.venv/`. Some tools (for
   example poetry) will look for and use virtualenvs in the root of a
   project if they are named `.venv`.
2024-02-06 17:25:47 +00:00
vzhestkov
f35ae268aa Remove unused import causing delays on starting salt-master
(cherry picked from commit 20573c8941)
2024-02-06 06:15:25 +00:00
vzhestkov
20573c8941 Remove unused import causing delays on starting salt-master 2024-02-06 06:07:30 +00:00
jeanluc
0b129443e3 Update enable_ssh_minions docs after PR 65646 2024-02-02 14:55:41 -07:00
Pedro Algarvio
6dd2f1783d
Merge pull request #65981 from s0undt3ch/hotfix/merge-forward-into-master
[master] Merge 3007.x into master
2024-02-02 18:16:58 +00:00
Pedro Algarvio
923b9fe7e9
Merge 3007.x into master 2024-02-02 08:39:29 +00:00
Pedro Algarvio
afe89f8916
Merge pull request #65975 from s0undt3ch/hotfix/merge-forward-into-3007.x
[3007.x] Merge 3006.x into 3007.x
2024-02-02 08:38:53 +00:00
Pedro Algarvio
85ba203a8c
Run pyupgrade against the files modified in the merge-forward 2024-02-01 10:25:53 +00:00
Pedro Algarvio
e5d3ef7ff7
Merge 3006.x into 3007.x 2024-02-01 09:00:02 +00:00
Pedro Algarvio
c4b12f4fef
Merge pull request #65958 from s0undt3ch/hotfix/merge-forward-2
[3007.x] Merge 3006.x into 3007.x
2024-02-01 08:47:18 +00:00
Pedro Algarvio
67be59ed16
Merge 3006.x into 3007.x 2024-01-31 16:13:22 +00:00
Pedro Algarvio
ed2548d52a
Merge 3006.x into 3007.x 2024-01-31 13:28:25 +00:00
Pedro Algarvio
fe80b71768 Build documentation when .github/workflows/build-docs.yml changes 2024-01-31 13:27:09 +00:00
Pedro Algarvio
646ba02849 Fix the copy path 2024-01-31 13:27:09 +00:00
Pedro Algarvio
0afae059a6 Build documentation when .github/workflows/build-docs.yml changes 2024-01-31 13:25:03 +00:00
Pedro Algarvio
00a92cc453 Fix the copy path 2024-01-31 13:25:03 +00:00
Pedro Algarvio
b29b26882f Fix docs builds 2024-01-31 12:57:57 +00:00
Pedro Algarvio
f9ca6b18b0 Fix docs builds 2024-01-31 12:56:22 +00:00
Pedro Algarvio
f96f8e0130
Merge 3006.x into 3007.x 2024-01-31 11:20:17 +00:00
Pedro Algarvio
4691317034
Merge 3006.x into 3007.x 2024-01-31 11:05:43 +00:00
Pedro Algarvio
eb4277bfc4
Merge pull request #65934 from s0undt3ch/hotfix/merge-forward
[master] Merge 3007.x into master
2024-01-27 13:59:23 +00:00
Pedro Algarvio
d943669244
Merge 3007.x into master 2024-01-26 15:26:00 +00:00
Pedro Algarvio
9e09676855
Merge pull request #65926 from s0undt3ch/hotfix/merge-forward-2
[3007.x] Merge 3006.x into 3007.x
2024-01-26 15:24:14 +00:00
Tom Kent
48b60c3380 Using python 3.x syntax for print 2024-01-26 06:28:01 +00:00
Pedro Algarvio
2631170a6f
Fix tests not properly fixed during the merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-26 06:20:11 +00:00
Pedro Algarvio
890df5021b
Exit the process cleanly
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-26 05:54:45 +00:00
Henrik Hüttemann
6c14fd9a26 Adapt tests to use new method 2024-01-25 16:31:16 -07:00
Henrik Hüttemann
2eef6d6489 Update docs to reflect pre-commit check
The changelog files should have a `.md` extension, but the CONTRIBUTING.rst does not reflect it, yet
2024-01-25 16:31:16 -07:00
Henrik Hüttemann
a76d5c47ef Make Salt Cloud Hetzner module detect image architecture from instance type
Previously, creating an arm64 instance failed, because the x86 image was selected by name only
2024-01-25 16:31:16 -07:00
Pedro Algarvio
3afeaad0a7
Try to create the directory and don't fail if it already exists
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-25 18:03:19 +00:00
Pedro Algarvio
560b24f1a6
Fix a few yield statements which should have been converted to await
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-25 16:13:26 +00:00
Pedro Algarvio
5ea370c1fb
Merge 3006.x into 3007.x 2024-01-25 09:47:57 +00:00
Pedro Algarvio
121301514d
Minor cleanup
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-25 08:22:40 +00:00
Pedro Algarvio
86cfde38ed
Run pyupgrade against the files modified in the merge-forward 2024-01-24 15:05:46 +00:00
Pedro Algarvio
3448e40847
Merge 3006.x into 3007.x 2024-01-24 15:02:25 +00:00
Nicholas Hughes
b5c096920e
Add context aware change handling for file.managed state module function (#63347)
* add context aware change handling for file.managed state module function

* updates docstrings, add ignore comments, and add util tests

* update util tests

* adding additional documentation and test cases

* missed some places where a kwarg needed to be passed through

* handling pyupgrade changes

* using new md changelog format

* add context aware change handling for file.managed state module function

* updates docstrings, add ignore comments, and add util tests

* update util tests

* adding additional documentation and test cases

* missed some places where a kwarg needed to be passed through

* handling pyupgrade changes

* fix existence checking after merge conflict fix

* remove duplicate test from merge conflict resolution

* apparently using the github ui to resolve merge conflicts was a bad idea

---------

Co-authored-by: Daniel Wozniak <dwozniak@vmware.com>
2024-01-22 14:34:42 -07:00
Pedro Algarvio
5098cf9710 Fix osarch value in comparisson
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-22 17:35:33 +00:00
Pedro Algarvio
56f73ba939 Fix osarch value in comparisson
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-22 17:34:02 +00:00
Pedro Algarvio
ec7bcdf8e6 Reduce the number of test swarm minions on Amazon 2023 on Arm64
The test suite is getting OOM killed on that test.

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-22 08:50:10 +00:00
Pedro Algarvio
bfc1e9ad41 Reduce the number of test swarm minions on Amazon 2023 on Arm64
The test suite is getting OOM killed on that test.

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-22 08:47:08 +00:00
Pedro Algarvio
7eb4ffbe75
Merge pull request #65913 from s0undt3ch/hotfix/merge-forward
[master] Merge 3007.x into master
2024-01-22 07:25:26 +00:00
Pedro Algarvio
bc3cbf69c1
Merge 3007.x into master 2024-01-21 17:57:06 +00:00
Pedro Algarvio
a9b16faa75 Increase integration tests concurrency
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-21 17:46:40 +00:00
Pedro Algarvio
6c12abf3b1 Fix static requirements
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-21 14:00:09 +00:00
Pedro Algarvio
db9ca73942 Fix some more places where we need to use `actions/{upload,download}-artifact@v3`
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-20 18:24:18 +00:00
Gary T. Giesen
d02e2013be Update note around password field on user.present wrt Windows 2024-01-19 15:07:16 -07:00
Shane Lee
d4f257ee04 Fix pre-commit 2024-01-19 14:36:10 -07:00
Noah Ablaseau
1a907c3ae2 Fix whitespace for linter 2024-01-19 14:36:10 -07:00
Noah Ablaseau
52ae5800a0 osrelease_info is tuple 2024-01-19 14:36:10 -07:00
Noah Ablaseau
0b55627eed Rename fixed -> added 2024-01-19 14:36:10 -07:00
Noah Ablaseau
deff6bad13 Add changelog 2024-01-19 14:36:10 -07:00
Noah Ablaseau
abf906ad1c Add Virtuozzo Linux as os_family=Redhat 2024-01-19 14:36:10 -07:00
Jamie Murphy
de002b6bcb override test kwarg to be bool for state.apply and state.highstate commands 2024-01-19 14:32:20 -07:00
Shane Lee
e6fac5395e Fix cmdmod tests on Windows
Fixes some tests in the cmd module (cmdmod) so that they will run on
Windows. These tests were skipped in a PR that was merged. This fixes
those tests as well as other tests that were feasible to get working on
Windows.
2024-01-19 14:30:31 -07:00
Pedro Algarvio
4b652eb666
Merge pull request #65900 from s0undt3ch/hotfix/merge-forward
[master] Merge 3007.x into master
2024-01-19 14:40:32 +00:00
Pedro Algarvio
4a6b2ca81d
Merge 3007.x into master 2024-01-19 11:13:47 +00:00
Pedro Algarvio
9f2fb8e76a
Merge pull request #65899 from s0undt3ch/hotfix/merge-forward-2
[3007.x] Merge 3006.x into 3007.x
2024-01-19 11:13:07 +00:00
Pedro Algarvio
6694a7a273
Merge 3006.x into 3007.x 2024-01-19 07:40:21 +00:00
Pedro Algarvio
5eea920177 We need more splits in nightly builds
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-18 06:54:29 +00:00
Pedro Algarvio
d740f6cf70
Merge pull request #65891 from s0undt3ch/hotfix/merge-forward-2
[3007.x] Merge 3006.x into 3007.x
2024-01-18 05:58:42 +00:00
Pedro Algarvio
d3a21f249c
Merge pull request #65892 from s0undt3ch/hotfix/merge-forward
[master] Merge 3007.x into master
2024-01-18 05:58:13 +00:00
Pedro Algarvio
82fef67ad7
Merge 3007.x into master 2024-01-17 15:16:09 +00:00
Pedro Algarvio
b22db6db8a
Merge 3006.x into 3007.x 2024-01-17 15:15:03 +00:00
Pedro Algarvio
0a096e74e0
Merge pull request #65872 from s0undt3ch/hotfix/merge-forward-2
[3007.x] Merge 3006.x into 3007.x
2024-01-17 15:13:09 +00:00
Pedro Algarvio
aad7a8ab14 Revert #64929 since it's not working as intended
See https://github.com/saltstack/salt/actions/runs/7554867564/job/20574453603#step:11:123

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-17 14:41:19 +00:00
Pedro Algarvio
7ed9b35cc1 Set PIP_DISABLE_PIP_VERSION_CHECK=1 on CI workflows
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-17 11:12:55 +00:00
Pedro Algarvio
88d9589a17 Define the DEBs listing outside of the template
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-17 11:12:55 +00:00
Pedro Algarvio
9e7b942cba Fix RPM build repository for aarch64
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-17 11:12:55 +00:00
Pedro Algarvio
00e094518d Fix build RPM repository.
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-17 11:12:55 +00:00
Pedro Algarvio
98630ecdce Fix build RPM repository
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-17 11:12:55 +00:00
Pedro Algarvio
239e88c6e0 Missed change in 5ea3bf3a9d
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-17 11:12:55 +00:00
Pedro Algarvio
9c47e11ef7 If the user passes a path to the package tests, don't auto add them
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-17 11:12:55 +00:00
Pedro Algarvio
3fb1279f32 Allow excluding paths when cleaning up archives
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-17 11:12:55 +00:00
Pedro Algarvio
83e66d30b7 Fix CI nox artifacts download
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-17 11:12:55 +00:00
Pedro Algarvio
349d701924
Merge 3006.x into 3007.x 2024-01-17 07:29:32 +00:00
Pedro Algarvio
20422ec3d1
Dedupe & fix tests from merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-17 07:29:16 +00:00
Zhiwei Liang
f01483ff92 Fix salt-cloud get_cloud_config_value for list objects 2024-01-16 10:16:16 -07:00
Pedro Algarvio
c7300429d7
Fix pre-commit config and some requirements which got downgraded
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-16 12:11:09 +00:00
Pedro Algarvio
b9e5f513dd
Run pyupgrade against the files modified in the merge-forward 2024-01-16 11:54:54 +00:00
Pedro Algarvio
82e4e2b55f
Merge 3006.x into 3007.x 2024-01-16 11:50:44 +00:00
Damien Degois
857c840762 Don't fail if pymongo is missing 2024-01-15 14:24:28 -07:00
Damien Degois
6914202143 Fix tests 2024-01-15 14:24:28 -07:00
Damien Degois
6d7a070657 Adapt auth, authenticate on db fails 2024-01-15 14:24:28 -07:00
Damien Degois
c74c37372b Adapt tests 2024-01-15 14:24:28 -07:00
Damien Degois
dbc8b4cf66 Pre-commit black + isort + pyupgrade 2024-01-15 14:24:28 -07:00
Damien Degois
d20f57852b Fix according to pre-commit 2024-01-15 14:24:28 -07:00
Wayne Werner
0c7041ac43 Update docs for module and states 2024-01-15 14:24:28 -07:00
Wayne Werner
524b99cfcc add changelog 2024-01-15 14:24:28 -07:00
Wayne Werner
e086090e33 Also add verify_ssl argument
Without verify_ssl it's a bit complicated to test, and if someone wants
to use self-signed certs in their environment without actually
installing the certs or making a CA, that should also be up to them.
2024-01-15 14:24:28 -07:00
Wayne Werner
a3cf72005d Add ssl argument to MongoClient for mongo future returner 2024-01-15 14:24:28 -07:00
Wayne Werner
bbf86a67be Add ssl argument to MongoClient for mongo returner 2024-01-15 14:24:28 -07:00
Wayne Werner
4819ad1949 actually test all the cases for mongo top 2024-01-15 14:24:28 -07:00
Wayne Werner
a8ec3585a4 Add ssl argument to mongo pillar 2024-01-15 14:24:28 -07:00
Wayne Werner
23db530c03 pass ssl to mongo top as well 2024-01-15 14:24:28 -07:00
Wayne Werner
793b0bbe6a Add tests for passing ssl argument
Would still like to add functional tests against an actual mongodb.
2024-01-15 14:24:28 -07:00
Wayne Werner
17d1709621 Add docs for mongodb module 2024-01-15 14:24:28 -07:00
Wayne Werner
5a3baed83a Add docs & ssl arg to mongodb_database state
... as well as the necessary modules, natch.
2024-01-15 14:24:28 -07:00
Wayne Werner
1cea32477f Add tests + ssl arg for mongodb_user state
These tests are not *super* meaningful but they do at least ensure that
ssl the arg correctly gets passed into the MongoClient. Still left to do
is add tests + ssl arg for the mongodb_database state, the mongodb
module, as well as updating all of the documentation for these modules.

We also want to add a few functional tests that ensure that the SSL
argument is correctly used with an actual mongodb server.
2024-01-15 14:24:28 -07:00
Pedro Algarvio
daef7613bc
Merge pull request #65847 from s0undt3ch/hotfix/merge-forward
[master] Merge 3007.x into master
2024-01-11 09:02:03 +00:00
Pedro Algarvio
502fb070a8
Merge 3007.x into master 2024-01-11 09:00:42 +00:00
Pedro Algarvio
b71b259f39
Merge pull request #65846 from s0undt3ch/hotfix/merge-forward-2
[3007.x] Merge 3006.x into 3007.x
2024-01-11 09:00:16 +00:00
Pedro Algarvio
5b46b0ba5e
Merge 3006.x into 3007.x 2024-01-11 08:57:37 +00:00
Daniel A. Wozniak
32aa7d4b67 Add missing master cluster changelog 2024-01-11 07:51:51 +00:00
Pedro Algarvio
73922a7469
Merge pull request #65815 from s0undt3ch/hotfix/merge-forward
[master] Merge 3007.x into master
2024-01-10 05:09:08 +00:00
Pedro Algarvio
ea0b6fee1b
Merge 3007.x into master 2024-01-09 18:51:25 +00:00
Pedro Algarvio
31ac2414c1 Remove unnecessary workflow steps while still showing the information
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-09 18:50:44 +00:00
Shane Lee
dc00efabf3 Update bootstrap script in 3006.x branch 2024-01-09 18:50:44 +00:00
Pedro Algarvio
e744d21767 Prefer github hosted runners in favor of self hosted runners for reports
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-09 18:50:44 +00:00
Pedro Algarvio
7e64eb4bd6 Bump to actions/setup-python@v5
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-09 18:50:44 +00:00
Pedro Algarvio
d09e6cd3fb
The master branch is now 3008.x
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-09 15:51:39 +00:00
Pedro Algarvio
72514da1a8
Merge 3007.x into master 2024-01-09 15:42:11 +00:00
Pedro Algarvio
bf935624f1
Merge 3006.x into 3007.x 2024-01-09 15:38:45 +00:00
Shane Lee
2e3b133350
Merge pull request #65810 from dmurphy18/fix_garethPR_64388
[master] Deprecations messages for boto modules moving to Salt extension, Gareth J Greenaway original author
2024-01-08 14:23:45 -07:00
Pedro Algarvio
5c4747d59d
Merge 3007.x into master 2024-01-08 20:58:22 +00:00
David Murphy
02ca0a503d
Merge pull request #65793 from s0undt3ch/hotfix/merge-forward
[3007.x] Merge 3006.x into 3007.x
2024-01-08 13:56:41 -07:00
David Murphy
10612f6313
Merge pull request #65780 from s0undt3ch/hotfix/deprecations-3007.x
[3007.x] Be sure to trigger all release branches on nightly and scheduled builds
2024-01-08 13:54:57 -07:00
Shane Lee
24040e063f
Merge pull request #65679 from dmurphy18/fix_garethPR_62322
[master] Moving tests/integration/modules/test_cmdmod.py to pytest, Gareth J Greenaway original author
2024-01-05 16:10:13 -07:00
Pedro Algarvio
f08ae48642
Vertical tuples are more readable than horizontal ones
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-05 11:23:24 -07:00
Gareth J. Greenaway
e698cfee2a
Running pre-commit 2024-01-05 11:22:42 -07:00
Gareth J. Greenaway
8774069f7d
fixing deprecated dict for states. 2024-01-05 11:22:03 -07:00
Gareth J. Greenaway
d695107f7c
Simplify the deprecation decorator and deprecated dictionary and only use the version number. 2024-01-05 11:22:00 -07:00
Daniel A. Wozniak
de670b3965
Adding deprecation message to all boto modules in preparation for moving these to a salt extension 2024-01-05 11:21:03 -07:00
Pedro Algarvio
68ecf808e3
Merge 3006.x into 3007.x 2024-01-05 11:29:13 +00:00
Cesar Augusto Sanchez
fac15ed958 fix consul.acl_create rule creation 2024-01-04 14:52:00 -07:00
Thomas Phipps
5b97fa6a58 fix pytest marking so only the slow tests instead of all tests in functional file are marked as slow 2024-01-04 14:50:40 -07:00
Thomas Phipps
6b2ac305bf add tests for mod_repo 2024-01-04 14:50:40 -07:00
Thomas Phipps
7dcb34e6bf yumpkg add metalink 2024-01-04 14:50:40 -07:00
David Murphy
98d97e488f
Adjusted skip for test_windows_env_handling 2024-01-04 13:46:15 -07:00
David Murphy
0fb45dbf3f
Disable tests on Windows, until Windows environment handled better by new test file 2024-01-03 15:59:23 -07:00
David Murphy
5ed9cefd55
Comment out windows environment test, needs rewriting, causing failures - debugging 2024-01-03 15:48:30 -07:00
David Murphy
a3842e40d6
Updated test per reviewer's review and suggestions 2024-01-03 15:48:30 -07:00
David Murphy
c041fd3458
Updated python versions 2024-01-03 15:48:30 -07:00
David Murphy
7ff6652440
Update test 2024-01-03 15:48:30 -07:00
Gareth J. Greenaway
2c1040b4c2
Moving tests/integration/modules/test_cmdmod.py to pytest, Gareth J Greenaway original author 2024-01-03 15:48:22 -07:00
Pedro Algarvio
c5cfe214cd Stop importing salt.log it's long deprecated
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-03 13:52:52 -07:00
Pedro Algarvio
bdf9b6b6e2 Remove deprecation warning which turned into an error on Jan 2024
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-03 13:52:52 -07:00
Pedro Algarvio
10341c5652
Be sure to trigger all release branches on nightly and scheduled builds
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-03 10:48:19 +00:00
Salt Project Packaging
257c067ef6
Release v3007.0rc1 2024-01-02 21:47:46 +00:00
Pedro Algarvio
fb562e60e8 Stop importing salt.log it's long deprecated
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-02 14:17:55 -07:00
Pedro Algarvio
a4352e11cf Remove deprecation warning which turned into an error on Jan 2024
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2024-01-02 14:17:55 -07:00
jeanluc
982ffba670 Remove _check_ret calls since they're not needed anymore
after #64542 was merged
2024-01-02 14:17:43 -07:00
jeanluc
d3a113f2e5 Fix tests after rebase 2024-01-02 14:17:43 -07:00
jeanluc
47b8836f94 Add logmod SSH wrapper 2024-01-02 14:17:43 -07:00
jeanluc
9f34246960 Run pre-commit after base change 2024-01-02 14:17:43 -07:00
jeanluc
d9b25d475d Add defaults SSH wrapper module
This is a 1:1 copy of the execution module, incl. tests...
2024-01-02 14:17:43 -07:00
jeanluc
b69fe967b5 Fix/skip tests on RHEL/Windows 2024-01-02 14:17:43 -07:00
jeanluc
9269d6d7a6 Don't mkdir -p on empty paths 2024-01-02 14:17:43 -07:00
jeanluc
bde1289fd8 Fix unused var in grains.get wrapper
`ordered=False` would not have worked before
2024-01-02 14:17:43 -07:00
jeanluc
515d0ff503 Add SSH wrapper for cmd.script 2024-01-02 14:17:43 -07:00
jeanluc
55ec2921e3 Add missing functions to `cp` SSH wrapper 2024-01-02 14:17:43 -07:00
jeanluc
f38d1f7467 Add slsutil SSH wrapper 2024-01-02 14:17:43 -07:00
jeanluc
fd588f754e Sync config SSH wrapper with execution module
The wrapper has diverged significantly from the module.

* `option` did not check grains
* `option` did not have `omit_all` and `wildcard` parameters
* `get` missed several parameters: `delimiter`, `merge` and all `omit_*`
* There was no wrapping function for `items`.
2024-01-02 14:17:43 -07:00
jeanluc
4a35d6f47f Add state.test to SSH wrapper 2024-01-02 14:17:43 -07:00
jeanluc
1d0dfdecbd Ensure local exec errs have a meaningful error output 2023-12-30 06:48:00 -07:00
jeanluc
1beb3eed45 Cleanup after SSH error return changes
Before PR #64542, SSH error returns depended on whether the command was
executed non-wrapped or wrapped. The former would always return an error
dict including `stdout` and `stderr` keys, while the latter would return
a string. Synchronizing this behavior to work like usual introduced a
breaking change, which was reverted afterwards.

This cleans up unnecessary code after the revert of the mentioned
behavior.

1) SSHCommandExecutionErrors are only thrown when retcode > 0
2) `Probably got garbage` is the return of the module which should never
   be reached (when failing, it's in the returned string, it's never
   found in a dict key `ret["stderr"]`).
2023-12-30 06:48:00 -07:00
Daniel A. Wozniak
ce57b8b62d Skip flakey blackout tests on windows 2023-12-30 00:01:20 -07:00
Daniel A. Wozniak
f14d79af73 Fix ssh unit test test_handle_routine_single_run_invalid_retcode 2023-12-28 23:56:15 -07:00
Daniel A. Wozniak
d53a8c74ba Fix more ssh tests 2023-12-28 23:36:17 -07:00
Daniel A. Wozniak
6f5c0ac2e7 Revert test changes and fix original tests 2023-12-28 16:42:39 -07:00
Lee Clemens
6e1351679b Add changelog 2023-12-28 02:17:50 -07:00
Lee Clemens
2248414917 Return DNS plugin not supported error 2023-12-28 02:17:50 -07:00
Jonatan Sundeen
343b76474b Fixed pre-commit failures
Added docstring
Fixed lint
2023-12-28 02:14:23 -07:00
Jonatan Sundeen
c1a0cb45db Added changelog 2023-12-28 02:14:23 -07:00
Jonatan Sundeen
9798ba5309 Artifactory module basic auth fix
This fixes issue with basic auth causing 401 Bad Request.
Using HTTPBasicAuthHandler instead of header.
2023-12-28 02:14:23 -07:00
Lee Clemens
a4309cda7c Port unit tests to pytest 2023-12-28 02:13:25 -07:00
Lee Clemens
ab3e52234d Fix linting 2023-12-28 02:13:25 -07:00
Lee Clemens
e3721b493b Use f-strings 2023-12-28 02:13:25 -07:00
Lee Clemens
64834d821a Update changelog file syntax 2023-12-28 02:13:25 -07:00
Lee Clemens
d995a52791 Adjust formatting of example state 2023-12-28 02:13:25 -07:00
Lee Clemens
a47eeb909c Report failures and error information.
Replace stdout in cases of success with known value for state to evaluate.
Update response handling in states.

Fixes #60500
2023-12-28 02:13:25 -07:00
Lee Clemens
c5ec77d36e Add changelog 2023-12-28 02:11:54 -07:00
Lee Clemens
56ce1ff3e7 Add manual support for manual plugin by providing auth and cleanup hook paths 2023-12-28 02:11:54 -07:00
Daniel A. Wozniak
5bc09e5470 Mock PublishClient instead of TCPPubClient 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
449cca258f Fix more schedule tests 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
62774c3234 Mock blocking connect_pub method 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
a5d377db70 check change 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
887a9f30c8 Fix another spelling wart 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
62e793e106 Debug windows unit tests 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
a31597fea7 Fix up docs 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
eee8396473 Fix review comments 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
74079ee19b Bump workflow cache seed 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
e089d384eb Fix pre-commit warts from rebase 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
e39246b1ef Revert change to zmq transport 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
10b714cf55 Simplify payload unpacking. 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
e7b99200c6 Remove cruft 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
1b3d01c703 Transport test fix 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
24257072bb wip 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
fdbb4ed333 Update transport docs with websockt transport 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
9adfd29c54 Wean of tcp transport bits in ws transport 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
85c282e51a Request server basic test for all transports 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
e84dbda010 Put channel tests under channel not transport 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
3347d543f5 Fix tests 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
f62f6469ff Better testing of ssl opts and ws transport 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
2bf2936f73 Fix up tcp ssl and add ssl to ws 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
2f5fe3bcb6 Name conformity 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
74195b8306 Fix up basic ping between master and minion 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
836b5421f7 Fix up pre-commit (linter) 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
e36d67e83b Clean up tcp imports 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
73e8175e12 Add ws transport to factories 2023-12-28 00:29:50 -07:00
Daniel A. Wozniak
0e2520a597 Add websocket transport skeleton 2023-12-28 00:29:50 -07:00
Daniel Wozniak
1545a18ce9
Merge pull request #65747 from dwoz/merge-forward
[master] Merge forward from 3006.x
2023-12-28 00:28:41 -07:00
Daniel A. Wozniak
0cc5b51aba Fix clustered master startup race condition
When starting up a cluster master, sending the initial aes key event
needs to wait for the event server to fully start. Prior to this change
we'd only try for one second and there was no logging of a failure.
2023-12-27 16:27:54 -07:00
Daniel A. Wozniak
9f1ae6982d Fix broken ssh test 2023-12-27 10:29:13 -07:00
Daniel A. Wozniak
5c83db6a3c Merge remote-tracking branch 'saltstack/3006.x' into merge-forward 2023-12-26 21:50:50 -07:00
Daniel A. Wozniak
046352a760 Fix broken ssh tests 2023-12-26 21:42:21 -07:00
Daniel A. Wozniak
874698b9fb Merge branch '3006.x' into merge-forward 2023-12-23 00:50:54 -07:00
Carlos Álvaro
0a88399996 fix: Fix typo in changelog 2023-12-21 21:35:46 -07:00
Carlos Álvaro
ea0d19f416 test(mac_brew_pkg): Update tests for Apple Silicon 2023-12-21 21:35:46 -07:00
Carlos Álvaro
7a6203eb50 feat(mac_brew_pkg): Remove some logs 2023-12-21 21:35:46 -07:00
Carlos Álvaro
3309126c88 changelog: Add changelog for PR #64924 2023-12-21 21:35:46 -07:00
Carlos Álvaro
21d80bfa3a feat(rsax931): Use mac_brew_pkg.homebrew_prefix
Uses the homebrew_prefix method to get the Homebrew's prefix
if Homebrew is installed on the machine
2023-12-21 21:35:46 -07:00
Carlos Álvaro
f04e3ff248 test(mac_brew_pkg): Add tests for homebrew_prefix 2023-12-21 21:35:46 -07:00
Carlos Álvaro
b8075fd85f feat(mac_brew_pkg): Add homebrew_prefix method 2023-12-21 21:35:46 -07:00
Kevin Quinn
bb6fbdd7af Remove duplicatated code
I just noticed what looks like a copy/paste artifact here or a merge
conflict resolution, not sure
2023-12-21 21:34:01 -07:00
jeanluc
fbb6728179 Make Salt-SSH sync custom utils 2023-12-21 12:05:06 -07:00
Gareth J. Greenaway
9f5a1a7f4b Include changes in the results when schedule.present state is run with test=True. 2023-12-21 12:04:18 -07:00
Christian Clauss
05faca63ea Fix typos 2023-12-19 15:54:37 -07:00
Hristo Voyvodov
53c7e6be4f fixes saltstack#53120 State firewalld.present disables masquerade when making unrelated changes
This will set masquerade to None by default, thus not making changes
without explicit request from the user.
2023-12-18 20:39:20 -07:00
Daniel A. Wozniak
15f44f2d12 Fix up code review spelling grammar 2023-12-18 14:30:58 -07:00
Daniel A. Wozniak
a49554a4d3 Fix another code review grammar issue 2023-12-18 14:30:58 -07:00
Daniel A. Wozniak
80a6efb608 Fix up issues found in code revieww 2023-12-18 14:30:58 -07:00
Daniel A. Wozniak
bc4a8390c8 Add master-cluster to doctree 2023-12-18 14:30:58 -07:00
Daniel A. Wozniak
39197b9b40 Add cluster config settings to docs 2023-12-18 14:30:58 -07:00
Daniel A. Wozniak
aaca103604 wip docs for master cluster 2023-12-18 14:30:58 -07:00
jeanluc
6f6fd93cc2 Apply suggested changes by review 2023-12-18 10:16:04 -07:00
jeanluc
cf57e487e2 Fix new unit tests 2023-12-18 10:16:04 -07:00
jeanluc
ae1d72ccef Use find_json again, more validation 2023-12-18 10:16:04 -07:00
jeanluc
5e559b8449 Adapt unit tests, report permission denied as before
Also fix an integration test which was broken by a botched
rebase conflict resolution.
2023-12-18 10:16:04 -07:00
jeanluc
3c804657be Also test exact expected state failure output 2023-12-18 10:16:04 -07:00
jeanluc
bade8e8206 Fix SSHCommandExecutionError string casting output
It should include the specific error, not just the general one
2023-12-18 10:16:04 -07:00
jeanluc
d6863fd79a Cleanup, add changelog entry for compound issue 2023-12-18 10:16:04 -07:00
jeanluc
d431a948b2 Ensure salt-ssh job ret events contain all usual data 2023-12-18 10:16:04 -07:00
jeanluc
2224a82ded Update key deploy routine for new parsing workflow 2023-12-18 10:16:04 -07:00
jeanluc
01a56caac6 Also test exact expected command parsing failure output 2023-12-18 10:16:04 -07:00
jeanluc
2791be62b1 Filter out deprecation warnings from reported stderr 2023-12-18 10:16:04 -07:00
jeanluc
5be82ae9fb Run pyupgrade 2023-12-18 10:16:04 -07:00
jeanluc
41e35b59e7 Exclude salt-ssh error returns from mine 2023-12-18 10:16:04 -07:00
jeanluc
7411dcc2d5 Make state.* wrappers treat a remote exception as failure 2023-12-18 10:16:04 -07:00
jeanluc
a52741723b Adapt remote execution error output tests 2023-12-18 10:16:04 -07:00
jeanluc
808699f343 Make salt-ssh more strict when handling unexpected situations
This commit ensures that output indicating failure is not
passed off as the output of the command when it is called
via `__salt__`, e.g. during template rendering or in wrapper
modules. It does this by raising exceptions when issues
are detected and thus simulates the remote error locally.
See issue #64531 for a detailed description.
2023-12-18 10:16:04 -07:00
jeanluc
d166dc4db1 Add tests for issues #64531 and #52452 2023-12-18 10:16:04 -07:00
Jamie Murphy
4771edb58a add nightly minor/latest symlink to debian repos 2023-12-18 04:35:47 -07:00
Jamie (Bear) Murphy
7d198938ba adjust minor/nightly path to minor/latest 2023-12-18 04:35:47 -07:00
Jamie (Bear) Murphy
c122d225fc adjust if none check 2023-12-18 04:35:47 -07:00
Jamie Murphy
bf1dda1212 Update create.py 2023-12-18 04:35:47 -07:00
Jamie Murphy
252e86518f add a nightly_latest.repo file which always points to latest nightly build 2023-12-18 04:35:47 -07:00
Jamie Murphy
b6cb55a1f7 adjust path to minor/nightly 2023-12-18 04:35:47 -07:00
Jamie Murphy
cdf020c5c5 add nightly symlink 2023-12-18 04:35:47 -07:00
Daniel A. Wozniak
c7d7454056 Fix pre-commit 2023-12-18 04:33:53 -07:00
mrx
b874028705 Update index.rst
update syntax
2023-12-18 04:33:53 -07:00
mike.reider
24e7991f6b sdb doc example subkeys 2023-12-18 04:33:53 -07:00
jeanluc
56ad1ec942 Fix saltext vault/pushover docs
* the correct organization is `salt-extensions`, not `saltstack`
* the release file is strict GitHub-flavoured Markdown only
2023-12-18 03:42:28 -07:00
Daniel Wozniak
21391fe7ba Revert "URL auditor with URL fixes"
This reverts commit d07172cc0e.
2023-12-17 23:13:58 -07:00
Daniel Wozniak
5a517e9fa5 Revert "Expand files to validate URLs within"
This reverts commit f8a9769320.
2023-12-17 23:13:58 -07:00
ScriptAutomate
f8a9769320 Expand files to validate URLs within 2023-12-17 22:30:41 -07:00
ScriptAutomate
d07172cc0e URL auditor with URL fixes 2023-12-17 22:30:41 -07:00
James Howe
aba5f6238e Reword "header" param. 2023-12-17 22:21:57 -07:00
James Howe
dbebd92626 Fix documentation of file.prepend 2023-12-17 22:21:57 -07:00
OrangeDog
2a484f522f pre-commit disk.py 2023-12-17 22:16:14 -07:00
James Howe
da081c0ddb Document parameters in modules.disk 2023-12-17 22:16:14 -07:00
James Howe
6b7377799d Improve augeas example
As pointed out by #65352, the check given here is not safe.
2023-12-17 22:14:18 -07:00
OrangeDog
1640f04763 pre-commit augeas.py 2023-12-17 22:14:18 -07:00
James Howe
88b7f3ada1 Remove warning that related to now-unsupported systems 2023-12-17 22:14:18 -07:00
Daniel Wozniak
9ec1772382
Merge pull request #65716 from dwoz/merge-forward
[master] Merge forward 3006.x
2023-12-17 21:57:55 -07:00
Daniel A. Wozniak
d18fbb9631 Skip RC test on Photon OS 2023-12-17 20:18:14 -07:00
Daniel A. Wozniak
97072fb7af pre-commit fix 2023-12-17 15:10:50 -07:00
Daniel A. Wozniak
7018b14a7c Merge remote-tracking branch 'saltstack/3006.x' into merge-forward 2023-12-17 14:58:34 -07:00
Roald Nefs
60b890b800 Fix pre-commit
Signed-off-by: Roald Nefs <info@roaldnefs.com>
2023-12-16 18:26:29 -07:00
Wayne Werner
8dc4160a6a Fix potential bug, add changelog
In the source for redis, the default value for password is None, not "".
If the default is an empty string that may cause some unintended
consequences -- though it's entirely possible that Redis does not
support empty passwords, it's always safer to match the underlying
existing codebase.
2023-12-16 18:26:29 -07:00
Marno van der Molen
13996cea60 Add password support to Redis returner 2023-12-16 18:26:29 -07:00
Wayne Werner
675370f86e Add tests for redis returner password
Tests verify that passwords are correctly passed to the underlying
StrictRedis function (whos default value for password is None, not an
empty string).
2023-12-16 18:26:29 -07:00
Daniel A. Wozniak
0291228dac Fix pre-commit 2023-12-16 16:03:26 -07:00
Daniel A. Wozniak
412178e48a Merge remote-tracking branch 'saltstack/3006.x' into merge-forward 2023-12-16 15:35:16 -07:00
Daniel A. Wozniak
35144daf83 Make cluster tests more stable 2023-12-16 15:31:00 -07:00
Pablo Suárez Hernández
f597c14263 Add unit tests to check path is expanded 2023-12-16 14:48:10 -07:00
vzhestkov
a5599d6c89 Add changelog entry 2023-12-16 14:48:10 -07:00
vzhestkov
2fea093052 Dereference symlinks to set proper __cli 2023-12-16 14:48:10 -07:00
Michael Calmer
19a1edc3a1 lint and precommit fixes 2023-12-16 04:49:17 -07:00
Michael Calmer
71812f43a6 make gpgautomimport a named option 2023-12-16 04:49:17 -07:00
Michael Calmer
05f7877cf6 Change versionadded to next major version
Co-authored-by: Pablo Suárez Hernández <psuarezhernandez@suse.com>
2023-12-16 04:49:17 -07:00
Michael Calmer
cd7c54db6d fix zypperpkg test after adding more success return codes 2023-12-16 04:49:17 -07:00
Michael Calmer
d71470a5ba Add comment explaining success return codes
Co-authored-by: Pablo Suárez Hernández <psuarezhernandez@suse.com>
2023-12-16 04:49:17 -07:00
Michael Calmer
38e044b90d ignore no repos defined exit code 2023-12-16 04:49:17 -07:00
Michael Calmer
745e5f00f5 add changelog 2023-12-16 04:49:17 -07:00
Michael Calmer
df9fcda537 call refresh_db with kwargs where possible 2023-12-16 04:49:17 -07:00
Michael Calmer
c899e7a4b0 call refresh_db function from mod_repo 2023-12-16 04:49:17 -07:00
Michael Calmer
e546bd7461 add support for gpgautoimport to refresh_db in the zypperpkg module 2023-12-16 04:49:17 -07:00
Daniel A. Wozniak
37d4aa2615 Add changelog for #55687 2023-12-16 04:34:23 -07:00
Jason Woods
0512a8a52a fix: Enable port modification in state selinux.port_policy_present 2023-12-16 04:34:23 -07:00
Jason Woods
b990868ca7 chore: Run pre-commit on selinux state file 2023-12-16 04:34:23 -07:00
Clay Sweetser
3e491c3416 Remove TOC for Returners from Configuration page.
Remove the table of contents for the "Returners" page from the "Configuration" page.
2023-12-16 04:33:01 -07:00
Clay Sweetser
433642f21f Add TOC for Returners to Remote Execution page
Add a table of contents for the "Returners" page to the "Remote Execution" page.
2023-12-16 04:33:01 -07:00
jeanluc
627b321b9d Namespace _check_sig in win_file 2023-12-16 04:32:10 -07:00
jeanluc
3716ba89f7 Run pyupgrade 2023-12-16 04:32:10 -07:00
jeanluc
ff60a94750 Correct scene33 hash + regen sigs after rebase
It seems the file lost a space character, making the tests fail
2023-12-16 04:32:10 -07:00
jeanluc
10c2b7c0e0 Try to improve wording 2023-12-16 04:32:10 -07:00
jeanluc
c8c0633488 Bring code up to current standards 2023-12-16 04:32:10 -07:00
jeanluc
0ff2d2b7a8 Add signature verification to file.managed/archive.extracted 2023-12-16 04:32:10 -07:00
Megan Wilhite
da4579e3e1 Fix pre-commit 2023-12-16 04:31:08 -07:00
Megan Wilhite
14fc7397cb fix pre-commit 2023-12-16 04:31:08 -07:00
Michael Calmer
8a92dfca61 fixup! add changelog 2023-12-16 04:31:08 -07:00
Michael Calmer
dd2d7954a1 skip lines without colon 2023-12-16 04:31:08 -07:00
Michael Calmer
295f002fc3 Update Docs
Co-authored-by: Megan Wilhite <mwilhite@vmware.com>
2023-12-16 04:31:08 -07:00
Michael Calmer
9cc3b82c1a adapt old tests to changed function 2023-12-16 04:31:08 -07:00
Michael Calmer
cebe1e6cf4 add changelog 2023-12-16 04:31:08 -07:00
Michael Calmer
0eebfcfd9b add testcase for remove and removeptf 2023-12-16 04:31:08 -07:00
Michael Calmer
c5da52cdae handle ptf packages inside of normal pkg.remove function 2023-12-16 04:31:08 -07:00
Alan Somers
fba2cc9fa6 sysrc.get: be more quiet
sysrc.get is frequently used by states like sysrc.absent, where it is
expected that the variable will not be present.  So don't write errors
to the log file.
2023-12-16 01:28:09 -07:00
jeanluc
8da445b9f4 Make x509_v2 compound match detection use match runner 2023-12-16 01:27:15 -07:00
nicholasmhughes
2cff8b35fa add tests for file.serialize check_cmd usage 2023-12-16 01:19:19 -07:00
nicholasmhughes
a66c4fc174 fixes saltstack/salt#53982 add ability to use file.managed style check_cmd in file.serialize 2023-12-16 01:19:19 -07:00
Pedro Algarvio
c87acbba84 Remove commented out code 2023-12-16 01:17:47 -07:00
Gareth J. Greenaway
5707801e8c Adding a changelog. 2023-12-16 01:17:47 -07:00
Gareth J. Greenaway
f9fa9381ef Account for situation where the metadata grain fails because the AWS environment requires an authentication token to query the metadata URL. 2023-12-16 01:17:47 -07:00
nicholasmhughes
22a160e791 adding another/different example use case for clarity 2023-12-15 21:46:44 -07:00
nicholasmhughes
a05205bb4f use sentence case instead of title case for headings 2023-12-15 21:46:44 -07:00
nicholasmhughes
93e906203d add changelog 2023-12-15 21:46:44 -07:00
nicholasmhughes
2304b355b1 fixes saltstack/salt#65222 document using slots for contents via function call in file state modules 2023-12-15 21:46:44 -07:00
jeanluc
f2121e5ade
Rewrite vault core, issue AppRoles to minions (#62684)
* Rewrite vault core, orchestrate AppRoles for minions

This commit represents a fundamental rewrite in how Salt interacts with
Vault. The master should still be compatible with minions running the
old code. There should be no breaking changes to public interfaces and
the old configuration format should still apply.

Core:
- Issue AppRoles to minions
- Manage entities with templatable metadata for minions
- Use inbuilt Salt cache
- Separate config cache from token cache
- Cache: introduce connection-scope vs global scope

Utility module:
- Support being imported (__utils__ deprecation)
- Raise exceptions on queries to simplify response handling
- Add classes to wrap complexity, especially regarding KV v2
- Lay some groundwork for renewing tokens

Execution module:
- Add patch_secret
- Add version support to delete_secret
- Allow returning listed keys only in list_secret
- Add policy_[fetch/write/delete] and policies_list
- Add query for arbitrary API queries

State module:
- Make use of execution module
- Change output format

Docs:
- Update for new configuration format
- Correct examples
- Add configuration examples
- Add required policies

* Fix linting for rewritten vault integration

* Add pytest unit tests for utils.vault, fix found issues

* Fix old vault runner tests

* Rewrite vault sdb tests, migrate to pytests

* Adapt vault ext_pillar tests

* Adapt vault execution module tests, migrate to pytests

* Add more vault execution module unit tests

* Support python <3.7 (vault util), time-independent tests

* Add/migrate vault runner unit tests (pytest)

* Add vault state module pytests

* Fix tests lint

* Refactor Vault container fixture, move to session scope

* Fix for existing vault execution/sdb module integration tests

* Improve existing vault runner integration tests

* Fix vault test support, add list policies

* Add more functional execution module tests, fix deprecated warning

* Refactor vault pytest support

* Add integration tests, improve/fix caching/issue_params

* Improve caching behavior, fix tests

* Always use session cache as well
* Also flush session cache when requested
* Make KV metadata caching behavior configurable
* Update tests to account for changes from prev commit

* Allow to autodiscover platform default CA bundle

* Remove runner approle param overrides

There is no simple way to ensure they are kept.

* Add clear_cache runner function

* Also manage token metadata for issued secret IDs

* Cleanup tests

* Cleanup code, pylint logging suggestions

* Do not always invalidate config when verify=default

* Ensure concatted metadata lists are sorted

* Add changelog (partly)

* Work with legacy peer_run configuration as well

* Consume a token use regardless of status code

* Correct verify semantics

* Refine token uses handling, add changelog/tests for old issues

* Add changelog for main features

* Add test for issue 58580

* Fix vault docs

* Provide all old make_request functionality, add tests

* Allow token use override, add docstrings to query funcs

* Simplify config_location merge

* Cleanup

* Fix make_request warning

* Attempt to fix memory issues during CI test run

* Increase documented version

* Improve lease handling

* Refine lease ttl handling/add token lifecycle management

* Fix docs build

* Adapt formatting

* assert what you get against what you expect
* drop empty parentheses after wrapper
* use `is` to compare against strictly boolean vars

* Fix issue param overrides

* during pillar rendering, they were always reset by the master (for
  AppRoles)
* overrides were only respected for some settings (AppRoles)
* old config syntax was using the old syntax internally (tech debt)

* Introduce session-scoped cache

* Tokens with a single use left are unrenewable

* Allow override of flushing of cached leases during lookup

* Refactor cache classes, save lease data

* Rename session token cache key

* Add lease management utility

* Fix runner integration tests

after renaming the token cache key

* Do not overwrite data of cached leases after renewal

* Pass token_lifecycle to minions

* Do not fail syncing multiple approles/entities with pillar templates

* Ensure config cache expiration can be disabled

* Rename changelog files (.md)

* Declare vaultpolicylexer as parallel read safe

* Correct meta[data] payload key

For tokens it is `meta`, but for secret IDs, `metadata`.

* Reuse TCP connection

* Refactor utils module

* Ensure client is recreated after clearing cache

* Always use unwrap_client config as expected server

This should fix the test failure in the runner integration test
TestAppRoleIssuance::test_server_switch_does_not_break_minion_auth

* Ensure client is recreated after clearing cache 2

* Simulate patch for KV v1 or missing `patch` capability

* Add `patch` option to Vault SDB driver

* Reduce lease validity when revocation fails

* Extract AppRole/Identity API from runner into utils

* Revoke tokens, fire events, improve cache/exception handling

* Tokens (and therefore associated leases) are revoked when cleared by default
* It's possible to disable clearing cache when a perfectly valid token
  is available, but a PermissionDeniedError is encountered.
* UnwrapExceptions always cause an event to be fired
* It's possible to enable sending of events when
    a) cache is cleared
    b) a lease is requested from cache, but it is/will be invalid
* A VaultAuthException does not immediately lead to clearing
  the connection cache
* get_authd_client and others: multiple small enhancements and fixes

* Allow updating cached config w/o closing session

* Homogenize funcs, update docs, cleanup

* Minor internal fixes

`is_valid_for` is present on all lease-like objects, while `is_valid`
specifically should account for more, e.g. the number of uses.

The Vault API does not return 404 when a lookup fails.

* Add release note

* Address review remarks

* Fix release notes

* Remove loading minion_mods from factory

* Address other review remarks

* Add inline specification of trusted CA root cert

* Small QoL additions

* Fix lint

* Fix lint for Python >=3.8 support

* Add missing fixes

* Fix unit tests

In some cases, the `spec` calls were failing because the underlying
object was already patched

---------

Co-authored-by: Thomas Phipps <tphipps@vmware.com>
2023-12-15 21:42:08 -07:00
Alan Somers
a11b4d5252 Add a changelog entry 2023-12-15 21:33:09 -07:00
Alan Somers
1aff51676b sysutils/py-salt: fix the efi grain on FreeBSD
The logic to detect whether we booted from EFI only worked on Linux and
Apple, AFAICT.
2023-12-15 21:33:09 -07:00
Zhiwei Liang
a87238ec28 Expand Linode backup integration test to include backup schedule setting test 2023-12-15 21:20:14 -07:00
Zhiwei Liang
17076c1a8f Implement salt cloud function set_backup_schedule for Linode VMs 2023-12-15 21:20:14 -07:00
Zhiwei Liang
a7227a1e04 Implement integration test case for linode with backup enabled 2023-12-15 01:17:27 -07:00
Zhiwei Liang
e9cb14c91e Add backups_enabled option; improve docs 2023-12-15 01:17:27 -07:00
Daniel Wozniak
cd12ba1171
Merge pull request #65699 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-12-15 01:16:58 -07:00
Pedro Algarvio
a43f55027d
Remove duplicated keyword argument left when conflict solving the merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-12-14 15:09:56 +00:00
Pedro Algarvio
33925e7ad0
Remove duplicated function(and pytest helper)
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-12-14 15:08:37 +00:00
Pedro Algarvio
b104d98e90
Run pyupgrade against the files modified in the merge-forward 2023-12-14 11:33:55 +00:00
Pedro Algarvio
e3ba31dc7a
Merge 3006.x into 3007.x 2023-12-14 11:32:20 +00:00
nicholasmhughes
84f434cc76 fix extfs parameter and retcode handling 2023-12-12 15:22:55 -07:00
jeanluc
caea12ed2d Allow accessing the regular mine/event bus from salt-ssh 2023-12-11 20:28:20 -07:00
Andrii Nikitin
7f4afe80ed doc: Fix incorrect mentioning systemd.scope in states.pkg 2023-12-11 20:01:39 -07:00
David Murphy
a04d09ec10
Merge pull request #65351 from garethgreenaway/18907_lazy_unmount_when_fails
[master] Add fallback for when "remounting"  NFS or FUSE initially fails
2023-12-11 16:19:38 -07:00
jeanluc
61b172afb7 Apply lessons from previous PR 2023-12-11 14:05:22 -07:00
jeanluc
1356628f35 Freeze global trust dicts, disallow keyring tests on Win
The test sessions are just timing out on the first keyring test. This
might have to do with two separate GPG instances being requested
simultaneously, but I'm not able to debug this.
2023-12-11 14:05:22 -07:00
jeanluc
3c2e1ba1fb Fixes after rebase 2023-12-11 14:05:22 -07:00
jeanluc
8cb54e658b Correct docs again 2023-12-11 14:05:22 -07:00
jeanluc
56d85411f5 Correct fix for delete_key 2023-12-11 14:05:22 -07:00
jeanluc
4b08e2976a Update versionadded 2023-12-11 14:05:22 -07:00
jeanluc
dffe37973d Merge branch 'gpg-state-fix' into gpg-keyring 2023-12-11 14:05:22 -07:00
jeanluc
af6f8ee292 Fix error message when key is not found 2023-12-11 14:05:22 -07:00
jeanluc
4d3b76a761 Correct default behavior for gnupghome after cleanup 2023-12-11 14:05:22 -07:00
jeanluc
e8642a1606 Correct docs 2023-12-11 14:05:22 -07:00
jeanluc
68c033dffe Fix keyring restore_ownership, cleanup 2023-12-11 14:05:22 -07:00
jeanluc
77da0dbf16 Use gnupg for trust_key if available 2023-12-11 14:05:22 -07:00
jeanluc
81b1236c5e Add changelog 2023-12-11 14:05:22 -07:00
jeanluc
890d777392 Add gnupghome/keyring params to trust_key 2023-12-11 14:05:22 -07:00
jeanluc
2a30b0a9cd Limit keyring to a single one 2023-12-11 14:05:22 -07:00
jeanluc
32cfcfd777 Add keyring, gnupghome to rest, add functional tests 2023-12-11 14:05:22 -07:00
David Murphy
59692d02f7
Merge branch 'master' into 18907_lazy_unmount_when_fails 2023-12-11 10:11:43 -07:00
Daniel A. Wozniak
d7549bd155 Fix docstring 2023-12-10 21:06:45 -07:00
David Murphy
a3f5ff9a7b
Merge branch 'master' into 18907_lazy_unmount_when_fails 2023-12-10 19:58:35 -07:00
Max Arnold
cf23adeac2 Fix key_str usage example 2023-12-10 19:52:58 -07:00
Daniel A. Wozniak
c51c7e856a Update documentation of encoding kwarg 2023-12-10 19:01:22 -07:00
Daniel A. Wozniak
7a366444ab Fix pre-commit 2023-12-10 18:22:28 -07:00
Thomas Merkel
788b922d34 Update doc/topics/tutorials/gitfs.rst
Co-authored-by: Caleb Beard <53276404+MKLeb@users.noreply.github.com>
2023-12-10 16:45:39 -07:00
Thomas Merkel
f933e66a77 doc: gitfs_remotes provide additional ordering information
The user should be informed that a state in a file will overrule a state
in an directory for gitfs_remotes because the remotes are merged
together to one structure.

An extra example should illustrate that it.
2023-12-10 16:45:39 -07:00
code-review-doctor
21bdb366e5 Fix issue probably-meant-fstring found at https://codereview.doctor 2023-12-10 16:43:03 -07:00
Benjamin Drung
b9b0c2462b doc: Exclude documentation_options.js from default theme
`documentation_options.js` from the default theme sets the option
`URL_ROOT` to:

```
document.getElementById("documentation_options").getAttribute('data-url_root')
```

This requires that the script element for `documentation_options.js`
includes the tag `id="documentation_options"` and sets the
`data-url_root` tag. Otherwise evaluating `URL_ROOT` will fail and
building the documentation during the Debian package build will fail:

```
dh_sphinxdoc: error: DOCUMENTATION_OPTIONS does not define URL_ROOT
```

The variable `DOCUMENTATION_OPTIONS` is directly set `layout.html` and
therefore `documentation_options.js` does not need to be included. So
just exclude it.

Signed-off-by: Benjamin Drung <benjamin.drung@ionos.com>
2023-12-10 16:23:20 -07:00
Krzysztof Pawłowski
30690637b5 Return error if patch file passed to state file.patch is malformed
If patch file provided for file.patch state is malformed then state
returns `Patch was already applied` but patch is not applied.

          ID: patch_example
    Function: file.patch
        Name: /tmp/example
      Result: True
     Comment: Patch was already applied
     Started: 12:20:50.953163
    Duration: 61.558 ms
     Changes:

It is better to return error in such case.

          ID: patch_example
    Function: file.patch
        Name: /tmp/example
      Result: False
     Comment: /usr/bin/patch: **** malformed patch at line 7:
     Started: 12:33:44.915605
    Duration: 59.202 ms
     Changes:
2023-12-10 15:32:15 -07:00
Ari Maniatis
0b423e443f The script attribute is not userdata 2023-12-10 15:12:23 -07:00
Konrad Mosoń
54cf836d58 Cloud/DigitalOcean: Don't throw error when deleting instance, fixes #58190 2023-12-10 15:05:24 -07:00
Daniel A. Wozniak
9e95e3b2bf Fix changelog entry 2023-12-10 14:55:32 -07:00
Ari Maniatis
341f844c6d Better list of FreeBSD ami for EC2
The old list was many many years out of date.
2023-12-10 04:17:07 -07:00
mreider
84b8993543 add documentation for facl defaults, in acl state 2023-12-10 03:35:26 -07:00
piterpunk
913c0f7566 Removed an unused assignment in file.patch 2023-12-10 03:31:10 -07:00
Elias Probst
e681745c09 modules.system: improve documentation consistency
Make better/more consistent use of rST features, such as:
- use "verbatim" for inline code/variables
- reference module functions using `:mod:`
- fix syntax (e.g. missing empty line before list)

Furthermore, improve the wording (prevent personal pronouns), spelling
(e.g. use upper-cased acronyms such as `CLI` or `POSIX`) and grammar.
2023-12-10 03:16:00 -07:00
Elias Probst
14d89b6ae3 modules.system: document platform support for "reboot witnessed" functions
The `system.{set,get}_reboot_required_witnessed` functions only work and
make sense on NI Linux RT systems. Highlight this in their
documentation.
2023-12-10 03:16:00 -07:00
Daniel Wozniak
efc09396b7
Merge pull request #65680 from dwoz/release-branches
[master] Add 3007.x branch to releases
2023-12-09 23:55:55 -07:00
Daniel A. Wozniak
de12fc5ba5 Add 3007.x branch to releases 2023-12-09 23:54:34 -07:00
Daniel Wozniak
afdb17b125
Merge pull request #65228 from dwoz/issue/master/65226
[master] Fix cluster key rotation
2023-12-09 22:41:31 -07:00
Daniel Wozniak
aa20365fd6
Merge pull request #53338 from AstraLuma/patch-3
[master]Modular Systems: Document saltenvs and modules
2023-12-09 22:10:59 -07:00
Daniel Wozniak
4028520d10
Merge branch 'master' into patch-3 2023-12-09 22:10:39 -07:00
Daniel A. Wozniak
f582cb2365 Skip unsless test on windows 2023-12-09 15:39:10 -07:00
Daniel A. Wozniak
23d6ca8313 Bump seed 2023-12-08 14:44:36 -07:00
Daniel A. Wozniak
885ddef0e0 revert un-wanted change 2023-12-08 14:44:36 -07:00
Pedro Algarvio
070798fdc5 Make sure PIP_CONSTRAINT is also set when building RPM's from source
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-12-08 14:38:43 -07:00
Daniel A. Wozniak
369b35c670 Add license to pyproject.toml instead of setup.cfg 2023-12-08 14:38:43 -07:00
Daniel A. Wozniak
cb9dd368ee Add license to setup.cfg 2023-12-08 14:38:43 -07:00
Daniel A. Wozniak
f66d495334 Bump cache seed 2023-12-08 14:38:42 -07:00
Daniel A. Wozniak
4447b362d2 Fix key tests on windows 2023-12-08 14:37:53 -07:00
Daniel A. Wozniak
172a1f9f35 Fix linter 2023-12-08 14:37:53 -07:00
Daniel A. Wozniak
34bcdf4e32 Fix master startup bug 2023-12-08 14:37:53 -07:00
Daniel A. Wozniak
a50f5b8ff6 Fix tests 2023-12-08 14:37:53 -07:00
Daniel A. Wozniak
8c77c94bf6 Fix pre-commit 2023-12-08 14:37:53 -07:00
Daniel A. Wozniak
77d79ddfe8 fix pre commit in tests 2023-12-08 14:37:53 -07:00
Daniel A. Wozniak
c3e99eda87 Fix key rotation 2023-12-08 14:37:53 -07:00
Daniel A. Wozniak
67703832e6 Cluster aes session rotation test 2023-12-08 14:37:53 -07:00
David Murphy
5b23915205
Merge branch 'master' into 18907_lazy_unmount_when_fails 2023-12-08 10:43:24 -07:00
David Murphy
41d69cff5a
Merge pull request #65326 from garethgreenaway/65080_require_included_sls
[master] Account for included states that only include other states used as requisites
2023-12-08 10:32:09 -07:00
David Murphy
acbc56781b
Merge branch 'master' into 65080_require_included_sls 2023-12-08 08:40:43 -07:00
Daniel Wozniak
c9080fc4e7
Merge pull request #65678 from dwoz/testfix
[master] Bump cache seed
2023-12-08 02:30:22 -07:00
Daniel A. Wozniak
873f6b9927 Bump cache seed 2023-12-07 20:44:01 -07:00
Daniel Wozniak
c9afe46ad9
Merge pull request #65553 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-12-07 16:35:19 -07:00
Pedro Algarvio
0401d581ab
Stop importing salt in tools/
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-12-07 17:08:55 +00:00
Pedro Algarvio
2d0c2e0f8a
Revert "Don't change the default asyncio loop policy"
This reverts commit cf76f70a7d.
2023-12-07 17:05:37 +00:00
Pedro Algarvio
0807410583
Revert "Make sure urllib3<2.0 is installed by pre-commit"
This reverts commit c083f4448a.
2023-12-07 17:04:01 +00:00
Pedro Algarvio
233608ed88
Adjust test run timeouts(increase for windows)
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-12-07 11:02:37 +00:00
Pedro Algarvio
48ee392cbe
Fix test assertions(broken when migrated to pytest)
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-12-06 20:25:25 +00:00
Pedro Algarvio
c083f4448a
Make sure urllib3<2.0 is installed by pre-commit
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-12-06 11:31:02 +00:00
Pedro Algarvio
b3d4a5e2c5
Merge 3006.x into master 2023-12-06 10:17:35 +00:00
Pedro Algarvio
e93d3fcc9c
ctx.print is not the same as python's print
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-12-05 18:30:32 +00:00
Pedro Algarvio
6fb799d38a
Run pyupgrade against the files modified in the merge-forward 2023-12-05 18:21:45 +00:00
Pedro Algarvio
967d3015f6
Merge 3006.x into master 2023-12-05 18:10:58 +00:00
David Murphy
6884678540
Update salt/state.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-12-04 13:47:59 -07:00
David Murphy
60a4fdb0af
Merge branch 'master' into 65080_require_included_sls 2023-12-04 13:42:31 -07:00
David Murphy
fd1cd1dcac
Merge branch 'master' into 18907_lazy_unmount_when_fails 2023-12-04 13:41:44 -07:00
David Murphy
fc65161d2e
Merge pull request #64636 from gayathri-krishnaswamy/pack_manager
[master] Revamped Windows package manager documentation
2023-12-04 11:09:16 -07:00
Shane Lee
4a45b06c16
Fix a few typos and gramatical errors 2023-12-01 17:07:05 -07:00
Pedro Algarvio
7fc7572810
Bump to cffi=1.16.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-29 21:39:40 +00:00
Pedro Algarvio
fbe3b623d5
Downgrade ansible which got upgraded on the merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-29 21:26:44 +00:00
Pedro Algarvio
ff2fc6de95
Run pyupgrade against the files modified in the merge-forward 2023-11-29 21:20:41 +00:00
Gayathri Krishnaswamy
866f9598b9
Update windows-package-manager.rst
Updated some grammatical errors.
2023-11-29 11:38:14 -07:00
Gayathri Krishnaswamy
890889e117
Update windows-package-manager.rst
Updated comments provided by Alyssa
2023-11-29 11:38:14 -07:00
Gayathri Krishnaswamy
a5108d40f0
Updated Windows package manager 2023-11-29 11:38:13 -07:00
Pedro Algarvio
02c3b89e40
Merge 3006.x into master 2023-11-29 18:31:52 +00:00
Pedro Algarvio
c00978cb9e
Upgrade to pypsexec==0.3.0 which got downgraded during the merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-29 16:51:38 +00:00
Pedro Algarvio
5d5068cd63
Run pyupgrade against the files modified in the merge-forward 2023-11-29 16:35:43 +00:00
Pedro Algarvio
7cf72a7797
Merge 3006.x into master 2023-11-29 14:43:39 +00:00
Pedro Algarvio
f60c87aacb
Merge 3006.x into master 2023-11-28 17:46:50 +00:00
Pedro Algarvio
7647f9425b
Also consider requirements/constraints.txt
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-27 16:43:18 +00:00
Pedro Algarvio
6934fe3c63
Install rustc when running pre-commit on GH Actions
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-27 16:43:18 +00:00
Pedro Algarvio
d55cf91a21
Downgrade ansible, it was not meant to be upgraded on merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-27 16:43:18 +00:00
vzhestkov
1e0c9d71c8 Add changelog entry 2023-11-26 15:27:39 -07:00
vzhestkov
45cbd66041 Make pre-commit check happy 2023-11-26 15:27:39 -07:00
vzhestkov
98ec4e3a09 Improve pip test with different condition of overriding the target 2023-11-26 15:27:39 -07:00
vzhestkov
3ad2037a39 Improve pip target override condition 2023-11-26 15:27:39 -07:00
James Howe
9b5f047f98 Missing versionadded tag for "offline" 2023-11-26 15:21:45 -07:00
Pedro Algarvio
cf76f70a7d
Don't change the default asyncio loop policy
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-26 18:06:09 +00:00
Pedro Algarvio
90e2a20a45
Bump to python-tools-scripts==0.18.6
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-26 17:15:52 +00:00
Pedro Algarvio
356bceb212
Revert "Don't include the 3007.0.md.template in the 3006.x branch"
This reverts commit 575c1b8a79.
2023-11-26 17:01:29 +00:00
Pedro Algarvio
575c1b8a79
Don't include the 3007.0.md.template in the 3006.x branch
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-26 17:01:21 +00:00
Pedro Algarvio
fcb537103f
One environment copy too much, an oversight
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-26 16:59:31 +00:00
Pedro Algarvio
0ef171ca12
Make sure PIP_CONSTRAINT is also set when building RPM's from source
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-26 16:59:26 +00:00
Pedro Algarvio
6618df6166
Relax the setuptools constraint
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-26 16:59:20 +00:00
Pedro Algarvio
54ba9dcd70
Create and use requirements/constraints.txt now that setuptools 69.0 broke builds again
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-26 16:59:14 +00:00
Pedro Algarvio
250704b18c
Run pyupgrade against the files modified in the merge-forward 2023-11-26 16:24:07 +00:00
Pedro Algarvio
a420d94431
Merge 3006.x into master 2023-11-26 16:10:40 +00:00
Sander Cornelissen
a686ce00b2 Fix pylint issues in unit test for pip state 2023-11-20 07:16:55 +00:00
Sander Cornelissen
15cef7dbab Add changelog for #65458 2023-11-20 07:16:55 +00:00
Sander Cornelissen
f36b821e1a Add test for fix when user does not exists on pip 2023-11-20 07:16:55 +00:00
Sander Cornelissen
ee3d8924ac Fix for pip state when user doesn't exist 2023-11-20 07:16:55 +00:00
jeanluc
d7338a0e79 Support master tops on masterless minions
Also, make salt-ssh master tops behave like regular ones, i.e. merge the
returns of multiple master top modules for the same environment.
2023-11-17 11:34:02 +00:00
jeanluc
d7f20320d5 Deprecate pushover returner, remove warnings
Warnings will be automated.
2023-11-17 09:18:51 +00:00
jeanluc
3106812cd0 Add deprecation notice to docstrings 2023-11-17 09:18:51 +00:00
jeanluc
89ee0bd9bd Deprecate pushover modules in favor of saltext 2023-11-17 09:18:51 +00:00
jeanluc
33d35f6336 Review comments 2 2023-11-17 09:18:30 +00:00
jeanluc
9718d1e617 Enable new func tests for GPG state module on Win 2023-11-17 09:18:30 +00:00
jeanluc
e1717bcf5a Commit review remarks 2023-11-17 09:18:30 +00:00
jeanluc
bad064ffc9 Clean up new module unit tests 2023-11-17 09:18:30 +00:00
jeanluc
60fd084cf5 Make gpg.receive_keys report failure when GPG does
This makes `gpg.present` report the correct result when a
keyserver is unreachable and thus fixes issue 65169 in
concert with several related fixes in this branch.
2023-11-17 09:18:30 +00:00
jeanluc
b97022a705 Add test for issue 65169
gpg.present succeeds when the keyserver is unreachable
2023-11-17 09:18:30 +00:00
jeanluc
65fb54614b Run pyupgrade for Python >=3.8 2023-11-17 09:18:30 +00:00
jeanluc
69e98434e0 Rename changelog files to .md 2023-11-17 09:18:30 +00:00
jeanluc
3e45b1f727 Backport fix for delete_key 2023-11-17 09:18:30 +00:00
jeanluc
311e2938c0 Backport more meaningful tests 2023-11-17 09:18:30 +00:00
jeanluc
3dbf49190f Backport message fixes 2023-11-17 09:18:30 +00:00
jeanluc
73a6996c75 Fix gpg state module docs 2023-11-17 09:18:30 +00:00
jeanluc
6f1a821000 Make deleting keys with user/gnupghome possible 2023-11-17 09:18:30 +00:00
jeanluc
702a899a15 Add tests for issue 63159 2023-11-17 09:18:30 +00:00
jeanluc
94ae9f4fc9 Fix gpg.receive_keys returns success on failed import 2023-11-17 09:18:30 +00:00
jeanluc
9a031b1dee Make gpg state module respect test mode 2023-11-17 09:18:30 +00:00
jeanluc
ba395d7c27 Add tests for issue 63156 2023-11-17 09:18:30 +00:00
jeanluc
e8b384afc9 Make gpg state module report correct result and changes 2023-11-17 09:18:30 +00:00
jeanluc
5fa3605611 Add tests for state module and issue 63144 2023-11-17 09:18:30 +00:00
Gareth J. Greenaway
8413e6f96d
updating test_mounted state test. 2023-11-16 14:24:56 -08:00
nicholasmhughes
ab72e70697 fixes saltstack/salt#65295 nftables module type does not ensure unique nft family values 2023-11-16 18:31:31 +00:00
nicholasmhughes
0557667bbf fixes saltstack/salt#63214 enable/disable broken if systemd service is an alias 2023-11-16 18:31:12 +00:00
Pedro Algarvio
d14de602b1 When a release doc only exists as a template, copy it into the right path
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-16 16:53:31 +00:00
Pedro Algarvio
6cfbd27473 Show warning on modules which are getting deprecated into extensions
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-16 16:53:31 +00:00
Shane Lee
cf060abb6d
Merge pull request #65560 from max-arnold/fix-conf-salt-index
[master] Move configuration index doc
2023-11-16 09:37:17 -07:00
David Murphy
6c7abe7935 Fix reviewers commited suggestion 2023-11-16 12:39:58 +00:00
David Murphy
9ebd809470 Update salt/utils/odict.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-11-16 12:39:58 +00:00
David Murphy
a43d56f2d9 Update salt/utils/odict.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-11-16 12:39:58 +00:00
David Murphy
308a3c4233 Update changelog/65542.deprecated.md
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-11-16 12:39:58 +00:00
David Murphy
64e0a4021a Added changelog 2023-11-16 12:39:58 +00:00
David Murphy
51b781fc4b Assed deprecation warning for Salt's backport of OrderedDict class 2023-11-16 12:39:58 +00:00
nicholasmhughes
ffab39b7e2 fixes saltstack/salt#65565 deprecate Kubernetes modules for move to saltext-kubernetes 2023-11-16 08:48:00 +00:00
Gareth J. Greenaway
f29f83fda0
Merge branch 'master' into 18907_lazy_unmount_when_fails 2023-11-15 14:55:20 -08:00
Nicholas Hughes
040ae9e55c
[master] Add wildcard removal for aptpkg (#65221)
* fixes saltstack/salt#65220 add wildcard removal for aptpkg

* adding functional module tests for wildcard removal

* fix functional pkg tests for wildcard

* fix functional pkg tests for wildcard

* fix functional pkg tests for wildcard

* fix functional pkg tests for wildcard

* fix functional pkg tests for wildcard

* fix functional pkg tests for wildcard

* fix functional pkg tests for wildcard

* fix functional pkg tests for wildcard

* fix functional pkg tests for wildcard

* fix functional pkg tests for wildcard

* fix functional pkg tests for wildcard

* adding pytest marks to skip yum tests on non-el systems

* fixing update method for match_wildcard dict

---------

Co-authored-by: Megan Wilhite <mwilhite@vmware.com>
2023-11-15 11:48:45 -08:00
nicholasmhughes
c5fbfa1fe7 fixes saltstack/salt#65501 file.comment ignore_missing not working with multiline char 2023-11-15 16:48:48 +00:00
Max Arnold
c98aa86fd8 Move configuration index doc 2023-11-15 08:23:27 +07:00
Salt Project Packaging
6531c36679 Update the bootstrap script to v2023.11.07 2023-11-10 19:39:20 +00:00
Gareth J. Greenaway
ad05dce33a Additional package name for OS X 13. 2023-11-10 19:38:13 +00:00
Gareth J. Greenaway
6640b05216 fixes for MacOS X 13 2023-11-10 19:38:13 +00:00
Pedro Algarvio
4f790e3945 Add macos-13 to the platforms to run tests on
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-10 19:38:13 +00:00
Pedro Algarvio
d7443d1aea Bump to actionlint 1.6.26
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-10 19:38:13 +00:00
Pedro Algarvio
ede29b4fdf This is not yet true
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-10 14:51:21 +00:00
Pedro Algarvio
92cae105fd Add deprecation warnings and release notes about `setup.py`
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-10 14:51:21 +00:00
Pedro Algarvio
63ade50e2b Bump to paramiko==3.3.1
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-08 16:56:36 +00:00
Pedro Algarvio
163d34f430 Drop cloud specific requirements from MacOS's base requirements.
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-08 16:56:36 +00:00
Pedro Algarvio
d6b7d47430 GitPython is no longer a base dependency for Windows and MacOS.
The plan is to make pygit2 the base dependency before 3007.0 comes out.

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-08 16:56:36 +00:00
Pedro Algarvio
e35033aebc Consolidate requirements into requirements/base.txt
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-08 16:56:36 +00:00
Pedro Algarvio
2b4b3ee2f6
Merge pull request #65511 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-11-07 13:36:57 +00:00
Pedro Algarvio
99370c6641
Remove commend and unused import
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-07 08:36:43 +00:00
Pedro Algarvio
8bdb2cd1e8 Remove Tiamat's run.py entry point
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-07 00:18:30 -07:00
Daniel A. Wozniak
c97a6dafde Fix transport merge warts and tests 2023-11-07 00:04:25 -07:00
Pedro Algarvio
5aba669eb4
Don't enable debug mode on the IOLoop
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-06 14:15:34 +00:00
Pedro Algarvio
db38c751df
Don't forget to pass ioloop
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-06 14:15:34 +00:00
Pedro Algarvio
9356099229
Cleanup and fix tests after the merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-06 14:15:34 +00:00
Pedro Algarvio
38e72b2716
Need to check for both _closing and _closed
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-06 12:12:46 +00:00
Pedro Algarvio
c78b214d0e
Bump a few requirements that got downgraded during the merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-05 17:09:16 +00:00
Pedro Algarvio
ba85fb6c07
Merge 3006.x into master 2023-11-05 16:52:51 +00:00
Pedro Algarvio
e43d884db7
Enabling zmq_monitor makes the test test_req_server_garbage_request hang
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-04 18:34:02 +00:00
Pedro Algarvio
6c9dc08bb1
Remove char wrongly introduced in merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-03 20:13:03 +00:00
Pedro Algarvio
baa119fa01
Run pyupgrade against changed files in merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-11-03 20:05:49 +00:00
Pedro Algarvio
e7b5f24ab3
Merge 3006.x into master 2023-11-03 20:05:20 +00:00
Renato Caldas
da7fbf8c0c Fix pre-commit checks 2023-11-02 08:33:23 +00:00
Renato Caldas
a73e655513 Fix duplicated initialization 2023-11-02 08:33:23 +00:00
Pedro Algarvio
53f54d08d9
Merge pull request #65485 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-10-31 09:31:41 +00:00
Pedro Algarvio
3843bdab93
Upgrade some dependencies which got downgraded on the merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-29 22:44:56 +00:00
Pedro Algarvio
8edd383c0e
Run pyupgrade against modified files in the merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-29 22:29:28 +00:00
Pedro Algarvio
c8f5d589d2
Merge 3006.x into master 2023-10-29 22:25:59 +00:00
Pedro Algarvio
93b640543c
Merge pull request #65457 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-10-27 13:59:34 +01:00
Pedro Algarvio
90666c8333
Run pyupgrade against the changes from the merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-27 08:34:36 +01:00
Pedro Algarvio
32fac46e75
Fix test since it's now only one call
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-26 17:29:47 +01:00
Pedro Algarvio
5cba721cf9
Merge 3006.x into master 2023-10-26 17:17:53 +01:00
Pedro Algarvio
5a62968da8
Fix test groups issue when re-running test failures
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-26 17:12:02 +01:00
Gareth J. Greenaway
9325ed9cba
Merge branch 'master' into 18907_lazy_unmount_when_fails 2023-10-24 15:59:35 -07:00
Megan Wilhite
0cf0214951 Fix pre-commit 2023-10-24 15:35:06 -07:00
Benjamin Cremer
53b8fe1e21 Fix coding style issues 2023-10-24 15:35:06 -07:00
Benjamin Cremer
c99f3996c0 Add changelog 2023-10-24 15:35:06 -07:00
Benjamin Cremer
7b9d93ecbc Add MySQL privilege SERVICE_CONNECTION_ADMIN
Add MySQL dynamic privilege `SERVICE_CONNECTION_ADMIN` that was introduced in MySQL 8.0.14.

See:
- https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-14.html
- https://dev.mysql.com/doc/refman/8.0/en/administrative-connection-interface.html
2023-10-24 15:35:06 -07:00
Pedro Algarvio
53db412632
Merge pull request #65434 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-10-24 13:43:11 +01:00
Pedro Algarvio
d52647d98b
Run pyupgrade against the changes from the merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-22 13:00:52 +01:00
Pedro Algarvio
6d17f6e8ca
Merge 3006.x into master 2023-10-22 12:20:30 +01:00
Pedro Algarvio
6638e51c19
Skip test that hangs on PhotonOS 3
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-22 12:20:02 +01:00
Pedro Algarvio
9f9a9ce45f
Avoid having to resolve DNS for a unittest
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-21 19:48:10 +01:00
Pedro Algarvio
ec50d45b5e
Jobs are taking longer on the master branch
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-20 18:19:20 +01:00
Pedro Algarvio
739d85b09c
Merge 3006.x into master 2023-10-20 13:31:46 +01:00
Pedro Algarvio
8f7d96b593
Apply pyupgrade on the changed files from the merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-20 12:00:13 +01:00
Pedro Algarvio
830daeee97
Merge 3006.x into master 2023-10-19 20:00:40 +01:00
Gareth J. Greenaway
bc7c3f325d swap out load beacon for status beacon which is a bit more predictable when it will fire. 2023-10-18 15:15:47 -04:00
Gareth J. Greenaway
21a2898313 bump up the load average ranges. 2023-10-18 15:15:47 -04:00
Gareth J. Greenaway
04e566b13a Adding a sleep to see if that allow beacons to start and stop 2023-10-18 15:15:47 -04:00
Gareth J. Greenaway
319667147b Update the first event tag. 2023-10-18 15:15:47 -04:00
Gareth J. Greenaway
ee9bd1246a swap minion_id for wildcard. 2023-10-18 15:15:47 -04:00
Gareth J. Greenaway
4d805c160e need to look at master id in the events. 2023-10-18 15:15:47 -04:00
Gareth J. Greenaway
81606abb26 Adding changelog. 2023-10-18 15:15:47 -04:00
Gareth J. Greenaway
9e02797ac0 Need to make sure we update __pillar__ during a pillar refresh to ensure that process_beacons has the updated beacons loaded from pillar. 2023-10-18 15:15:47 -04:00
Barney Sowood
6c48871640 Simplify to just use opt in runner
Simplify to just use opts in runner to get show_jid. Had thought
I'd need to do that so not to print when called via python api or
netapi, but doesn't seem to be an issue.
2023-10-17 15:08:53 -04:00
Barney Sowood
fd0e3d2be2 Add changelog 2023-10-17 15:08:53 -04:00
Barney Sowood
22b44a8275 Add support for show_jid to salt-run
Adds support for show_jid to the salt-run cli command to match the
behaviour of the salt cli command.
2023-10-17 15:08:53 -04:00
Gareth J. Greenaway
dd97c32df6
Merge branch 'master' into 65080_require_included_sls 2023-10-13 11:13:47 -07:00
Gareth J. Greenaway
aba2a78017
Merge branch 'master' into 18907_lazy_unmount_when_fails 2023-10-13 11:12:41 -07:00
Pedro Algarvio
b213670518 Install Salt in the container before starting any of Salt's daemons
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-12 19:07:46 +01:00
Pedro Algarvio
e0bc1bd255 Upgrade to tornado>=6.3.3 due to https://github.com/advisories/GHSA-qppv-j76h-2rpx
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-12 19:07:46 +01:00
Pedro Algarvio
c18760559a
Merge pull request #65299 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-10-11 15:13:59 +01:00
Pedro Algarvio
0971af9331
Some tests require TCPPubClient to be mocked.
This prevents the tests from hanging on Windows, and slowing down on Linux.

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-11 08:13:07 +01:00
Pedro Algarvio
0445f9ea39
Improve error message
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-11 08:13:07 +01:00
Pedro Algarvio
cb44e8887b
Run pygupgrade against changed files from merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-11 08:13:07 +01:00
Pedro Algarvio
a90653f337
Merge 3006.x into master 2023-10-11 05:43:42 +01:00
Gareth J. Greenaway
2fed2efa0f
Merge branch 'master' into 65080_require_included_sls 2023-10-09 17:22:17 -07:00
Gareth J. Greenaway
00356791ff
Include tests to ensure required includes that are using Salt environments work as expected. 2023-10-09 14:55:20 -07:00
Alexander Graul
74f02e8a68 blacken daemons/masterapi.py and its test_auto_key 2023-10-09 13:41:54 -06:00
Alexander Graul
31146eae69 Allow all primitive grain types for autosign_grains 2023-10-09 13:41:54 -06:00
Pedro Algarvio
497036f16b
Run pygupgrade against the files changed in the merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-07 08:47:03 +01:00
Pedro Algarvio
144b1314d8
Merge 3006.x into master 2023-10-07 08:43:20 +01:00
Gareth J. Greenaway
ddab3f5bfb
Adding changelog. 2023-10-05 08:19:15 -07:00
Gareth J. Greenaway
13da73d414
When an NFS or FUSE mount fails to unmount when mount options have changed, try again with a lazy umount before mounting again. 2023-10-04 16:03:34 -07:00
Pedro Algarvio
db27171a0b
Run pyupgrade against the changed files from the merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-10-04 21:29:31 +01:00
Pedro Algarvio
8e07f20ef0
Merge 3006.x into master 2023-10-04 21:25:32 +01:00
Gareth J. Greenaway
bd457156c0
Update test to use the correct key. 2023-10-02 16:23:23 -07:00
Gareth J. Greenaway
27f6fb4d3c
fixing failing tests 2023-10-02 15:12:55 -07:00
Gareth J. Greenaway
2c6749e714
Adding changleog. 2023-10-02 13:02:15 -07:00
Gareth J. Greenaway
08e4057148
Adding tests. 2023-10-02 12:57:15 -07:00
nicholasmhughes
6e64117996 update follow_symlinks functionality in win_file to match file module 2023-10-02 19:27:18 +00:00
nicholasmhughes
acc4edb141 set the default properly so the default behavior doesnt change 2023-10-02 19:27:18 +00:00
nicholasmhughes
ebd645a4fe fixes saltstack/salt#64665 add follow_symlinks to file.symlink exec module 2023-10-02 19:27:18 +00:00
Pedro Algarvio
2702705043
Merge 3006.x into master 2023-09-29 18:15:30 +01:00
Pedro Algarvio
8dc6f1c8f5
Merge 3006.x into master 2023-09-26 21:44:35 +01:00
Pedro Algarvio
6d0224f08c
Also install tornado before starting Salt
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-26 21:44:31 +01:00
Pedro Algarvio
c2779df50c
Merge pull request #65282 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-09-26 21:43:21 +01:00
Pedro Algarvio
023bd39eb5
Run pyupgrade against changed files from merge forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-26 12:00:37 +01:00
Pedro Algarvio
b85da8d8b0
Merge 3006.x into master 2023-09-26 07:01:03 +01:00
Gareth J. Greenaway
f9e5029ae9
keep track when an included file only includes sls files but is a requisite. 2023-09-25 12:19:31 -07:00
Pedro Algarvio
6fc622ffdd
Run pyupgrade against changed files from merge forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-25 11:58:54 +01:00
Pedro Algarvio
f1c619292f
Adjust a few requirements that got changed during the conflict solving
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-25 11:53:57 +01:00
Pedro Algarvio
5e093b3b8d
Merge 3006.x into master 2023-09-25 11:41:20 +01:00
Pedro Algarvio
fb717a8d4b Downgrade to sqren/backport-github-action@v8.9.7 at least errors are reported
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-24 21:24:38 +01:00
Pedro Algarvio
27f90f7239
Merge pull request #65239 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-09-24 17:53:58 +01:00
Pedro Algarvio
821522244f Upgrade to sqren/backport-github-action@v9.3.0-a
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-24 10:28:25 +01:00
Pedro Algarvio
24d2fef2fa
Merge 3006.x into master 2023-09-22 08:39:31 +01:00
Pedro Algarvio
aa0d0b50ab
Run pyupgrade on changed files from merge forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-21 21:14:47 +01:00
Pedro Algarvio
f334749c5f
Merge 3006.x into master 2023-09-21 20:41:31 +01:00
Pedro Algarvio
1a510cc5b2
Merge pull request #65137 from MKLeb/dependabot/master/pygithub
[master] Update gitpython to >=3.1.35
2023-09-21 12:12:37 +01:00
Pedro Algarvio
4a63636225
Merge 3006.x into master 2023-09-21 08:38:10 +01:00
Caleb Beard
60b5fd0b00
Merge branch 'master' into dependabot/master/pygithub 2023-09-20 16:18:29 -04:00
Pedro Algarvio
7e971a58e0
Run pyupgrade on files changed in merge forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-20 16:44:56 +01:00
Pedro Algarvio
c07f66261e
Merge 3006.x into master 2023-09-20 15:52:18 +01:00
Pedro Algarvio
7fdd867d61
Merge pull request #65160 from MKLeb/mf/master/3006.x
[master] Merge forward 3006.x into master
2023-09-20 11:03:13 +01:00
MKLeb
432abe78f3
pin psutil for the upgrade tests for now 2023-09-19 15:57:06 -04:00
MKLeb
c218f71db9
Run the NSIS installer using start /wait 2023-09-19 15:30:48 -04:00
Joseph Hall
39107095dd Skip vim test for Photon 2023-09-19 18:32:53 +00:00
Joseph Hall
1ec162e946 Check for errors before result loop 2023-09-19 18:32:53 +00:00
Joseph Hall
845853c1bd Assert specifically against True 2023-09-19 18:32:53 +00:00
Joseph Hall
94f233cefa Formula tests for vim and sudoers 2023-09-19 18:32:53 +00:00
James Howe
fc58fa4d9d Update doc/ref/states/requisites.rst
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-09-19 13:06:34 +00:00
James Howe
d38a372687 Fix heading level of "creates" 2023-09-19 13:06:34 +00:00
MKLeb
38f735622d Add security changelog 2023-09-18 15:42:12 -04:00
MKLeb
aaf493adba Update to >=3.1.35 2023-09-18 15:42:12 -04:00
MKLeb
a1e2b9cfcf Update gitpython to >=3.1.34 2023-09-18 15:42:12 -04:00
MKLeb
0d1dcad59c
Fix test_grains_package_onedir 2023-09-14 14:23:10 -04:00
Pedro Algarvio
685ca05b62
Move test to the right test module
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-14 18:57:28 +01:00
Pedro Algarvio
910c78d4e0
Switch to the correct fixture usage
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-14 18:57:28 +01:00
Pedro Algarvio
d0f05e0558
Fix failing tests
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-14 18:57:28 +01:00
Megan Wilhite
3c6755d6ea
Remove pip install warning - setuptools new release fixed 2023-09-14 18:40:44 +01:00
Joseph Hall
c5936f92ae Assert against True, not unspecified 2023-09-14 17:20:57 +00:00
Joseph Hall
e3c428e61b Correct failure assertion 2023-09-14 17:20:57 +00:00
Pedro Algarvio
3a128fbd85
Run pyupgrade on the files changed on the merge forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-13 17:30:09 +01:00
Pedro Algarvio
623944d2a5
The master branch(Upcoming 3007.0 release) is already Python >= 3.8
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-13 16:36:35 +01:00
Pedro Algarvio
74f43bb5d2
Upgrade requirements downgraded during the merge forward conflict resolve
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-13 16:24:16 +01:00
Pedro Algarvio
f389c29473
Merge 3006.x into master
Conflicts:
 * requirements/darwin.txt
 * requirements/pytest.txt
 * requirements/static/ci/common.in
 * requirements/static/ci/darwin.in
 * requirements/static/ci/freebsd.in
 * requirements/static/ci/linux.in
 * requirements/static/ci/py3.10/cloud.txt
 * requirements/static/ci/py3.10/darwin.txt
 * requirements/static/ci/py3.10/freebsd.txt
 * requirements/static/ci/py3.10/lint.txt
 * requirements/static/ci/py3.10/linux.txt
 * requirements/static/ci/py3.10/windows.txt
 * requirements/static/ci/py3.11/windows.txt
 * requirements/static/ci/py3.7/cloud.txt
 * requirements/static/ci/py3.7/freebsd.txt
 * requirements/static/ci/py3.7/lint.txt
 * requirements/static/ci/py3.7/linux.txt
 * requirements/static/ci/py3.8/cloud.txt
 * requirements/static/ci/py3.8/freebsd.txt
 * requirements/static/ci/py3.8/lint.txt
 * requirements/static/ci/py3.8/linux.txt
 * requirements/static/ci/py3.8/windows.txt
 * requirements/static/ci/py3.9/cloud.txt
 * requirements/static/ci/py3.9/darwin.txt
 * requirements/static/ci/py3.9/freebsd.txt
 * requirements/static/ci/py3.9/lint.txt
 * requirements/static/ci/py3.9/linux.txt
 * requirements/static/ci/py3.9/windows.txt
 * requirements/static/pkg/freebsd.in
 * requirements/static/pkg/linux.in
 * requirements/static/pkg/py3.10/darwin.txt
 * requirements/static/pkg/py3.10/windows.txt
 * requirements/static/pkg/py3.11/windows.txt
 * requirements/static/pkg/py3.8/windows.txt
 * requirements/static/pkg/py3.9/darwin.txt
 * requirements/static/pkg/py3.9/windows.txt
 * requirements/windows.txt
2023-09-13 16:09:29 +01:00
Pedro Algarvio
353b1d48b9
Fix(adjust) failing test due to changes in the master branch not in 3006.x
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-13 15:28:26 +01:00
Pedro Algarvio
31068bc174
Remove unneeded kwarg which also adds confusion
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-13 13:52:14 +01:00
Pedro Algarvio
c854acb3ee
The correct method is assert_called_once_with not called_once_with
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-12 13:08:23 +01:00
Pedro Algarvio
628592f22b
The RequestClient class no longer defines the message_client attribute
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-12 13:03:27 +01:00
Pedro Algarvio
2425620013
Just "grep" what we're after
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-12 13:03:27 +01:00
Pedro Algarvio
5a89789ba7
Skip nested YAML structures
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-12 13:03:27 +01:00
Pedro Algarvio
c096bc6022
Run pyupgrade on the files changed on the merge forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-12 13:03:27 +01:00
Pedro Algarvio
2d46e659f4
Salt no longer vendors tornado
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-09-12 13:03:27 +01:00
MKLeb
bee29be6dd
Merge remote-tracking branch 'upstream/3006.x' into mf/master/3006.x 2023-09-08 16:25:39 -04:00
Daniel A. Wozniak
caa5e39303 Define defaults for cluster config settings 2023-09-06 15:02:26 -07:00
Daniel A. Wozniak
46eb7f783f Make retry test more reliable 2023-09-06 15:02:26 -07:00
Daniel A. Wozniak
cd8e683255 Clean up logs 2023-09-06 15:02:26 -07:00
Daniel A. Wozniak
86d51a8215 Test fix for windows 2023-09-06 15:02:26 -07:00
Daniel A. Wozniak
dec16149b2 More tests 2023-09-06 15:02:26 -07:00
Daniel A. Wozniak
de45a7bed0 Fix netapi tests 2023-09-06 15:02:26 -07:00
Daniel A. Wozniak
af2c268347 Spawning platform fix 2023-09-06 15:02:26 -07:00
Daniel A. Wozniak
c2a4baf11f Only the cluster aes key is on disk 2023-09-06 15:02:26 -07:00
Daniel A. Wozniak
f516003529 Encrypt the master event bus for cluster peers 2023-09-06 15:02:26 -07:00
Daniel A. Wozniak
b473ed193a Add master pub channels skeleton 2023-09-06 15:02:26 -07:00
Daniel A. Wozniak
8764aa9eea Add cluster config settings 2023-09-06 15:02:26 -07:00
Daniel A. Wozniak
ade2eaa057 Test fixup 2023-09-06 15:02:26 -07:00
Daniel A. Wozniak
6ba1b273ba Publish new job directly to publisher and also to event bus 2023-09-06 15:02:26 -07:00
Daniel A. Wozniak
39fa242248 Fix test after removing un-needed method 2023-09-06 15:02:26 -07:00
Daniel A. Wozniak
d7daa1c424 Handle key rotation with multiple masters 2023-09-06 15:02:26 -07:00
Daniel A. Wozniak
e407cb99ae Forward publish through master evetn bus.
Forward new jobs being published to minions through the master's event
bus. This will facilitate multiple masters being notified of publish
events.
2023-09-06 15:02:26 -07:00
Gareth J. Greenaway
a4e60cae7e moving 64893.deprecated.md under changelog and fixing spelling 2023-09-06 20:11:29 +00:00
Stephen Bourke
5878e220cf Comply with pre-commit and lint 2023-09-05 19:34:16 +00:00
Stephen Bourke
89bdd919a7 Remove redundant except 2023-09-05 19:34:16 +00:00
Stephen Bourke
f1a35823f7 Fix ipset new_set bug 2023-09-05 19:34:16 +00:00
Pedro Algarvio
8f9405cf8e Move download_file helpers to tests/support/pytest/helpers.py
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-30 12:41:10 +01:00
Joseph Hall
0e6fb14f61 Skip windows tests 2023-08-30 12:41:10 +01:00
Joseph Hall
e3fdb0b34f Do not run Linux user tests on Windows 2023-08-30 12:41:10 +01:00
Joseph Hall
624ed41cb5 Mark tests as destructive 2023-08-30 12:41:10 +01:00
Pedro Algarvio
ae80dcddae Reduce code duplication
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-30 12:41:10 +01:00
Joseph Hall
b5c19eb996 Remove unused json import 2023-08-30 12:41:10 +01:00
Joseph Hall
e48cbeb31f Switch to use loaders.modules instead of cli 2023-08-30 12:41:10 +01:00
Joseph Hall
9c755a02ad Initial commit of formula tests 2023-08-30 12:41:10 +01:00
Gareth J. Greenaway
17abfb480e Update 64893.dprecated.md
Co-authored-by: Megan Wilhite <mwilhite@vmware.com>
2023-08-28 20:30:37 +00:00
Gareth J. Greenaway
fdc92807aa Adding changelog. 2023-08-28 20:30:37 +00:00
Gareth J. Greenaway
5edd1b0cf1 Adding deprecation decorator to the vault modules for 3009. 2023-08-28 20:30:37 +00:00
Gareth J. Greenaway
3880dae74f Adding deprecate dunder to a couple additional modules. 2023-08-28 20:30:21 +00:00
Gareth J. Greenaway
2c41fd8a2e Update changelog/64894.deprecated.md
Co-authored-by: Megan Wilhite <mwilhite@vmware.com>
2023-08-28 20:30:21 +00:00
Gareth J. Greenaway
8673e01511 Adding changelog. 2023-08-28 20:30:21 +00:00
Gareth J. Greenaway
6ea385a16c Adding deprecation decorator to docker modules for 3009. 2023-08-28 20:30:21 +00:00
Gareth J. Greenaway
051dac0260 Update changelog/64896.deprecated.md
Co-authored-by: Megan Wilhite <mwilhite@vmware.com>
2023-08-28 20:30:08 +00:00
Gareth J. Greenaway
b51248d166 Adding changelog. 2023-08-28 20:30:08 +00:00
Gareth J. Greenaway
db9ed96d0d Adding deprecation decorator to zabbix modules for 3009. 2023-08-28 20:30:08 +00:00
Gareth J. Greenaway
4818aa6e9c Update changelog/64909.deprecated.md
Co-authored-by: Megan Wilhite <mwilhite@vmware.com>
2023-08-28 20:29:54 +00:00
Gareth J. Greenaway
7bdf6a593e Adding deprecation decorator to apache modules for 3009. 2023-08-28 20:29:54 +00:00
Megan Wilhite
7121882744 Add additional deprecation warning tests 2023-08-28 07:39:32 +01:00
Megan Wilhite
4d9eee7753 Add PYTHONWARNINGS=ignore option to silence deprecation warnings 2023-08-28 07:39:32 +01:00
Jens-U. Mozdzen
2c72c0471b make Cloud::vm_config() handle per-VM vm_overrides according to inline docs 2023-08-25 13:12:47 +00:00
Cian Yong Leow
5cb273cef7 Fix Flaky LazyLoaderRefreshFileMappingTest
Move creation of the lock to a private method to isolate mocking behaviour from main threading library.
2023-08-25 13:12:09 +00:00
Bernhard Gally
82d35f5d5c apply suggested linting changes 2023-08-25 13:11:46 +00:00
Bernhard Gally
725a5bdc3a Apply suggested f-string changes 2023-08-25 13:11:46 +00:00
Bernhard Gally
30354137b0 Deprecate proxmox cloud 2023-08-25 13:11:46 +00:00
Zhiwei Liang
2cfc5c2fb4 Update image 2023-08-25 13:10:52 +00:00
Zhiwei Liang
905f3d774d Update doc links 2023-08-25 13:10:52 +00:00
Zhiwei Liang
8e27387d3b Add a changelog entry 2023-08-25 13:10:52 +00:00
Zhiwei Liang
0d3f49296e Update docs and tests 2023-08-25 13:10:52 +00:00
Zhiwei Liang
b9c565f191 Remove Linode API v3 usage 2023-08-25 13:10:52 +00:00
Daniel A. Wozniak
e57901290e Wean off load_module 2023-08-25 08:46:29 +01:00
Megan Wilhite
17a9837e36
Merge pull request #64998 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-08-24 17:58:00 +00:00
Daniel A. Wozniak
cc834784be
Close request server after testing it 2023-08-24 09:30:58 +01:00
Daniel A. Wozniak
07033471bd
Close the inotify and watchdog instances after each test 2023-08-24 09:30:50 +01:00
Daniel A. Wozniak
673e6ecccb Remove dead code reference 2023-08-21 16:12:01 -07:00
Daniel A. Wozniak
ba433a71c7 Remove dead code reference 2023-08-21 10:03:26 -07:00
MKLeb
4afea71ae5 Don't let dependabot open PRs for regular version updates 2023-08-21 16:57:32 +01:00
twangboy
478ed7008c Fix lint 2023-08-18 20:25:04 +00:00
twangboy
563afaffca Fix lint 2023-08-18 20:25:04 +00:00
twangboy
c9512a1853 Fix pre-commit 2023-08-18 20:25:04 +00:00
Victor Zhestkov
1f7ad41df7 Add changelog entry 2023-08-18 20:25:04 +00:00
Victor Zhestkov
d940aa79b0 Update tests/pytests/functional/utils/user/test_get_group_dict.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-08-18 20:25:04 +00:00
Victor Zhestkov
ba82644375 Add test of calling salt.utils.user.get_group_dict
for the user having improper duplicate group
2023-08-18 20:25:04 +00:00
Victor Zhestkov
8e89a094f1 Prevent KeyError on calling grp.getgrnam in case of improper group 2023-08-18 20:25:04 +00:00
Pablo Suárez Hernández
d3f204e959 Add changes suggested by pre-commit 2023-08-18 20:15:26 +00:00
Pablo Suárez Hernández
cf7bcadedc Add changelog file 2023-08-18 20:15:26 +00:00
Pablo Suárez Hernández
2b06ea6f65 Define __virtualname__ for transactional_update module
This prevent problems with LazyLoader when importing this module,
which was wrongly exposing functions for this module under "state.*"
2023-08-18 20:15:26 +00:00
MKLeb
0f26cf5b93 Add .github/dependabot.yml 2023-08-18 20:14:10 +01:00
Pedro Algarvio
a6cb942a3b
Add back code logic that pyupgrade removed.
We still need this for salt-ssh

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-17 20:34:21 +01:00
Pedro Algarvio
e8a392577d
Fix merged forwarded code and test
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-17 09:54:54 +01:00
Pedro Algarvio
ad4821b87f
Run pyupgrade on the files changed on the merge forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-16 09:16:19 +01:00
Pedro Algarvio
22107ebd32
Merge 3006.x into master 2023-08-15 22:29:25 +01:00
Megan Wilhite
4f03b1d6ff
Merge pull request #64467 from cmcmarrow/remove_payload_Serial
[master] remove salt.payload.Serial
2023-08-15 20:12:28 +00:00
nicholasmhughes
245670f37f fix duplicate ref 2023-08-14 16:42:03 +01:00
nicholasmhughes
ea5cd720f1 fix rst formatting 2023-08-14 16:42:03 +01:00
nicholasmhughes
77b516f6a8 adding to_entries and from_entries functions as jinja filters 2023-08-14 16:42:03 +01:00
nicholasmhughes
58b3ab13c9 fixes saltstack/salt#64600 implement jq-esque to_entries and from_entries functions 2023-08-14 16:42:03 +01:00
Antonio Ramón Sánchez Morales
4ac4da9aa4 fix(test_mac_brew_pkg): adapt test to also mock path.which
Signed-off-by: Antonio Ramón Sánchez Morales <antonioramonsm@gmail.com>
2023-08-09 20:17:22 +00:00
Antonio Ramón Sánchez Morales
2199d8503b chore(mac_brew_pkg): remove verbose if else chain
Signed-off-by: Antonio Ramón Sánchez Morales <antonioramonsm@gmail.com>
2023-08-09 20:17:22 +00:00
Antonio Ramón Sánchez Morales
2e7b0ac875 fix(mac_brew_pkg): avoid using cmd.run on 'None' executable path
* Sindicate fetching os brew path for use also on __virtual__ method
without running an extra command at this moment

Signed-off-by: Antonio Ramón Sánchez Morales <antonioramonsm@gmail.com>
2023-08-09 20:17:22 +00:00
Antonio Ramón Sánchez Morales
8e7c528d17 chore(mac_brew_pkg): lint fixes and changelog add 2023-08-09 20:17:22 +00:00
Antonio Ramón Sánchez Morales
4fddd04ed2 fix(mac_brew_pkg): Use format instead of + operator
Fix for https://github.com/saltstack/salt/actions/runs/5298983857/jobs/9593610712?pr=57946

Signed-off-by: Antonio Ramón Sánchez Morales <antonioramonsm@gmail.com>
2023-08-09 20:17:22 +00:00
Antonio Ramón Sánchez Morales
b258510a6d chore(mac_brew_pkg): apply lint fixes
Applied lint patch suggested by this CI job: https://github.com/saltstack/salt/actions/runs/5298983857/jobs/9593574724?pr=57946

Signed-off-by: Antonio Ramón Sánchez Morales <antonioramonsm@gmail.com>
2023-08-09 20:17:22 +00:00
Antonio Ramón Sánchez Morales
2a522420ca fix(mac_brew_pkg): Use brew path from which
Signed-off-by: Antonio Ramón Sánchez Morales <antonioramonsm@gmail.com>
2023-08-09 20:17:22 +00:00
cmcmarrow
67f0c5a6e5 fix pytests 2023-08-09 12:44:56 -05:00
Charles McMarrow
e0854105d6
Merge branch 'master' into remove_payload_Serial 2023-08-09 12:39:56 -05:00
cmcmarrow
584d26d5d7 update tests 2023-08-09 12:39:13 -05:00
Daniel A. Wozniak
9a4da7d2e3 remove sleeps 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
cf4e901ba8 Fix resolver 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
85504a91a6 We only use msgpack > 1.0 now 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
d8d6bf1630 Do not override kwargs 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
43a3863532 Use async with for lock 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
3a84dadfd2 Revert changes to un-used deprecated class 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
528134ec18 We already have the path available 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
1d1ca7b6cb Revert changes to MessageClient other than deprecation 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
13190ff89a Use fixtures when already present 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
8a97ed53ef Clean up crufty commented out code 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
ca93da0d7d Fix up issues found in code review 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
2b90a91add Fix msgpack tests 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
a951a88576 Bump msgpack minimum version 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
dadacf2685 Honor timeouts when possible 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
a04fe85ffa Fix pr review nits 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
d23f40cce9 Remove crufty comment 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
f5d84f3bd1 Clean up aexit def 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
d273aef431 Gather all tasks at once 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
ccf6353126 Use async with on asyncio.Lock 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
8190791910 Clean up debugging cruft in test suite 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
3c788180ff Fix blackout tests afer refactor 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
ae1bec97b7 Add back debug logging 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
8a14947270 More cleanup and test fixes after refactor 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
16fad0baef Add changelog for #64488 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
3294e14752 Clean up cruft 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
9ef3a59698 Add transport factories for ipc comms 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
6320f769ea Revert windows test fix 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
0b7285b766 Send req returns None 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
9bede19920 Prevent test hangs on windows 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
d51f3b9cc5 Re-add missing skip for pam auth test on windows 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
56141835a6 Fix test_client.py test_pub_win32 unit test 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
156e75f345 Clean up 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
7d50c786e3 Increase sleep time to allow for master shutdown 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
7fc6945cba Add timeout to tcppubclient connect 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
de4ab5fbcf Fix deltaproxy tests 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
7b374707ac Adjust timeouts to get passing tests 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
52239d808c Fix windows unit tests 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
1a0f8dd81b Fix manage beaconds test on windows 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
fd8cf7875b Clean up logs and ensure callbacks are called 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
9765605d46 Shot in dark 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
c1cc4e23af Always run SyncWrapper.close on __exit__ 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
e79e3899e4 Fix wart in tcp transport 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
8890635449 More test fixes 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
0ede71eda5 Fix batch test 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
f556db26a9 Windows fix 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
8035d2418d Reconnect without killing on_recv handler 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
d52df08f22 Preserve ipc_mod logic 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
5540fd8111 Fix up on_recv logic 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
d92df14ecb Do not raise timeout error in PubClient.recv 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
4e22161bee Fix warts in TCPPubClient recv 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
e0bea13bf2 Keep tcp as ipc transport, for now 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
5f36621afa Fix linter warnings 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
7b58472599 Clean-up 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
d931728bfe Clean up un-needed tests 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
ec7a44a52c More test fixes 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
0dc6cfc78f Fix minion comming up without master 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
2f6241aaff Run with py3.10 and migrate tests 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
027a29fd0a Clean up pre-commit 2023-08-08 14:47:15 -07:00
Jenkins
7d38fe0b25 Migrate master unit tests to pytest 2023-08-08 14:47:15 -07:00
Jenkins
353a9c32fa Fix wart in network util method 2023-08-08 14:47:15 -07:00
Jenkins
31c59ce450 Cleanup and refactor TCP transport 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
b4e407a8a9 More cleanup 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
fe5990536b Cleanup 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
ea3322b412 More test fixes 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
b31a98b3a7 Cleanup 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
4849a3529b Do not start tracemalloc 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
a2f428e5b3 More test fixes 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
fea99b1335 Fix wart in pub_connect 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
9683260d61 Test fixes 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
077c253954 Do not close non sock 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
7e3a5b10f1 Minion uses tcp transport for ipc 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
f3522141df un-commnet things we will keep 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
eb8328717d Merge async work with ipc work 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
cec5aa517d extras 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
149502ebfc Transport and event tests pass 2023-08-08 14:47:15 -07:00
Jenkins
3a4533ee0c Event unit tests 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
fb4ce8a741 Fix connection details for minion ipc 2023-08-08 14:47:15 -07:00
Daniel A. Wozniak
e102f8f11e Initial pass at consolidating ipc and tcp/zeromq 2023-08-08 14:47:15 -07:00
cmcmarrow
65537f8cc6 fix tests 2023-08-08 12:10:02 -05:00
cmcmarrow
cbc40b7d43 fix pre 2023-08-08 10:52:24 -05:00
cmcmarrow
04e820258f fix test_auth 2023-08-08 10:44:19 -05:00
Wayne Gemmell
7ec90b0fcd Test and requested documentation added 2023-08-07 19:50:44 +00:00
Wayne Gemmell
33c9efda45 Linter fix 2023-08-07 19:50:44 +00:00
Wayne Gemmell
cdc2c20f5b Changelog added for 63714 2023-08-07 19:50:44 +00:00
Wayne Gemmell
2b46917c4a fixing for pre-commit 2023-08-07 19:50:44 +00:00
Wayne Gemmell
6227a8a407 _get_vpc_by_name return fixed for invalid vpc_name 2023-08-07 19:50:44 +00:00
Wayne Gemmell
5ac0683840 file permission update 2023-08-07 19:50:44 +00:00
Wayne Gemmell
49fa6669be linting fixes 2023-08-07 19:50:44 +00:00
Wayne Gemmell
69ee788738 Linting fix 2023-08-07 19:50:44 +00:00
Wayne Gemmell
630db2b261 Clean up and linting issues 2023-08-07 19:50:44 +00:00
Wayne Gemmell
fc89d6fe8b vpc_uuid parameter added to droplet creation 2023-08-07 19:50:44 +00:00
Megan Wilhite
c2d2522f1f
Merge pull request #64931 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-08-07 19:34:39 +00:00
Pedro Algarvio
7d1907cd73
Fix missed salt.ext.tornado.gen.Return occurrence during merge forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-06 09:47:18 +01:00
Pedro Algarvio
ef367f4450
Fix changed requirements during merge forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-06 08:36:32 +01:00
Pedro Algarvio
6ed59e2727
Run pyupgrade against changed files from merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-06 08:18:00 +01:00
Pedro Algarvio
af59576d96
Merge 3006.x into master 2023-08-06 08:13:52 +01:00
Megan Wilhite
3a42b0ce58 Remove onedir pytest fixture workaround 2023-08-04 16:29:46 +01:00
Megan Wilhite
bf6ab537f7 Revert coverage update 2023-08-04 16:29:46 +01:00
Megan Wilhite
131a389530 Revert "Bump cache seed"
This reverts commit b2dfd5e9b1c0cd1ebecaf6d64db183e79110df8c.
2023-08-04 16:29:46 +01:00
Megan Wilhite
a6ff8d0c23 Move _pkg.txt into salt directory 2023-08-04 16:29:46 +01:00
Megan Wilhite
86a8ddc6a5 Bump cache seed 2023-08-04 16:29:46 +01:00
Megan Wilhite
3e413bd82e update coverage 2023-08-04 16:29:46 +01:00
Megan Wilhite
2de8317e70 Run onedir pytest fixture only on module tests 2023-08-04 16:29:46 +01:00
Megan Wilhite
dc07caab95 ensure we unset ONEDIR env for unit/functional tests 2023-08-04 16:29:46 +01:00
Megan Wilhite
e01ceb5284 Use _pkg.txt file for package grain 2023-08-04 16:29:46 +01:00
Megan Wilhite
34e3f90035 Add Salt package type to versions report and grain 2023-08-04 16:29:46 +01:00
Gareth J. Greenaway
b49eb84027 removing comment 2023-08-04 12:52:28 +01:00
Gareth J. Greenaway
fd6be3b6e4 moving test to pytest. 2023-08-04 12:52:28 +01:00
Gareth J. Greenaway
b39278d39f removing unused os.path.join. moving all patch decorators into the test functions. 2023-08-04 12:52:28 +01:00
Gareth J. Greenaway
1d85a3ed89 Adding changelog. 2023-08-04 12:52:28 +01:00
Gareth J. Greenaway
9de739f9dd Look in location salt is running from, this accounts for running from an unpacked onedir file that has not been installed. 2023-08-04 12:52:28 +01:00
Felippe Burk
7674112d14 adding obsoletes to rpm.spec for photon3 packages
Signed-off-by: Felippe Burk <burkf@vmware.com>
2023-08-03 19:54:07 +00:00
Jamie (Bear) Murphy
611944fa7b fix quotes in fstring 2023-08-03 07:02:48 +01:00
Jamie (Bear) Murphy
b2dc649f90 add missing slash 2023-08-03 07:02:48 +01:00
Jamie (Bear) Murphy
318c198a6f linting 2023-08-03 07:02:48 +01:00
Jamie (Bear) Murphy
2073e52bc4 drop latest 2023-08-03 07:02:48 +01:00
Jamie (Bear) Murphy
a58a741150 fix nightly repofile path 2023-08-03 07:02:48 +01:00
Pedro Algarvio
2974390263 Define salt_factories_default_root_dir to try and avoid SELinux error on Fedora 38
```
Internal Server Error ("error setting label on mount source '/tmp': SELinux relabeling of /tmp is not allowed")
```

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-02 17:40:00 +00:00
Pedro Algarvio
5f64fbd886 Bump to pytest-salt-factories==1.0.0rc25
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-02 17:40:00 +00:00
Pedro Algarvio
43c7376f69 Bump to pytest-skip-markers==1.4.1
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-02 17:40:00 +00:00
Pedro Algarvio
26001ed8eb Remove salt execution and state modules only when building the windows package
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-02 17:40:00 +00:00
Pedro Algarvio
ba106493c5 Make sys.path cleanup work on windows
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-02 17:40:00 +00:00
Pedro Algarvio
8b6497da72 Show sys.path on error
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-02 17:40:00 +00:00
Pedro Algarvio
7e709b11dd Revert "Allow running unit/functional tests against the salt checkout for now"
This reverts commit 7382aa187e.
2023-08-02 17:40:00 +00:00
Pedro Algarvio
61fc2933c4 Bump to pytest-salt-factories==1.0.0rc24
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-02 17:40:00 +00:00
Pedro Algarvio
1826c9cf67 Test requires root permissions
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-02 17:40:00 +00:00
Pablo Suárez Hernández
1f1420aa0b Add changes suggested by pre-commit 2023-08-01 20:00:26 +00:00
Pablo Suárez Hernández
70486ca1d4 Return error if there is a problem uploading openscap results to master 2023-08-01 20:00:26 +00:00
Pablo Suárez Hernández
b87c24ebeb Refactor OpenscapTestMock into pytest fixture
Co-authored-by: Pedro Algarvio <palgarvio@vmware.com>
2023-08-01 20:00:26 +00:00
Pablo Suárez Hernández
a8b88be486 Remove test that does not make sense for xccdf_eval 2023-08-01 20:00:26 +00:00
Pablo Suárez Hernández
87715c4dc6 Remove kwargs from xccdf_eval function 2023-08-01 20:00:26 +00:00
Pablo Suárez Hernández
0464a16c2a Move parameters for 'xccdf_eval' out of kwargs 2023-08-01 20:00:26 +00:00
Pablo Suárez Hernández
00b9b20c4c Migrate openscap unit tests to pytest 2023-08-01 20:00:26 +00:00
Pablo Suárez Hernández
9770229106 Fix code according to black suggestions 2023-08-01 20:00:26 +00:00
Pablo Suárez Hernández
1c923149ae Add deprecation warning for 'openscap.xccdf' function 2023-08-01 20:00:26 +00:00
Pablo Suárez Hernández
aba6f6beae Add versionadded tag 2023-08-01 20:00:26 +00:00
Vladimir Nadvornik
f7b5792b71 Fix error handling in openscap module 2023-08-01 20:00:26 +00:00
Pablo Suárez Hernández
516ef95ca8 Rename changelog file 2023-08-01 20:00:26 +00:00
Pablo Suárez Hernández
271cf16d85 Allow 'tailoring_file' and 'tailoring_id' parameters 2023-08-01 20:00:26 +00:00
Michael Calmer
d92ba4c8e2 Enhance openscap module: add xccdf_eval call 2023-08-01 20:00:26 +00:00
Salt Project Packaging
2244d93fb4 Update the bootstrap script to v2023.07.25 2023-08-01 12:57:01 +01:00
Pedro Algarvio
22c1766113
Merge pull request #64727 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-07-28 19:25:39 +01:00
Alyssa Rock
ae11e7c061 Further changes requested by reviewers 2023-07-28 17:25:12 +00:00
Alyssa Rock
01451adf6b Add fixes requested by reviewers 2023-07-28 17:25:12 +00:00
Alyssa Rock
41b8b8423a Add release notes file for 3007 to allow nox builds 2023-07-28 17:25:12 +00:00
Alyssa Rock
0caa05c54f Make changes requested by Chunga and Rob H 2023-07-28 17:25:12 +00:00
Pedro Algarvio
1decaf5711
Merge 3006.x into master 2023-07-28 11:20:24 +01:00
Megan Wilhite
0a98359776 Add documentation for external pillar cmd json 2023-07-22 21:19:51 +01:00
Pedro Algarvio
f7787f2d93
Merge pull request #64688 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-07-22 21:18:19 +01:00
Pedro Algarvio
23e96fdc6d
Run pyupgrade on the changes from the merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-07-21 20:06:53 +01:00
Pedro Algarvio
c06f94523a
Bump a few dependency versions that got downgraded on the merge forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-07-21 18:16:37 +01:00
Pedro Algarvio
112cbda97a
Merge 3006.x into master 2023-07-21 18:11:52 +01:00
David Murphy
75269c4ae2 Updates due to reviewer suggestions 2023-07-20 20:09:24 +00:00
David Murphy
bea424c18d Update salt/modules/yumpkg.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-07-20 20:09:24 +00:00
David Murphy
bf27a19c96 Update salt/modules/yumpkg.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-07-20 20:09:24 +00:00
David Murphy
0ab67261b2 Update salt/modules/yumpkg.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-07-20 20:09:24 +00:00
David Murphy
0cbee0f790 Update salt/modules/yumpkg.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-07-20 20:09:24 +00:00
David Murphy
da2897e9bf Update salt/modules/yumpkg.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-07-20 20:09:24 +00:00
David Murphy
33f11e7107 Update salt/modules/yumpkg.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-07-20 20:09:24 +00:00
David Murphy
27844363dd Update salt/modules/yumpkg.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-07-20 20:09:24 +00:00
David Murphy
6a256a59a1 Update salt/modules/yumpkg.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-07-20 20:09:24 +00:00
David Murphy
c81c7b3f70 Added changelog entry 2023-07-20 20:09:24 +00:00
David Murphy
5fa7a865ab Added support for dnf5 for Fedora 2023-07-20 20:09:24 +00:00
twangboy
1ef90cbdc7 Fix failing tests 2023-07-19 12:47:47 +01:00
twangboy
e8ccb262a6 Fix pre-commit 2023-07-19 12:47:47 +01:00
Tim Hildebrandt
7b07640b32 Add changelog 2023-07-19 12:47:47 +01:00
Tim Hildebrandt
11b3b913e8 Update chocolatey.py
Bug Fix the last commit
2023-07-19 12:47:47 +01:00
Tim Hildebrandt
45e1ee9368 Update test_chocolatey.py
Add test for choco.exe in ProgramData
2023-07-19 12:47:47 +01:00
Tim Hildebrandt
52da6c2b58 Update chocolatey.py
Change environ key of new lication to "ProgramDataChoco" to not overwrite the environ of the chocolatey.exe path.
2023-07-19 12:47:47 +01:00
Tim Hildebrandt
fd09ab7efb Update chocolatey.py / Search for choco.exe
chocolatey.exe was renamed to choco.exe by Chocolatey in Version 2.0.0
2023-07-19 12:47:47 +01:00
Pedro Algarvio
1d7309188b
Merge pull request #64652 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-07-19 12:30:29 +01:00
Pedro Algarvio
2450240d5c
Bump a few requirements that got downgraded in the merge forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-07-18 17:38:08 +01:00
Pedro Algarvio
df09fd980d
Merge 3006.x into master 2023-07-18 16:37:08 +01:00
Pedro Algarvio
48749b15bc Bump to pyyaml==6.0.1 due to https://github.com/yaml/pyyaml/issues/601
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-07-18 15:11:49 +01:00
Pedro Algarvio
b45c3191d6
Merge pull request #64609 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-07-09 03:48:04 +01:00
Pedro Algarvio
261e3e825d
Run pyupgrade against the files changed on the merge forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-07-08 21:32:10 +01:00
Pedro Algarvio
7d6f51f871
Merge 3006.x into master 2023-07-08 21:30:11 +01:00
Pedro Algarvio
3a91a197d4 Downgrade to cffi==1.14.6 on windows to fix the package upgrade tests
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-07-08 19:01:55 +01:00
Pedro Algarvio
892aeeda0f Downgrade to psutil==5.8.0 on windows to fix the package upgrade tests
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-07-08 19:01:55 +01:00
Pedro Algarvio
46103123e4 Allow forcing the package tests to run by the test:pkg label
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-07-08 19:01:55 +01:00
Pedro Algarvio
51e9fb6e71 Revert to Py3.10
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-07-03 19:37:17 +01:00
Pedro Algarvio
d91988fa1c Bump to pytest-shell-utilities==1.8.0 which officially support Py3.11
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-07-03 19:35:54 +01:00
Pablo Suárez Hernández
db5a9a1b4a Fix test to get proper formatted version 2023-07-01 08:46:56 +01:00
Pablo Suárez Hernández
a92ddf5a41 Fix salt_version execution module documentation 2023-07-01 08:46:56 +01:00
Pablo Suárez Hernández
3693a0db42 Do not crash when passing numbers to 'salt_version.get_release_number' 2023-07-01 08:46:56 +01:00
Pablo Suárez Hernández
8540a3fdd4 Rename changelog file according to bug report 2023-07-01 08:46:56 +01:00
Pablo Suárez Hernández
a2abb1a450 Fix SaltStackVersion string for new versions format 2023-07-01 08:46:56 +01:00
Pablo Suárez Hernández
4cd8fe14d4 Add changelog file 2023-07-01 08:46:56 +01:00
Pablo Suárez Hernández
69696e6fd7 Add some new and fix unit tests 2023-07-01 08:46:56 +01:00
Pablo Suárez Hernández
767303a3dc Add changes suggested by pre-commit 2023-07-01 08:46:56 +01:00
Pablo Suárez Hernández
f5861ccb10 Fix mess with version detection bad version definition 2023-07-01 08:46:56 +01:00
Pablo Suárez Hernández
e6abf4b2d5 Fix detection of Salt codename by salt_version module 2023-07-01 08:46:56 +01:00
Salt Project Packaging
1ef02f5e1d Update the bootstrap script to v2023.06.28 2023-07-01 01:04:17 +01:00
Megan Wilhite
99ce534e0c
Merge pull request #64587 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-06-30 19:58:05 +00:00
Gareth J. Greenaway
f97b3f4419 removing text left from previous commit. 2023-06-30 19:53:08 +00:00
Gareth J. Greenaway
f83d414280 remove ignore_list 2023-06-30 19:53:08 +00:00
Gareth J. Greenaway
8744762580 remove ignore_list 2023-06-30 19:53:08 +00:00
Gareth J. Greenaway
3e18925289 update documentation to include ignore_list 2023-06-30 19:53:08 +00:00
Gareth J. Greenaway
f0933cf408 Adding ignore_list argument to the decorator to filter out functions in a module that should not have the deprecation warning applied. 2023-06-30 19:53:08 +00:00
Gareth J. Greenaway
60a97b6236 Using DeprecationWarning instead of FutureWarning. 2023-06-30 19:53:08 +00:00
Gareth J. Greenaway
2ccda334e6 suggested fixes 2023-06-30 19:53:08 +00:00
Gareth J. Greenaway
ebe00a73d6 fix lists 2023-06-30 19:53:08 +00:00
Gareth J. Greenaway
25ad522344 Clarify what version numbers to include in the deprecation decorator. 2023-06-30 19:53:08 +00:00
Gareth J. Greenaway
055277d101 Adding documentation for salt-extension. 2023-06-30 19:53:08 +00:00
Gareth J. Greenaway
9a2102a0e8 Adding salt/utils/decorators/extension_deprecation.py 2023-06-30 19:53:08 +00:00
Gareth J. Greenaway
405fd40634 Adding changelog. 2023-06-30 19:53:08 +00:00
Gareth J. Greenaway
2efc71ad12 Adding a new decorator to indicate when a module is deprecated in favor of a Salt extension 2023-06-30 19:53:08 +00:00
Pedro Algarvio
d5f14ef632
Merge 3006.x into master 2023-06-30 16:43:42 +01:00
Megan Wilhite
2d02017d6c
Merge pull request #64574 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-06-29 13:13:13 +00:00
Pedro Algarvio
2e962677b7
Run pyupgrade against the changes from the merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-29 09:41:56 +01:00
Pedro Algarvio
819c2dc9e7
Merge 3006.x into master 2023-06-29 09:40:29 +01:00
Pedro Algarvio
c463c94b8d Stop using the deprecated locale.getdefaultlocale() function
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-29 08:01:12 +01:00
Pedro Algarvio
9aeed74e96
Merge pull request #64560 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-06-28 20:38:03 +01:00
Pedro Algarvio
31475e74e8
Run pypugrade against the files changed in the merge-forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-28 11:56:47 +01:00
Pedro Algarvio
c4987f83ed
Merge 3006.x into master 2023-06-28 11:51:20 +01:00
Charles McMarrow
94763bb50b
Merge branch 'master' into remove_payload_Serial 2023-06-27 23:28:57 -05:00
Megan Wilhite
0892d07684
Merge pull request #64466 from cmcmarrow/remove_conn_func_from_napalm
[master] Remove salt.modules.napalm_mod.netmiko_conn and pyeapi_conn
2023-06-27 20:28:38 +00:00
jeanluc
560bacdaeb Add test for custom wrapper usage 2023-06-26 19:53:07 +00:00
jeanluc
1e08e7d006 Correct/add versionadded 2023-06-26 19:53:07 +00:00
jeanluc
830232f9e9 run pre-commit upgrade code for Py3.8+ again 2023-06-26 19:53:07 +00:00
jeanluc
31cf73704f Add sync_wrapper to saltutil state module 2023-06-26 19:53:07 +00:00
jeanluc
c81e8f045b run pre-commit upgrade code for Py3.8+ 2023-06-26 19:53:07 +00:00
jeanluc
7b0d09bd29 Add syncing of custom ssh wrappers 2023-06-26 19:53:07 +00:00
twangboy
5dc987a630 Add changelog 2023-06-26 13:40:39 +00:00
twangboy
6ae0c5ad6c Add test 2023-06-26 13:40:39 +00:00
twangboy
38bae082f4 Fix issue when there are duplicate packages 2023-06-26 13:40:39 +00:00
Tanmoy037
eb5473596a Structured Layered State name added insted of SaLt State file 2023-06-26 13:38:20 +00:00
James Howe
8950f1198b Missed an "and". 2023-06-23 15:13:12 -07:00
James Howe
2215d92ab0 Fix incorrect usage of "finite" wrt ordering 2023-06-23 12:56:29 -07:00
Charles McMarrow
b5b1a9794b
add back proxy_napalm_wrap 2023-06-22 13:06:52 -05:00
Charles McMarrow
d12e128981
Merge branch 'master' into remove_conn_func_from_napalm 2023-06-21 10:56:57 -05:00
Charles McMarrow
b0bf7eba9b
[master]gpg_decrypt_must_succeed default from False to True (#64471)
* pg_decrypt_must_succeed default from False to True

* Fix pre-commit
2023-06-21 10:56:32 -05:00
Charles McMarrow
7b8c3dbacc
Update napalm_mod.py 2023-06-20 16:15:20 -05:00
Charles McMarrow
374f91f1ca
Merge branch 'master' into remove_payload_Serial 2023-06-20 15:53:18 -05:00
Charles McMarrow
1a4a4824ff
Merge branch 'master' into remove_conn_func_from_napalm 2023-06-20 15:51:49 -05:00
Charles McMarrow
ddb9c20ec8
fix pre-commit 2023-06-20 15:50:53 -05:00
Pedro Algarvio
4f027308f8 Run pyupgrade on the changes from the merge forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-20 03:34:21 +01:00
Pedro Algarvio
5e28d77365 Improved slack notifications
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-20 03:34:21 +01:00
nicholasmhughes
77482013d6 fixes saltstack/salt#64477 file.symlink will not replace/update existing symlink 2023-06-20 03:34:21 +01:00
Pedro Algarvio
ae14412da3 Don't hardcode the python version on pkg/debian/salt-cloud.postinst
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-19 23:35:51 +01:00
Pedro Algarvio
c6e2bd18e9 Don't hardcode the python version in the test.
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-19 23:35:51 +01:00
Pedro Algarvio
a1861c7871 Added changelog entry and updated release notes
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-19 23:35:51 +01:00
Pedro Algarvio
d2f1990135 Generate 3.11 requirements for the package tests
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-19 23:35:51 +01:00
Pedro Algarvio
14282d69f6 Use proper keys since Python's base64 in Py3.11 is more picky
```
❯ artifacts/salt/bin/python3
Python 3.10.11 (main, May  5 2023, 02:31:54) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import base64
>>> base64.b64decode("AAAAB3NzaC1kcQ9J5bYTEyZ==", validate=True)
b'\x00\x00\x00\x07ssh-dq\x0fI\xe5\xb6\x13\x13&'
```
```
$ artifacts/salt/bin/python3
Python 3.11.3 (main, May  5 2023, 02:31:40) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import base64
>>> base64.b64decode("AAAAB3NzaC1kcQ9J5bYTEyZ==", validate=True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/tmp/testing/artifacts/salt/lib/python3.11/base64.py", line 88, in b64decode
    return binascii.a2b_base64(s, strict_mode=validate)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
binascii.Error: Excess data after padding
```

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-19 23:35:51 +01:00
Pedro Algarvio
ff42133e81 Switch onedir to Py3.11
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-19 23:35:51 +01:00
Pedro Algarvio
8331264fdb Stop using the deprecated imp module
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-19 23:35:51 +01:00
Pedro Algarvio
ad706711d3 Backport locale.getdefaultlocale() into Salt. It's getting removed in Py 3.13
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-19 23:35:51 +01:00
Pedro Algarvio
3f78a510c0 Add __getstate__ to blacklisted methods, present in Py 3.11
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-19 23:35:51 +01:00
Pedro Algarvio
e814134020 Stop using the deprecated pipes module
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-19 23:35:51 +01:00
Pedro Algarvio
72fc1094ce Stop using the deprecated cgi module.
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-19 23:35:51 +01:00
Pedro Algarvio
7d57774710 Switch to FullArgSpec since Py 3.11 no longer has ArgSpec, deprecated since Py 3.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-19 23:35:51 +01:00
Pedro Algarvio
b8e3a0adca Don't hide output
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-19 23:35:51 +01:00
Pedro Algarvio
ced7fea9f4 Don't use requirements with extras as that breaks pip constraints usage
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-19 07:42:10 +01:00
Pedro Algarvio
b01c195632 Run pyupgrade on the changed files
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-19 07:21:24 +01:00
Pedro Algarvio
088bd21073 Bump to salt-rewrite==2.5.2 and fix warn_until calls.
Now that version numbers are predictable, version names no longer make sense,
and, when used, requires previous knowledge of the version name to
number mapping or a lookup.

Just use the version numbers.

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-19 07:21:24 +01:00
cmcmarrow
ce356f1737 Remove netmiko_conn, pyeapi_conn 2023-06-18 09:00:04 +01:00
cmcmarrow
dbea252572 add changelog 2023-06-18 08:51:47 +01:00
cmcmarrow
0f4c789349 remove get event transport arg 2023-06-18 08:51:47 +01:00
David Murphy
60086b0fa0 Updated tests for removed RHEL 5 support 2023-06-18 08:45:50 +01:00
David Murphy
98422f3848 Updated to remove RHEL 5 support and single RHEL 6 instance too 2023-06-18 08:45:50 +01:00
David Murphy
2478e75dca Removed support for RHEL 5 2023-06-18 08:45:50 +01:00
Pedro Algarvio
4cfc91da62
Merge pull request #64501 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-06-17 23:29:46 +01:00
Pedro Algarvio
2126a1ed21
Merge 3006.x into master 2023-06-17 23:28:57 +01:00
cmcmarrow
c070da586b remove salt.payload.Serial 2023-06-17 21:53:53 +01:00
Pedro Algarvio
db228b3430
Merge pull request #64498 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-06-17 13:45:41 +01:00
Pedro Algarvio
fea52743f6
Merge 3006.x into master 2023-06-17 13:40:19 +01:00
Pedro Algarvio
5c88202087 Use a different pytest.ini file for the package tests
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-16 07:32:35 +01:00
Pedro Algarvio
5843cb54eb Run pyupgrade against the files being merged forwarded
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-16 07:32:35 +01:00
Pedro Algarvio
50063ff617 Pass the python version too
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-16 07:32:35 +01:00
Pedro Algarvio
2a65c3e025 Pass along the relenv version that should be used.
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-16 07:32:35 +01:00
MKLeb
efd6fdd24d changelog 2023-06-16 07:32:35 +01:00
MKLeb
22c4437580 Add test suite for wheel.file_roots and fix finding files when they are under a subdir of a root 2023-06-16 07:32:35 +01:00
Megan Wilhite
9ab90fdc63
Merge pull request #64028 from nicholasmhughes/add-keyvalue-create_if_missing
[master] file.keyvalue should allow creating a file if it doesn't exist
2023-06-14 19:02:07 +00:00
Pedro Algarvio
3506e7fd0e Fix mock calls
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-14 14:33:46 +01:00
Pedro Algarvio
3c415b222f Address lint issue
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-14 14:33:46 +01:00
Pedro Algarvio
5a03a24ea9 Upgrade remaining test dependencies
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-14 14:33:46 +01:00
Megan Wilhite
461868daf5
Merge branch 'master' into add-keyvalue-create_if_missing 2023-06-13 20:10:32 +00:00
Megan Wilhite
00dce8d08a
Merge pull request #64474 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-06-13 15:09:16 +00:00
Pedro Algarvio
4d2c3c43c2
Merge 3006.x into master 2023-06-13 07:53:51 +01:00
Nicholas Hughes
756af0299b
Merge branch 'master' into add-keyvalue-create_if_missing 2023-06-12 16:51:11 -04:00
Megan Wilhite
98433521d0
Merge pull request #64449 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-06-12 12:55:45 +00:00
Pedro Algarvio
5069c1f916
Run pyupgrade of the modified files from the merge forward
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-11 10:03:42 +01:00
Pedro Algarvio
4886b6de2d
Merge 3006.x into master 2023-06-11 10:01:52 +01:00
saville
7da18aa93a Add option to use a fresh connection for mysql cache 2023-06-09 14:06:06 -07:00
Sébastien Blaisot
9539c31d48 Document pip.installed pkgs parameter 2023-06-09 20:39:52 +00:00
saville
96c4c441a2 Skip the isfile check to increase speed of listing large numbers of keys on slow file storage 2023-06-09 20:33:29 +00:00
David Murphy
7916ffb63e Fixed committed reviewer suggestion 2023-06-09 20:30:12 +00:00
David Murphy
d572d1a703 Update salt/modules/network.py
Co-authored-by: Megan Wilhite <mwilhite@vmware.com>
2023-06-09 20:30:12 +00:00
David Murphy
e6c3661b48 Update salt/modules/network.py
Co-authored-by: Megan Wilhite <mwilhite@vmware.com>
2023-06-09 20:30:12 +00:00
David Murphy
dfdb2aff48 Update tests/pytests/unit/modules/test_network.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-06-09 20:30:12 +00:00
David Murphy
096b273fe6 Update salt/modules/vagrant.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-06-09 20:30:12 +00:00
David Murphy
72bedb72d0 Added changelog entry 2023-06-09 20:30:12 +00:00
David Murphy
1d02c08bad Added support for ip neighbor for IPv4 and IPv6 and tests 2023-06-09 20:30:12 +00:00
David Murphy
d06e59c7f4 Updates to replace use of ifconfig where appropriate 2023-06-09 20:30:12 +00:00
nicholasmhughes
09569cd5fb new changelog format 2023-06-09 19:12:03 +00:00
nicholasmhughes
72a3e74c8e docstring and comment fixes 2023-06-09 19:12:03 +00:00
Meghann Cunningham
4e99f5053a fixed var that was set to False for testing purposes 2023-06-09 19:12:03 +00:00
Meghann Cunningham
fa7c345977 fix in test file 2023-06-09 19:12:03 +00:00
Meghann Cunningham
222f3017ad updated test_saltcheck.py 2023-06-09 19:12:03 +00:00
Meghann Cunningham
dac338bd1c Update tests/pytests/unit/modules/test_saltcheck.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-06-09 19:12:03 +00:00
Meghann Cunningham
0f529c13fc Update tests/pytests/unit/modules/test_saltcheck.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-06-09 19:12:03 +00:00
Pedro Algarvio
94bce224fa added xmldiff package for testing expected output vs returned output 2023-06-09 19:12:03 +00:00
Meghann Cunningham
684b584623 Removed unnecessary ModuleNotFound 2023-06-09 19:12:03 +00:00
Meghann Cunningham
1375b85cba fixes saltstack/salt#63463 add JUnit output for saltcheck 2023-06-09 19:12:03 +00:00
Pedro Algarvio
fcfe059402 Updating test requirements for saltcheck junit output 2023-06-09 19:12:03 +00:00
Meghann Cunningham
ddbb95fee4 basic JUnit output for saltcheck 2023-06-09 19:12:03 +00:00
Ryan Addessi (raddessi)
b381f39024 f-strings 2023-06-09 20:04:48 +01:00
Ryan Addessi (raddessi)
d05e5469a5 fix: slack bolt engine name is slack_bolt 2023-06-09 20:04:48 +01:00
Nicholas Hughes
528f345c87
Merge branch 'master' into add-keyvalue-create_if_missing 2023-06-09 14:41:55 -04:00
nicholasmhughes
3de03147f1
handling pyupgrade changes 2023-06-09 14:41:13 -04:00
saville
ced3436053 Add flags to create local users and groups 2023-06-08 20:34:54 +00:00
Pedro Algarvio
05d3295eba Revert "Bump to immutables==0.19"
This reverts commit 825d715356e6319f89f90fade352e727f8aae4cb.

The reason being that it breaks salt-ssh into systems with python older
than 3.6, which is apparently still supported.
2023-06-07 22:28:15 +01:00
Pedro Algarvio
85e4687c4a Revert "More recent versions of immutables require typing_extensions"
This reverts commit c9a6100a4f503e2640d8baf394aabae49c40b054.
2023-06-07 22:28:15 +01:00
Pedro Algarvio
9017809e4e Bump to pyopenssl==23.2.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
3e68d44e56 Bump to slack-bolt==1.18.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
44cb892333 Bump to twilio==8.2.2
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
0df47ecb62 Bump to hglib==2.6.2
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
292485e703 Bump to mercurial==6.4.3
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
36a198935a Bump to yamllint==1.32.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
cd91e01917 Bump to pygit2==1.12.1
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
d2792d028f Bump to apache-libcloud==3.7.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
7f4947449d Bump to pyspnego==0.9.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
8cb1d6d899 Bump to pywinrm==0.4.3
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
72b73eded9 Bump to pypsexec==0.3.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
093370c6ab Bump to vcert==0.9.1
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
15c1f5f870 Bump to watchdog==3.0.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
1851456b3f Bump to pyvmomi==8.0.1.0.1
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
156b8dc3f8 Bump to paramiko==3.2.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
e4490e55bb Bump to napalm==4.1.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
7bbd386a1f Bump to moto==4.1.10
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
ada68ba56c Bump to libnacl==1.8.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
1137f14cc2 Bump to kazoo==2.9.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
bec7b90566 Bump to python-telegram-bot==20.3
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
593cd82096 Downgrade to cheetah3==3.2.6.post1 since cheetah3==3.2.6.post2 was yanked
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
357e02f152 Bump to mako==1.2.4
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
11204d5d12 Bump to genshi==0.7.7
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
ddcd66c2d2 Upgrade ansible and ansible-core
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
a2f0f1d783 Bump to pytest-skip-markers==1.4.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
b1a1c78a91 Bump to pytest-shell-utilities==1.7.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
6c4c8292f0 Bump to pytest-helpers-namespace==2021.12.29
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
d94bb4475f Bump to pytest==7.3.1
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
de44f9931a Bump to jxmlease==1.0.3
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
69b890c0f6 Bump to junos-eznc==2.6.7 and ncclient==0.6.13
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
a5a7e3b019 Bump to scp=0.14.5
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
5583d8a653 Bump to transitions==0.9.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
5877cd7a59 Bump to pyserial==3.5
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
c119d82495 Bump to netaddr==0.8.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
5b1031de0d Revert "Bump to jsonschema==4.17.3"
This reverts commit fa6661800dbed28cb8dfe1a25f698aeb65616b98.
2023-06-07 22:28:15 +01:00
Pedro Algarvio
d933a235aa Bump to jsonschema==4.17.3
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
8c268f47ce Bump to docker==6.1.2
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
a413f068c8 No need to include the linux dependencies in lint dependencies now.
Given we now properly constraint requirements files

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
c67dba3d30 Adjust tools/docs.py to work with the new docs requirements definition
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
180ece842c No need to include the base and zeromq dependencies in docs dependencies now.
Given we now properly constraint requirements files

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
bef7a6ab2e No need to include the linux dependencies in cloud dependencies now.
Given we now properly constraint requirements files

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
32ae15edb6 Bump to dnspython==2.3.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
243bf299d3 Bump to croniter==1.3.15
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
ae37cc1d6b Bump to clustershell==1.9.1
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
fc1b7b2005 Bump to cassandra-driver==3.27.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
8315107e91 Bump to boto3==1.26.143, botocore==1.29.143 and s3transfer==0.6.1
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
9aeea6bbbf Bump to typing-extensions==4.6.2
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
68e4d2e7c3 Bump to zipp==3.15.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
319730b7a7 Bump to portend==3.1.0 and tempora==5.2.2
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
0e63e023b9 Bump to idna==3.4
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
679651299a Upgrade all jaraco.* libraries
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
cb4a3e7ead Bump to more-itertools==9.1.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
679d5f83ea Bump to pytz==2023.3
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
374a084403 Bump to cheroot==10.0.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
723e7a66c7 More recent versions of immutables require typing_extensions
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
588cd703af Bump to immutables==0.19
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
1c0593b4d6 Bump to importlib-metadata==6.6.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
4b74e4612a Bump to timelib==0.3.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
a302fcc166 Bump to python-gnupg==0.5.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
017c230f90 Bump to python-dateutil==2.8.2
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
023a54beb5 Revert "Bump to pycryptodomex==3.18.0"
This reverts commit 2def14aefb804a0eb633d21626b5b1e1a4063edb.
2023-06-07 22:28:15 +01:00
Pedro Algarvio
44b3f7015a Bump to pycryptodomex==3.18.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
b763dfa21c Bump to pycparser==2.21
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
ef6d0e93b6 Bump to lxml==4.9.2
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
e8c536d1d8 Bump to gitdb==4.0.10
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
e1f962e0d8 Bump to gitpython==3.1.31
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
228232f570 Bump to cherrypy==18.8.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
defca6ba10 Remove ioloop>=0.1a0 from the windows requirements
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
6e26da3c9f Bump to cryptography==40.0.2
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
542f97bf16 Bump to pyopenssl==23.1.1
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
4e4ac4b177 Bump to pywin32==306
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
4574d8722d Bump to pyzmq==25.1.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
40f86e1898 Bump to looseversion==1.2.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
cbb617d478 Bump to packaging==23.1
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
9a04e5ba8f Bump to psutil==5.9.5
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
6bb2906634 Bump to distro==1.8.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
06504a4ec7 Fix lint issues after the pyyaml package upgrade
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
410e70bfda Bump to pyyaml==6.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
0a11311113 Bump to msgpack==1.0.5
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
dc3b1d615f Bump to cherrypy==18.8.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
5ad59794fc Bump to cffi==1.15.1
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
8b8c239ed7 Bump to certifi==2023.5.7
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Pedro Algarvio
b88f6f1800 Properly constrain CI requirements
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-07 22:28:15 +01:00
Megan Wilhite
a5bd72653f
Merge branch 'master' into add-keyvalue-create_if_missing 2023-06-06 19:32:01 +00:00
nicholasmhughes
9ffbd2103d fixes saltstack/salt#64418 configurable_test_state should be able to return False result in test mode 2023-06-06 19:12:31 +00:00
twangboy
ef40721949 Py3.8 updates 2023-06-06 18:48:58 +00:00
twangboy
faf1f267c6 Fix tests 2023-06-06 18:48:58 +00:00
twangboy
998dd6aa31 Don't use dunder modules in a salt util 2023-06-06 18:48:58 +00:00
twangboy
6aab93fcf2 Don't log powershell command 2023-06-06 18:48:58 +00:00
twangboy
499c8ea103 Add versionadded 2023-06-06 18:48:58 +00:00
Twangboy
4e7e6d8b3d Fix docs for appx.absent state module 2023-06-06 18:48:58 +00:00
Twangboy
6ce69654c7 Reformat docs to find sphinx error... I think I found it 2023-06-06 18:48:58 +00:00
Twangboy
b1ae2106c2 Try code-block bash 2023-06-06 18:48:58 +00:00
Twangboy
1bcaac0479 Replace tildes with dashes 2023-06-06 18:48:58 +00:00
Twangboy
f8c54ddcfe Change wording in docstring to fix literal start-string error 2023-06-06 18:48:58 +00:00
Twangboy
636eb42a4a Add appx to doctree 2023-06-06 18:48:58 +00:00
Twangboy
a0ee6df8bc Add missing doc stubs, use f-strings, add CLI examples 2023-06-06 18:48:58 +00:00
Twangboy
28de02a201 Fix pre-commit 2023-06-06 18:48:58 +00:00
Twangboy
78c8c11787 Add changelog 2023-06-06 18:48:58 +00:00
Twangboy
7c6d550123 Add tests 2023-06-06 18:48:58 +00:00
Twangboy
608f7acfa2 Add appx.absent state, remove duplicated code 2023-06-06 18:48:58 +00:00
Twangboy
d9b5ee5429 Rename to list_deprovisioned 2023-06-06 18:48:58 +00:00
Twangboy
bc1217c99d Add some documentation, add functions and states in dism modules 2023-06-06 18:48:58 +00:00
Twangboy
e7785cb886 Add ability to filter reprovision apps 2023-06-06 18:48:58 +00:00
Twangboy
634b405481 Add docs, filter deprovisioned 2023-06-06 18:48:58 +00:00
Twangboy
2fc5af765b Add ability to reprovision an app 2023-06-06 18:48:58 +00:00
Twangboy
3a50ab534b Add appx execution module 2023-06-06 18:48:58 +00:00
Pedro Algarvio
d3b82ebdcc Update supported versions in noxfile.py
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-06 11:13:17 +01:00
Pedro Algarvio
c84b2df3a9 Add drop Py3.7 support to release notes and changelog
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-06 11:13:17 +01:00
Megan Wilhite
398ebb961e
Merge branch 'master' into add-keyvalue-create_if_missing 2023-06-05 20:11:25 +00:00
Daniel Mach
8dfc923876 Fix utf8 handling in 'pass' renderer and make it more robust 2023-06-05 20:10:49 +00:00
Daniel Mach
098dae15cb Migrate string formatting in 'pass' renderer to a f-string 2023-06-05 20:10:49 +00:00
Megan Wilhite
f012ab6313 Remove changelog 2023-06-05 19:57:18 +00:00
piterpunk
4b8fea8607 Added changelog entry 2023-06-05 19:57:18 +00:00
Elias Probst
a89d53d89c auth: correct typos in docstrings 2023-06-05 19:57:18 +00:00
Augustas
5a10df14ed Update walkthrough_macosx.rst
precise64 image is non existing anymore on vagrantup servers. Also changed instructions with new approach to setup virtualbox image name while executing vagrant init command.
2023-06-05 19:56:55 +00:00
jeanluc
f5ce55dd47 Address review comments 2023-06-05 19:56:32 +00:00
jeanluc
c15f469b4f Rename changelog files to .md 2023-06-05 19:56:32 +00:00
jeanluc
cc27e2a19a Clarify that exact pillar matching is supported 2023-06-05 19:56:32 +00:00
jeanluc
278368b908 Correct peer communication docs 2023-06-05 19:56:32 +00:00
jeanluc
20ac30d1e5 Add tests for issue 52164 2023-06-05 19:56:32 +00:00
Pedro Algarvio
e18d829f36 Drop Python 3.7 support.
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-06-05 20:55:24 +01:00
nicholasmhughes
d988dfb5b2 fixes saltstack/salt#64420 'unable to unmount' failure should return False result 2023-06-05 19:53:52 +00:00
twangboy
41d9f33c3f Don't report failure on task manager installs 2023-06-02 19:44:58 +00:00
Megan Wilhite
d9a421d014
Merge pull request #64323 from natalieswork/remove-azure
[master] Remove azure
2023-06-01 12:58:06 +00:00
Daniel A. Wozniak
d50ba4de9b Update changelog entry 2023-05-31 15:59:57 -07:00
Daniel A. Wozniak
e8c016419b Fix netapi tests 2023-05-31 15:59:57 -07:00
Daniel A. Wozniak
5ac48c5161 test fixes 2023-05-31 15:59:57 -07:00
Daniel A. Wozniak
e521194579 make_current is deprecated, remove it 2023-05-31 15:59:57 -07:00
Daniel A. Wozniak
063bf2959e Do not conflict versoins for setup.py 2023-05-31 15:59:57 -07:00
Daniel A. Wozniak
3239877c78 Bump tornado to the newest version 6.3.2 2023-05-31 15:59:57 -07:00
faivirol
0ab0177629 update 2023-05-31 19:00:56 +00:00
faivirol
a0ca327de7 Clarify that it is execution modules that sync returners 2023-05-31 19:00:56 +00:00
Matthieu Boileau
a8591dd658 Update docstring for an outdated URL 2023-05-31 18:59:39 +00:00
Julian Dehm
8547e63306 lxd: include devices in container tests 2023-05-31 18:57:31 +00:00
Julian Dehm
ec3b208d76 [lxd]: fix container_create not creating devices other than of type disk 2023-05-31 18:57:31 +00:00
natalieswork
18cd662eb6
Merge branch 'master' into remove-azure 2023-05-31 11:02:44 -04:00
Pedro Algarvio
21bb7bdc9e
Merge pull request #64383 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-05-31 13:36:12 +01:00
Tanmoy037
2587905637 broken link removed 2023-05-30 18:59:24 +00:00
Pedro Algarvio
c10eb79954
Merge 3006.x into master
Conflicts:
* changelog/64226.fixed.md
* tests/pytests/unit/states/test_pip.py
2023-05-30 12:59:16 +01:00
Pedro Algarvio
8167cf84b8 Add @pytest.mark.flaky_jail to tests/pytests/integration/ssh/test_ssh_setup.py::test_setup
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-05-30 07:03:12 +01:00
Megan Wilhite
fe0083720e Update requests 2023-05-30 07:03:12 +01:00
Pedro Algarvio
264a52b88a Fix nightly builds on the master branch
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-05-29 23:48:04 +01:00
Nicholas Hughes
51119c26dd
Merge branch 'master' into remove-azure 2023-05-26 11:19:48 -04:00
Pedro Algarvio
bb88243ff9 Only notify on nightly builds
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-05-26 07:22:42 +01:00
Felippe Burk
3cec258fcc adding new slack notification on nightly workflow
Signed-off-by: Felippe Burk <burkf@vmware.com>
2023-05-26 07:22:42 +01:00
Natalie Lee
3f15094038 Merge branch 'remove-azure' of github.com:natalieswork/salt into remove-azure 2023-05-25 18:54:14 +00:00
Natalie Lee
f4112d94fb rewording release note 2023-05-25 18:46:57 +00:00
Nicholas Hughes
03a4ed63b8
Merge branch 'master' into remove-azure 2023-05-25 12:32:33 -04:00
Natalie Lee
bb5f719e44 release note on azure extension 2023-05-25 15:26:03 +00:00
Natalie Lee
235cd93326 removing added pylint exception for unpacking-non-sequence pylint rule 2023-05-25 14:53:45 +00:00
Daniel A. Wozniak
23582dce20 The linter is not always right 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
356120f91a Revert unwanted changes dependent on other PRs 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
5ad05c61cf Fix up based on PR reviews 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
1f145c0f6e Do not fail when cleaning up loop file handlers 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
117cd6861d Add changelog for tornado upgrade 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
2e1097eac6 Fix cruft caught in review 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
4baea1a97b Remove vendored tornado 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
e87bc38389 Try without the loop policy 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
9dcbea0d4b Windows fix 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
486802f6dd Fix more deltaproxy tests 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
ca241b75d4 Add back reporting of failed sub-proxies 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
094c2c16d8 Fix some windows tests 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
a2bebacc07 Remove cruft 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
4672a4dcdd Work around for amazon linux 2 test dependency failure 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
b69152f31b Docstring fixes 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
6a5e032214 Deltaproxy test fix 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
ade9da2703 Fix up pre-commit and lint 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
680301504f Fix multimaster test 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
7727a43cc2 We're still generating 3006 changelogs for some reason 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
e237d5525e Fix test on windows 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
c86993794f Release 3006 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
f3bee7f70f Remove un-needed file 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
38d1df3b46 Saltnado test fixes 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
574e6cd2c2 Add tornado to docs check pre-commit 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
d1f514ad76 More test fixes 2023-05-23 14:41:30 -07:00
Jenkins
97a77adc32 Swap for new ioloop for now 2023-05-23 14:41:30 -07:00
Jenkins
5c8550de75 Unit test fixes 2023-05-23 14:41:30 -07:00
Jenkins
4c4d017ddb Test fix 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
1b28ce55a6 Fix docs 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
0c3ebc0795 New request context 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
166c07f6da Get rid of RequestContext 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
a560f7c0f3 web.asynchronous should be replaced by gen.coroutine 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
5edd2259d8 Remove stack_context 2023-05-23 14:41:30 -07:00
Daniel A. Wozniak
79f240c2e9 Tornado 6.1 2023-05-23 14:41:30 -07:00
nicholasmhughes
41fe2c2b39
disable unpacking-non-sequence pylint rule 2023-05-23 15:10:39 -04:00
nicholasmhughes
bf40680835
disable unpacking-non-sequence pylint rule 2023-05-23 13:25:21 -04:00
Nicholas Hughes
a34d42b276
Merge branch 'master' into remove-azure 2023-05-23 11:04:16 -04:00
nicholasmhughes
5bb33125b8
update reqs... again... again 2023-05-23 11:03:38 -04:00
nicholasmhughes
fd88928562
update reqs... again 2023-05-23 09:56:49 -04:00
Pedro Algarvio
6d918e15a3 Drop Fedora 36 which has reached EOL
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-05-23 12:49:19 +01:00
Pedro Algarvio
80ff2f662d Skip tests/unit/{modules,states}/test_zcbuildout.py on windows.
It needs special work on the golden images to get SSL to properly work.
These steps are required because the code being tested is using
`easy_install` which does not know how to get certificates from `certifi`.
Since `easy_install` is too old, and deprecated, the extra work is not
worth it, plus, they are still being tested on other platforms.

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-05-23 12:49:19 +01:00
Pedro Algarvio
f3edefc93a Update to latest golden images
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-05-23 12:49:19 +01:00
Pedro Algarvio
a81f58f37d Define a variable for the path to shared-gh-workflows-context.yml
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-05-22 19:53:17 -07:00
Pedro Algarvio
d933bec989 Try harder to detect what is the target release for changelog generation.
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-05-22 19:53:17 -07:00
natalieswork
7247f37e0f fixes saltstack/salt#64322 adding change log 2023-05-22 16:50:28 -04:00
nicholasmhughes
e2d55c5322
update reqs 2023-05-22 16:45:26 -04:00
natalieswork
bd10d94449 removing references to Azure from existing files 2023-05-22 16:07:26 -04:00
Pedro Algarvio
eb71862449 Sometimes the first page does not have any results. Try next page if there's a next token.
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-05-22 19:56:16 +00:00
Daniel A. Wozniak
9dffea3178 Check return code instead of stdout 2023-05-22 19:56:16 +00:00
Daniel A. Wozniak
cb396fe805 Ubuntu pkg tests run apt non-interactive mode.
Issue #64307
2023-05-22 19:56:16 +00:00
ScriptAutomate
bd57d085ad Update banners and links 2023-05-22 19:56:16 +00:00
Eric Graham
83cadc12f5 Add New Line to Changelog 2023-05-22 19:56:16 +00:00
Eric Graham
724fc20824 Run Black Pre-Commit Step 2023-05-22 19:56:16 +00:00
Eric Graham
926270054d Remove Silent Catch 2023-05-22 19:56:16 +00:00
Eric Graham
db1406a85f Fix Changelog Typo 2023-05-22 19:56:16 +00:00
Eric Graham
a467c04d04 Clarify Failing Test Message; Search for Entire Log Line in caplog 2023-05-22 19:56:16 +00:00
Eric Graham
071a65fb10 Rename Global Logger log to logger in pip_state.py 2023-05-22 19:56:16 +00:00
Eric Graham
3c552ecb90 Add unit test for #64169 2023-05-22 19:56:16 +00:00
Eric Graham
aeaf55815a Call global logger when catching pip.list exceptions in states.pip.installed 2023-05-22 19:56:16 +00:00
jeanluc
57608c0067 Fix x509_v2 unknown salt-internal kwargs 2023-05-22 19:56:16 +00:00
jeanluc
6503765b3f Add test for issue 64232 2023-05-22 19:56:16 +00:00
Frode Gundersen
b91f363951 Update tests/pytests/unit/states/test_linux_acl.py
Co-authored-by: Pedro Algarvio <pedro@algarvio.me>
2023-05-22 19:56:16 +00:00
Frode Gundersen
33e2538aa8 migrate unit_states_test_linux_acl to pytest 2023-05-22 19:56:16 +00:00
MKLeb
4896c90684 Address review comments (typos, docs) 2023-05-22 19:56:16 +00:00
MKLeb
75a93eefc3 Refactor the tools pkg repo commands into a subdirectory 2023-05-22 19:56:16 +00:00
Pedro Algarvio
b713c3441b Pass the LATEST_SALT_RELEASE environment variables through to the VM
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-05-22 19:56:16 +00:00
Tanmoy037
82ba2a5da8 remove the header comment about masterless 2023-05-22 19:50:48 +00:00
natalieswork
df28d77fbc adding .env to git ignore 2023-05-22 14:23:44 -04:00
natalieswork
15849a5911 removing azure code from repo 2023-05-22 14:21:25 -04:00
Alex Dehnert
b897734f4a Add warning about effective rights mask
Group permission on the file should generally be at least as broad as
any file ACLs, to avoid ineffective ACLs and/or changes each time the
state is run.
2023-05-18 19:20:25 +00:00
Megan Wilhite
b2090e26bd
Merge branch 'master' into add-keyvalue-create_if_missing 2023-05-17 19:42:17 +00:00
pjcreath
7fc547faff Move the mac_user._kcpassword unit test into the pytests directory.
Also fix a typo in the pytests README.
2023-05-15 20:46:34 +00:00
pjcreath
64def39282 Add changelog. 2023-05-15 20:46:34 +00:00
pjcreath
402aa367ed Fix the password hashing function of mac_user.enable_auto_login
Fixes #64226
2023-05-15 20:46:34 +00:00
jeanluc
6867accbc4 Update versionadded 2023-05-15 20:45:48 +00:00
jeanluc
7ca76a8bea Rename changelog files to .md 2023-05-15 20:45:48 +00:00
jeanluc
fceb58d543 Fix tests, return res dict 2023-05-15 20:45:48 +00:00
jeanluc
c76fdd638a Reduce versionadded
in case it makes its way into 3006
2023-05-15 20:45:48 +00:00
jeanluc
b622d96a62 Return minion_id on success
This makes checking the response downstream more reliable.
2023-05-15 20:45:48 +00:00
jeanluc
0873ece26c Add match runner 2023-05-15 20:45:48 +00:00
Nicholas Hughes
40ce1d1580
Merge branch 'master' into add-keyvalue-create_if_missing 2023-05-11 15:42:54 -04:00
nicholasmhughes
780d348bbc
remove explicit close 2023-05-11 15:39:35 -04:00
Marius Hoch
0cb3dc87e7 Fix two typos in the salt.state.cryptdev examples 2023-05-09 20:06:28 +00:00
hiteshbedre
f68e9616b9 corrected misleading comment 2023-05-09 20:05:23 +00:00
jeanluc
4d617dd44a
Add signed_by_[any|all] parameters to gpg.verify (#63168)
* Add test for issue 63145

* Make gpg.verify respect gnupghome

* Add `signed_by_any`/`signed_by_all` params to gpg.verify

* Reconsider status check

* Fix tests

* Plug verification issue after status check reconsideration

Since missing pubkeys also cause the previous signature's
fingerprint to be overwritten, this would have led to
situations where the check could have passed when it
should not have.

* Cleanup logic

* Workaround python-gnupg issue

https://github.com/vsajip/python-gnupg/issues/214

* Adapt offical fix for workaround

ee94a7ecc1
That was very fast.

* Backport more meaningful test

* Update versionadded

* Avoid exception on import w/ missing gnupg lib

* Do not apply workaround on fixed versions

* Correct bool comparison

* Account for subkeys

sig_info["fingerprint"] contains the actual signing key's fingerprint,
which might be a subkey. The primary key's fingerprint is always found in
sig_info["pubkey_fingerprint"]. In cases where a signing subkey was
used, the intended behavior is still comparison with the primary key.

* Bump versionadded

* Rename changelog files to .md
2023-05-09 13:24:48 -06:00
Pedro Algarvio
6b1a49e341 Pull requests targeting master should also trigger the logic.
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-05-09 19:09:37 +00:00
Pedro Algarvio
bf964ccd25 Create the release notes template(if missing)
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-05-09 19:09:37 +00:00
Pedro Algarvio
0b0c29e79c The master branch is now for 3007(Chlorine) development
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-05-09 19:09:37 +00:00
Pedro Algarvio
4d2787c6af
Merge pull request #64247 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-05-08 17:44:45 +01:00
Pedro Algarvio
dfa273bc5e
Merge 3006.x into master 2023-05-06 08:37:41 +01:00
Shane Lee
b2e91cccba
Merge pull request #64245 from twangboy/fix_update_winrepo
[master] Update create-pull-request action to v5
2023-05-05 16:44:46 -06:00
Twangboy
e2d4a223cc
Update create-pull-request action to v5 2023-05-05 16:44:28 -06:00
Shane Lee
a02127f7db
Merge pull request #64244 from twangboy/fix_update_winrepo
[master] Fix update winrepo
2023-05-05 15:24:39 -06:00
Twangboy
0e89ac8050
Update python script to use load_yaml 2023-05-05 15:20:41 -06:00
Twangboy
5b69f6e5ed
Fix repo url 2023-05-05 15:18:04 -06:00
Dominik Gedon
5300cc451c docs: small fixes for transactional update
This will fix some spellings and layout issues.

Signed-off-by: Dominik Gedon <dominik.gedon@suse.com>
2023-05-05 12:52:03 -07:00
Charles McMarrow
894c26780d
[master] dec doc m (#64101)
* master port

* add space

* Update CONTRIBUTING.rst

* Update writing_tests.rst
2023-05-03 14:31:45 -07:00
Pedro Algarvio
5a7854908f Formatting fix
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-05-03 14:30:45 -07:00
Clay Sweetser
e8e033a8f7 Update py renderer documentation with information on user-provided context
Update the `py` renderer's documentation to include information on how user-provided context data is typically presented.
2023-05-03 14:30:45 -07:00
Shea Craig
4fc4450bf0
[master] Fix issue 63779: Handle xattr.read unicode errors by mimicking builtin xattr (#64039)
* Handle xattr.read unicode errors by mimicking builtin xattr.

Uses `bytes.decode` argument `errors="replace"`

* Add changelog

* Add newline

* Add test for xattr.read and non-UTF-8 bytes.

* Fix line break
2023-05-02 18:32:51 -07:00
Twangboy
afcd6a8114 Fix test description 2023-05-02 07:14:09 +01:00
Twangboy
962f708c92 Write some tests 2023-05-02 07:14:09 +01:00
nicholasmhughes
8f0f4f1d3b fixes saltstack/salt#64122 state_queue type checking does not allow int values 2023-05-02 07:14:09 +01:00
cmcmarrow
9a6ab55c3b remove dead line 2023-05-01 08:37:17 +01:00
Pedro Algarvio
5be5cf890e
Merge pull request #64155 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-04-29 11:10:47 +01:00
Pedro Algarvio
c33b56281b
Merge 3006.x into master
Conflicts:
* doc/ref/configuration/minion.rst
2023-04-28 10:20:04 +01:00
Salt Project Packaging
cab551c697 Update the bootstrap script to v2023.04.26 2023-04-27 21:41:58 +01:00
nicholasmhughes
98ecf8d45c fixes saltstack/salt#64150 cmd.run doesn't output changes in test mode 2023-04-27 09:20:59 +01:00
Pedro Algarvio
99cb7c0e08 Add backports support
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-04-26 19:25:17 +01:00
joshmcorreia
639ba5613e Fix incorrect reactor target
The documentation has an incorrect reactor target

The current documentation will cause the following error
```
jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'data'
```
2023-04-25 11:55:45 +01:00
Pedro Algarvio
ad68e6b99d
Merge pull request #63712 from Airtonomy/fix-typo
[DOCS] Fix a small typo in `CONTRIBUTING.rst`.
2023-04-24 19:25:16 +01:00
Pedro Algarvio
14d62ec971
Merge pull request #63723 from joshmcorreia/patch-2
[DOCS] Fix typo "occurence" -> "occurrence" in ps module
2023-04-24 19:24:01 +01:00
Pedro Algarvio
2f6064de88
Merge pull request #63818 from OrangeDog/patch-12
Change saltenv description
2023-04-24 19:22:13 +01:00
Pedro Algarvio
5e177c0d90
Merge pull request #64127 from cmcmarrow/merge-forward/3006.x/master
[master] Merge forward/3006.x/master
2023-04-21 11:27:24 +01:00
cmcmarrow
13437829fc Merge remote-tracking branch 'upstream/3006.x' into merge-forward/3006.x/master 2023-04-20 17:39:55 -05:00
Nicholas Hughes
d9e8dfa6b4
Merge branch 'master' into add-keyvalue-create_if_missing 2023-04-12 16:06:59 -04:00
Pedro Algarvio
da6403b722 Match Py3.11 requirements to Py3.10 requirements.
When we upgrade requirements, we upgrade on all possible Python
versions.

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-04-12 06:47:29 +01:00
Daniel A. Wozniak
3caa552c64 Add python 3.11 to pkg and ci requirements 2023-04-12 06:47:29 +01:00
Nicholas Hughes
125275ffbf
Merge branch 'master' into add-keyvalue-create_if_missing 2023-04-06 06:01:00 -04:00
Derek Schaller
2bd55266c8 fix lint 2023-04-05 20:05:20 +00:00
Derek Schaller
7bafef9047 add changelog 2023-04-05 20:05:20 +00:00
Derek Schaller
2618bbb5c0 fix unit test and lint 2023-04-05 20:05:20 +00:00
Derek Schaller
fbac15ee92 use shutils / tests 2023-04-05 20:05:20 +00:00
Derek
9d5b65435b macpackage state: cleanup temporary mountpoint dir 2023-04-05 20:05:20 +00:00
Julian Dehm
a17239e607 lxd: remove outdated monkey patch 2023-04-05 19:19:33 +00:00
nicholasmhughes
4730bea00b fixes saltstack/salt#63982 aptpkg.latest_version calls apt-cache too much 2023-04-05 19:15:46 +00:00
nicholasmhughes
e4ba3fd7d2 add pkg.latest show installable version in test mode 2023-04-05 19:12:31 +00:00
nicholasmhughes
b93e9a9e2d fixes saltstack/salt#63985 add pkg.installed show installable version in test mode 2023-04-05 19:12:31 +00:00
nicholasmhughes
9955845052
fixes saltstack/salt#63545 file.keyvalue should allow creating a file if it doesn't exist 2023-04-05 12:18:47 -04:00
Pedro Algarvio
eaeccf72c6
Merge pull request #64013 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-04-03 07:29:17 +01:00
Pedro Algarvio
7160266006
Merge 3006.x into master 2023-04-01 09:41:41 +01:00
Pedro Algarvio
70d6164770
Merge pull request #64002 from s0undt3ch/hotfix/merge-forward
[master] Merge 3006.x into master
2023-04-01 09:40:18 +01:00
Pedro Algarvio
4e8b725794
Merge 3006.x into master 2023-03-30 14:29:37 +01:00
Gareth J. Greenaway
8a1e4c120f Ensure kwargs is passed along to _call_apt when passed into install function. 2023-03-28 05:06:43 +01:00
Pedro Algarvio
41a39417f8 Remaining test fixes regarding the recent GitHub RSA key change
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-28 05:06:43 +01:00
Daniel A. Wozniak
371a9243c0 Add missing deb package dependencies to docs 2023-03-28 05:06:43 +01:00
Gareth J. Greenaway
8462f04bff Updating keys in known hosts file. 2023-03-28 05:06:43 +01:00
Gareth J. Greenaway
017add2474 Updating the github.com fingerprint. 2023-03-28 05:06:43 +01:00
Gareth J. Greenaway
5f62373cf9 Change default GPG keyserver from pgp.mit.edu to keys.openpgp.org. 2023-03-28 05:06:43 +01:00
Gareth J. Greenaway
e88b4f7d90 grammar fixes. 2023-03-28 05:06:43 +01:00
Gareth J. Greenaway
25ad71e934 Fixing typo. 2023-03-28 05:06:43 +01:00
Gareth J. Greenaway
e195723514 Clarifying the documentation for extension_modules configuration option 2023-03-28 05:06:43 +01:00
Pedro Algarvio
26fe276a4d Upgrade to relenv==0.10.0
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-28 05:06:43 +01:00
Thomas Phipps
14a0709271 fix 63724 2023-03-28 05:06:43 +01:00
Frode Gundersen
8da111674a migrate test_swift to pytest 2023-03-28 05:06:43 +01:00
Frode Gundersen
f829deaf63 migrate test_haproxyconn to pytest 2023-03-28 05:06:43 +01:00
Frode Gundersen
3306e291a4 migrate test_config to pytest 2023-03-28 05:06:43 +01:00
Gareth J. Greenaway
0d249eed9a adding changelog. 2023-03-28 05:06:43 +01:00
Gareth J. Greenaway
464ff358d6 Handle the situation when a sub proxy minion does not init properly, eg. an exception happens, and the sub proxy object is not available. 2023-03-28 05:06:43 +01:00
Pedro Algarvio
55b7c000e5 Stop re-running workflows using GitHub Actions.
The GitHub Actions Runners backend takes care of that.

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-27 12:43:35 +01:00
joshmcorreia
5b152e5979 Fix typo "occurence" -> "occurrence" 2023-03-24 10:09:14 -07:00
Gareth J. Greenaway
0b73c80085
Merge pull request #63930 from s0undt3ch/hotfix/merge-forward
Merge 3006.x into master
2023-03-22 18:54:09 -07:00
Pedro Algarvio
d86d7338d8
Merge 3006.x into master 2023-03-22 15:09:39 +00:00
Pedro Algarvio
b6b6ccde7b
Merge pull request #63908 from s0undt3ch/hotfix/merge-forward
Merge 3006.x into master
2023-03-19 23:57:36 +00:00
Pedro Algarvio
73c1289490
Merge 3006.x into master 2023-03-19 18:39:26 +00:00
Pedro Algarvio
778d4f4633
Don't trigger scheduled jobs if requirements were not met
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-19 18:34:54 +00:00
Pedro Algarvio
8ac339f2be
For release it's an argument, not a flag
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-19 18:34:53 +00:00
Pedro Algarvio
3fe729c471
Query the GH Api authenticated if GITHUB_TOKEN env variable is available
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-19 18:34:53 +00:00
Pedro Algarvio
c9c1e2414e
Don't delete the .release-backup-done file
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-19 18:34:53 +00:00
Pedro Algarvio
3133b46807
Promote from staging to release based on a list of files instead of searching
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-19 18:34:53 +00:00
Pedro Algarvio
ff921f9b31
We no longer have to pass --rc-build
That can be inferred from the passed salt version.

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-19 18:20:19 +00:00
Pedro Algarvio
56ac61af0d
Better handling of exception
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-19 18:20:19 +00:00
Pedro Algarvio
abc5d290e0
Merge pull request #63865 from s0undt3ch/hotfix/merge-forward
Merge 3006.x into master
2023-03-18 07:10:48 +00:00
Pedro Algarvio
57926865d6
Merge 3006.x into master 2023-03-17 12:43:48 +00:00
Alex Dehnert
585603c50e Fix wayward uses of "RPM" in dpkg module
It looks like this function was added in commit 52ef17fa99 based on
(then) `salt/modules/rpm.py`, and the documentation was never fully
updated to reflect that it was now for .deb's, not RPMs.
2023-03-15 13:16:02 -06:00
Twangboy
e6d2e1390c Use registry to detect VC Redist installation 2023-03-15 07:32:42 -06:00
Gareth J. Greenaway
3979168773 renaming 63699.fixed to 63699.fixed.md 2023-03-15 07:30:53 -06:00
Gareth J. Greenaway
3fcb1e225e fix broken tests. 2023-03-15 07:30:53 -06:00
Gareth J. Greenaway
171a9e33d5 When removing hidden times and returning the data, make sure we're not updating the running schedule. 2023-03-15 07:30:53 -06:00
Gareth J. Greenaway
e34e2a8ea7 Check if _next_fire_tiem is less than or equal to now, eg. the time is now or has passed. 2023-03-15 07:30:53 -06:00
Gareth J. Greenaway
e786d60d78 Adding changelog. 2023-03-15 07:30:53 -06:00
Gareth J. Greenaway
cf441d46a9 When a job is disabled only increase it's _next_fire_time value if the job would have run at the current time, eg. the current _next_fire_time == now. 2023-03-15 07:30:53 -06:00
Dafydd Jones
c475db0b6f add changelog 2023-03-15 07:30:15 -06:00
Dafydd Jones
6fe80c9ee6 feat(win_pkg): add debug logging for win_pkg.remove 2023-03-15 07:30:15 -06:00
Dafydd Jones
0d2b934823 test: debug logging for win_pkg.remove 2023-03-15 07:30:15 -06:00
Gareth J. Greenaway
7ecaca5c9b Fixing inotify example in the beacons documentation. 2023-03-14 07:22:30 +00:00
Gareth J. Greenaway
98b151afc5
Merge pull request #63842 from MKLeb/hotfix/salt-run-in-spec-file
Update ssl shared object locations
2023-03-13 07:04:50 -07:00
Gareth J. Greenaway
b0eb60fe66
Merge pull request #63859 from Ch3LL/master_update_pkg_docs
Port #63832 to master
2023-03-10 10:49:06 -08:00
Gareth J. Greenaway
30570ad2bd
Merge pull request #63858 from Ch3LL/master_fix-rpm-ver
Port #63849 to master
2023-03-10 09:10:53 -08:00
Megan Wilhite
f49a88153b
Remove # in bash commands 2023-03-10 09:39:54 -07:00
Pedro Algarvio
3db7d31358
Only de-select build-source-tarball if build-docs is also False
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-10 09:39:48 -07:00
Megan Wilhite
b4ddd2624b
Implement Review Feedback 2023-03-10 09:39:39 -07:00
Megan Wilhite
903c1b4bf4
Implement requested feedback 2023-03-10 09:39:34 -07:00
Megan Wilhite
dafba12af6
Add documentation for onedir builds 2023-03-10 09:39:24 -07:00
Gareth J. Greenaway
365aa667e8
Merge pull request #63851 from whytewolf/salt-api_errors_master
porting #63836 to master
2023-03-10 08:36:03 -08:00
Megan Wilhite
ebfdf66845
Move the expected assertions to the correct place 2023-03-10 07:05:30 -07:00
Megan Wilhite
4f5435b589
Fix rpm_lowpkg version comparison logic when using rpm-vercmp 2023-03-10 07:05:22 -07:00
Twangboy
ec8ab6d688 Timestamp files to match git commit 2023-03-10 06:07:06 +00:00
Thomas Phipps
a34899f885 porting #63836 to master 2023-03-09 20:41:56 +00:00
Caleb Beard
2fbb30b668
Merge branch 'master' into hotfix/salt-run-in-spec-file 2023-03-09 12:33:27 -05:00
Twangboy
1d6379a759 Add back ssm.exe. It is needed for VMtools 2023-03-09 06:15:16 +00:00
Daniel A. Wozniak
6b9463836e Remove un-needed 'scripts' property in setup.py 2023-03-09 06:12:41 +00:00
Pedro Algarvio
cbbcebd78f Use requests to download files
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-09 06:09:50 +00:00
Pedro Algarvio
bd7bdd2eb9 Fix the bash comparisson
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-09 06:09:50 +00:00
Pedro Algarvio
98a56353dd Remove nox sessions and requirements files which are no longer necessary
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-09 06:09:50 +00:00
Pedro Algarvio
f158710818 Switch to using our onedir to run the package tests
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-09 06:09:50 +00:00
Pedro Algarvio
fe440b5d49 Try to get the VM environment from the instance tags
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-09 06:09:50 +00:00
Pedro Algarvio
2e3b27e775 Allow jobs on forks which have self hosted runners setup.
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-09 06:09:50 +00:00
Pedro Algarvio
d64b74ff91 Default to not running scheduled builds on forks.
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-09 06:09:50 +00:00
Pedro Algarvio
01a465fa88 Trigger schedule(nightly) builds on non default branches
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-09 06:09:50 +00:00
MKLeb
a3293afcca
Add check for leftover old file locations when installing the packages 2023-03-08 17:16:45 -05:00
MKLeb
b644e2d25b
Update ssl shared object locations 2023-03-08 14:13:16 -05:00
Pedro Algarvio
2dbdea9065 Stop running tests on Jenkins, with the exception of the cloud tests
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-07 13:25:52 -07:00
Pedro Algarvio
4557dd0157 Drop Python 3.6 requirements files
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-07 13:25:52 -07:00
James Howe
52e795a0f5 Change saltenv description
I don't know what it's trying to say about "isolation" and it confuses a lot of people.
2023-03-06 13:06:05 +00:00
Pedro Algarvio
7cf39d8992 Fix dictionary key typo
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-03-06 13:05:40 +00:00
Timothy Warren
f34f21c517 Fix typo 2023-02-10 13:48:56 -05:00
Jamie Bliss
43f4eeb4ee
Merge branch '2018.3' into patch-3 2019-06-28 15:37:30 -04:00
Jamie Bliss
4bed6e90c7
Merge remote-tracking branch 'origin/2018.3' into patch-3 2019-06-26 16:24:57 -04:00
Jamie Bliss
f68568d6c3
Use @mchugh19's suggestion 2019-06-26 16:24:01 -04:00
Jamie Bliss
b5cec62be3
Rephrase and restructure better. 2019-06-01 20:44:43 -04:00
Jamie Bliss
8cbe82e039
Modular Systems: Document saltenvs and modules 2019-06-01 20:25:27 -04:00
4364 changed files with 110970 additions and 642335 deletions

53
.github/CODEOWNERS vendored
View file

@ -9,55 +9,4 @@
# This file uses an fnmatch-style matching pattern.
# Team Core
* @saltstack/team-core
# Team Boto
salt/*/*boto* @saltstack/team-core
# Team Cloud
salt/cloud/* @saltstack/team-core
salt/utils/openstack/* @saltstack/team-core
salt/utils/aws.py @saltstack/team-core
salt/*/*cloud* @saltstack/team-core
# Team NetAPI
salt/cli/api.py @saltstack/team-core
salt/client/netapi.py @saltstack/team-core
salt/netapi/* @saltstack/team-core
# Team Network
salt/proxy/* @saltstack/team-core
# Team SPM
salt/cli/spm.py @saltstack/team-core
salt/spm/* @saltstack/team-core
# Team SSH
salt/cli/ssh.py @saltstack/team-core
salt/client/ssh/* @saltstack/team-core
salt/roster/* @saltstack/team-core
salt/runners/ssh.py @saltstack/team-core
salt/*/thin.py @saltstack/team-core
# Team State
salt/state.py @saltstack/team-core
# Team SUSE
salt/*/*btrfs* @saltstack/team-core
salt/*/*kubernetes* @saltstack/team-core
salt/*/*pkg* @saltstack/team-core
salt/*/*snapper* @saltstack/team-core
salt/*/*xfs* @saltstack/team-core
salt/*/*zypper* @saltstack/team-core
# Team Transport
salt/transport/* @saltstack/team-core
salt/utils/zeromq.py @saltstack/team-core
# Team Windows
salt/*/*win* @saltstack/team-core
salt/modules/reg.py @saltstack/team-core
salt/states/reg.py @saltstack/team-core
tests/*/*win* @saltstack/team-core
tests/*/test_reg.py @saltstack/team-core
tests/pytests/* @saltstack/team-core @s0undt3ch
* @saltstack/salt-core-maintainers

View file

@ -1,11 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: Salt Community Slack
url: https://saltstackcommunity.slack.com/
- name: Salt Community Discord
url: https://discord.com/invite/J7b7EscrAs
about: Please ask and answer questions here.
- name: Salt-Users Forum
url: https://groups.google.com/forum/#!forum/salt-users
about: Please ask and answer questions here.
- name: Salt on LiberaChat
url: https://web.libera.chat/#salt
about: Please ask and answer questions here.

View file

@ -8,7 +8,7 @@ assignees: ''
---
### Description of the tech debt to be addressed, include links and screenshots
<!-- Note: Please direct questions to the salt-users google group, IRC or Community Slack. -->
<!-- Note: Please direct questions to the salt-users google group, GitHub Discussions or Community Discord. -->
### Versions Report
(Provided by running `salt --versions-report`. Please also mention any differences in master/minion versions.)

View file

@ -1,7 +1,7 @@
### What does this PR do?
### What issues does this PR fix or reference?
Fixes:
Fixes
### Previous Behavior
Remove this section if not relevant
@ -11,7 +11,9 @@ Remove this section if not relevant
### Merge requirements satisfied?
**[NOTICE] Bug fixes or features added to Salt require tests.**
<!-- Please review the [test documentation](https://docs.saltproject.io/en/master/topics/tutorials/writing_tests.html) for details on how to implement tests into Salt's test suite. -->
<!-- Please review the test documentation for details on how to implement tests
into Salt's test suite:
https://docs.saltproject.io/en/master/topics/tutorials/writing_tests.html -->
- [ ] Docs
- [ ] Changelog - https://docs.saltproject.io/en/master/topics/development/changelog.html
- [ ] Tests written/updated
@ -19,6 +21,13 @@ Remove this section if not relevant
### Commits signed with GPG?
Yes/No
Please review [Salt's Contributing Guide](https://docs.saltproject.io/en/master/topics/development/contributing.html) for best practices.
<!-- Please review Salt's Contributing Guide for best practices and guidance in
choosing the right branch:
https://docs.saltproject.io/en/master/topics/development/contributing.html -->
See GitHub's [page on GPG signing](https://help.github.com/articles/signing-commits-using-gpg/) for more information about signing commits with GPG.
<!-- Additional guidance for pull requests can be found here:
https://docs.saltproject.io/en/master/topics/development/pull_requests.html -->
<!-- See GitHub's page on GPG signing for more information about signing commits
with GPG:
https://help.github.com/articles/signing-commits-using-gpg/ -->

View file

@ -1,14 +1,5 @@
self-hosted-runner:
# Labels of self-hosted runner in array of string
labels:
- bastion
- x86_64
- arm64
- aarch64
- amd64
- repo-nightly
- repo-staging
- repo-release
- medium
- large
- macos-13-xlarge
- linux-x86_64
- linux-arm64

View file

@ -1,45 +1,33 @@
---
name: build-onedir-deps
description: Build Onedir Dependencies
inputs:
platform:
required: true
type: string
description: The platform to build
arch:
required: true
type: string
description: The platform arch to build
python-version:
required: true
type: string
description: The python version to build
package-name:
required: false
type: string
description: The onedir package name to create
default: salt
cache-prefix:
required: true
type: string
description: Seed used to invalidate caches
env:
COLUMNS: 190
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
RELENV_BUILDENV: 1
runs:
using: composite
steps:
- name: Cache Deps Onedir Package Directory
id: onedir-pkg-cache
uses: actions/cache@v3.3.1
uses: ./.github/actions/cache
with:
path: artifacts/${{ inputs.package-name }}
key: >
@ -56,6 +44,8 @@ runs:
- name: Install Salt Onedir Package Dependencies
shell: bash
if: steps.onedir-pkg-cache.outputs.cache-hit != 'true'
env:
RELENV_BUILDENV: "1"
run: |
tools pkg build onedir-dependencies --arch ${{ inputs.arch }} --python-version ${{ inputs.python-version }} --package-name artifacts/${{ inputs.package-name }} --platform ${{ inputs.platform }}

View file

@ -1,61 +1,41 @@
---
name: build-onedir-salt
description: Build Onedir Package
inputs:
platform:
required: true
type: string
description: The platform to build
arch:
required: true
type: string
description: The platform arch to build
package-name:
required: false
type: string
description: The onedir package name to create
default: salt
cache-prefix:
required: true
type: string
description: Seed used to invalidate caches
python-version:
required: true
type: string
description: The python version to build
salt-version:
type: string
required: true
description: The Salt version to set prior to building packages.
env:
COLUMNS: 190
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
RELENV_BUILDENV: 1
runs:
using: composite
steps:
- name: Download Cached Deps Onedir Package Directory
id: onedir-bare-cache
uses: actions/cache@v3.3.1
- name: Install Salt Packaging Dependencies into Relenv Onedir
uses: ./.github/actions/build-onedir-deps
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',
'.github/workflows/build-deps-onedir-*.yml',
'cicd/shared-gh-workflows-context.yml'
)
}}
platform: ${{ inputs.platform }}
arch: ${{ inputs.arch }}
python-version: "${{ inputs.python-version }}"
cache-prefix: ${{ inputs.cache-seed }}|relenv|${{ inputs.salt-version }}
- name: Download Source Tarball
uses: actions/download-artifact@v4
@ -64,6 +44,8 @@ runs:
- name: Install Salt Into Onedir
shell: bash
env:
RELENV_BUILDENV: "1"
run: |
tools pkg build salt-onedir salt-${{ inputs.salt-version }}.tar.gz --platform ${{ inputs.platform }} --package-name artifacts/${{ inputs.package-name }}

View file

@ -1,24 +1,17 @@
---
name: build-source-tarball
description: Build Source Tarball
inputs:
salt-version:
type: string
required: true
description: The Salt version to set prior to building the tarball.
nox-version:
required: false
type: string
description: The version of Nox to install
default: "2022.8.7"
env:
COLUMNS: 190
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
runs:
using: composite

105
.github/actions/cache/action.yml vendored Normal file
View file

@ -0,0 +1,105 @@
---
name: cache
description: GitHub Actions Cache
inputs:
path:
description: 'A list of files, directories, and wildcard patterns to cache and restore'
required: true
key:
description: 'An explicit key for restoring and saving the cache'
required: true
restore-keys:
description: 'An ordered list of keys to use for restoring stale cache if no cache hit occurred for key. Note `cache-hit` returns false in this case.'
required: false
upload-chunk-size:
description: 'The chunk size used to split up large files during upload, in bytes'
required: false
enableCrossOsArchive:
description: 'An optional boolean when enabled, allows windows runners to save or restore caches that can be restored or saved respectively on other platforms'
default: 'false'
required: false
fail-on-cache-miss:
description: 'Fail the workflow if cache entry is not found'
default: 'false'
required: false
lookup-only:
description: 'Check if a cache entry exists for the given input(s) (key, restore-keys) without downloading the cache'
default: 'false'
required: false
outputs:
cache-hit:
description: 'A boolean value to indicate an exact match was found for the primary key'
value: ${{ steps.github-cache.outputs.cache-hit || steps.s3-cache.outputs.cache-hit }}
runs:
using: composite
steps:
- name: Map inputs to environment variables
shell: bash
run: |
echo "GHA_CACHE_PATH=${{ inputs.path }}" | tee -a "${GITHUB_ENV}"
echo "GHA_CACHE_KEY=${{ inputs.key }}" | tee -a "${GITHUB_ENV}"
echo "GHA_CACHE_ENABLE_CROSS_OS_ARCHIVE=${{ inputs.enableCrossOsArchive }}" | tee -a "${GITHUB_ENV}"
echo "GHA_CACHE_FAIL_ON_CACHE_MISS=${{ inputs.fail-on-cache-miss }}" | tee -a "${GITHUB_ENV}"
echo "GHA_CACHE_LOOKUP_ONLY=${{ inputs.lookup-only }}" | tee -a "${GITHUB_ENV}"
echo "GHA_CACHE_RESTORE_KEYS=${{ inputs.restore-keys }}" | tee -a "${GITHUB_ENV}"
echo "GHA_CACHE_UPLOAD_CHUNK_SIZE=${{ inputs.upload-chunk-size }}" | tee -a "${GITHUB_ENV}"
- name: Cache Provided Path (GitHub Actions)
id: github-cache
if: ${{ env.USE_S3_CACHE != 'true' }}
uses: actions/cache@v4
with:
path: ${{ env.GHA_CACHE_PATH }}
key: ${{ env.GHA_CACHE_KEY }}
enableCrossOsArchive: ${{ env.GHA_CACHE_ENABLE_CROSS_OS_ARCHIVE }}
fail-on-cache-miss: ${{ env.GHA_CACHE_FAIL_ON_CACHE_MISS }}
lookup-only: ${{ env.GHA_CACHE_LOOKUP_ONLY }}
restore-keys: ${{ env.GHA_CACHE_RESTORE_KEYS }}
upload-chunk-size: ${{ env.GHA_CACHE_UPLOAD_CHUNK_SIZE }}
- name: Get Salt Project GitHub Actions Bot Environment
if: ${{ env.USE_S3_CACHE == 'true' }}
shell: bash
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" | tee -a "$GITHUB_ENV"
REGION=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/placement/region)
echo "GHA_CACHE_AWS_REGION=$REGION" | tee -a "$GITHUB_ENV"
- name: Configure AWS Credentials to access cache bucket
id: creds
if: ${{ env.USE_S3_CACHE == 'true' }}
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: ${{ env.GHA_CACHE_AWS_REGION }}
- name: Cache Provided Path (S3)
if: ${{ env.USE_S3_CACHE == 'true' }}
id: s3-cache
env:
AWS_REGION: ${{ env.GHA_CACHE_AWS_REGION }}
RUNS_ON_S3_BUCKET_CACHE: salt-project-${{ env.SPB_ENVIRONMENT}}-salt-github-actions-s3-cache
uses: runs-on/cache@v4
with:
path: ${{ env.GHA_CACHE_PATH }}
key: ${{ env.GHA_CACHE_KEY }}
enableCrossOsArchive: ${{ env.GHA_CACHE_ENABLE_CROSS_OS_ARCHIVE }}
fail-on-cache-miss: ${{ env.GHA_CACHE_FAIL_ON_CACHE_MISS }}
lookup-only: ${{ env.GHA_CACHE_LOOKUP_ONLY }}
restore-keys: ${{ env.GHA_CACHE_RESTORE_KEYS }}
upload-chunk-size: ${{ env.GHA_CACHE_UPLOAD_CHUNK_SIZE }}
- name: Verify 'fail-on-cache-miss'
if: ${{ inputs.fail-on-cache-miss == 'true' }}
shell: bash
run: |
CACHE_HIT="${{ steps.github-cache.outputs.cache-hit || steps.s3-cache.outputs.cache-hit }}"
if [ "$CACHE_HIT" != "true" ]; then
echo "No cache hit and fail-on-cache-miss is set to true."
exit 1
fi

View file

@ -5,26 +5,23 @@ description: Setup a cached python virtual environment
inputs:
name:
required: true
type: string
description: The Virtualenv Name
cache-seed:
required: true
type: string
description: Seed used to invalidate caches
outputs:
cache-hit:
description: 'A boolean value to indicate an exact match was found for the primary key'
value: ${{ steps.cache-virtualenv.outputs.cache-hit }}
cache-key:
description: The value of the cache key
value: ${{ steps.setup-cache-key.outputs.cache-key }}
python-executable:
description: The path to the virtualenv's python executable
value: ${{ steps.define-python-executable.outputs.python-executable }}
env:
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
runs:
using: composite
@ -54,7 +51,7 @@ runs:
- name: Cache VirtualEnv
id: cache-virtualenv
uses: actions/cache@v3.3.1
uses: ./.github/actions/cache
with:
key: ${{ steps.setup-cache-key.outputs.cache-key }}
path: ${{ steps.virtualenv-path.outputs.venv-path }}

View file

@ -1,41 +0,0 @@
# This actions was inspired by https://github.com/alehechka/download-tartifact
---
name: Download Tar Artifact
description: >
Download and extract a tar artifact that was previously uploaded in the
workflow by the upload-tartifact action
inputs:
name:
description: Artifact name
required: false
path:
description: Destination path
required: false
archive-name:
description: >
By default `inputs.name`(last resort, `archive`) is what's used to name the archive.
This parameter allows a customizing that archive name. This will allow uploading multiple
archives under the same 'name', like the underlying official action does
without overriding the existing archives.
required: false
runs:
using: composite
steps:
- uses: actions/download-artifact@v3
# This needs to be actions/download-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: ${{ inputs.name }}
path: ${{ inputs.path }}
- shell: bash
working-directory: ${{ inputs.path }}
run: |
tar -xvf ${{ inputs.archive-name || inputs.name || 'archive' }}.tar.gz
- shell: bash
working-directory: ${{ inputs.path }}
run: |
rm -f ${{ inputs.archive-name || inputs.name || 'archive' }}.tar.gz

View file

@ -1,19 +1,24 @@
---
name: get-python-version
description: Setup Relenv
inputs:
python-binary:
required: true
type: string
description: The python binary to get the version from
outputs:
binary:
description: The python binary executable
value: ${{ steps.get-python-version.outputs.binary }}
version:
description: The python version
value: ${{ steps.get-python-version.outputs.version }}
full-version:
description: The full python version
value: ${{ steps.get-python-version.outputs.full-version }}
version-sha256sum:
description: The sha256sum of the version
value: ${{ steps.get-python-version.outputs.version-sha256sum }}

View file

@ -1,21 +1,22 @@
---
name: setup-actionlint
description: Setup actionlint
inputs:
version:
description: The version of actionlint
default: 1.6.26
default: 1.7.7
cache-seed:
required: true
type: string
description: Seed used to invalidate caches
runs:
using: composite
steps:
- name: Cache actionlint Binary
uses: actions/cache@v3.3.1
uses: ./.github/actions/cache
with:
path: /usr/local/bin/actionlint
key: ${{ inputs.cache-seed }}|${{ runner.os }}|${{ runner.arch }}|actionlint|${{ inputs.version }}

View file

@ -4,19 +4,13 @@ description: Setup 'pre-commit'
inputs:
version:
type: string
description: Pre-commit version to install
required: true
default: 3.0.3
cache-seed:
required: true
type: string
description: Seed used to invalidate caches
env:
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
runs:
using: composite
@ -36,7 +30,7 @@ runs:
${{ steps.pre-commit-virtualenv.outputs.python-executable }} -m pip install pre-commit==${{ inputs.version }}
- name: Cache Pre-Commit Hooks
uses: actions/cache@v3.3.1
uses: ./.github/actions/cache
id: pre-commit-hooks-cache
with:
key: ${{ steps.pre-commit-virtualenv.outputs.cache-key }}|${{ inputs.version }}|${{ hashFiles('.pre-commit-config.yaml') }}

View file

@ -5,23 +5,17 @@ description: Setup 'python-tools-scripts'
inputs:
cache-prefix:
required: true
type: string
description: Seed used to invalidate caches
cwd:
type: string
description: The directory the salt checkout is located in
default: "."
outputs:
version:
description: "Return the python-tools-scripts version"
value: ${{ steps.get-version.outputs.version }}
env:
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
runs:
using: composite
@ -50,7 +44,7 @@ runs:
cache-seed: tools|${{ steps.venv-hash.outputs.venv-hash }}
- name: Restore Python Tools Virtualenvs Cache
uses: actions/cache@v3.3.1
uses: ./.github/actions/cache
with:
path: ${{ inputs.cwd }}/.tools-venvs
key: ${{ inputs.cache-prefix }}|${{ steps.venv-hash.outputs.venv-hash }}
@ -60,10 +54,13 @@ runs:
working-directory: ${{ inputs.cwd }}
run: |
PYTHON_EXE=${{ steps.tools-virtualenv.outputs.python-executable }}
${PYTHON_EXE} -m ensurepip --upgrade
(${PYTHON_EXE} -m pip install --help | grep break-system-packages > /dev/null 2>&1) && exitcode=0 || exitcode=1
if [ $exitcode -eq 0 ]; then
${PYTHON_EXE} -m pip install --break-system-packages --upgrade setuptools
${PYTHON_EXE} -m pip install --break-system-packages -r requirements/static/ci/py${{ steps.get-python-version.outputs.version }}/tools.txt
else
${PYTHON_EXE} -m pip install --upgrade setuptools
${PYTHON_EXE} -m pip install -r requirements/static/ci/py${{ steps.get-python-version.outputs.version }}/tools.txt
fi

View file

@ -1,39 +1,31 @@
---
name: setup-relenv
description: Setup Relenv
inputs:
platform:
required: true
type: string
description: The platform to build
arch:
required: true
type: string
description: The platform arch to build
python-version:
required: true
type: string
description: The version of python to build
cache-seed:
required: true
type: string
description: Seed used to invalidate caches
version:
required: false
type: string
description: The version of relenv to use
default: 0.13.2
outputs:
version:
description: The relenv version
value: ${{ inputs.version }}
env:
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
runs:
using: composite
@ -45,7 +37,7 @@ runs:
python3 -m pip install relenv==${{ inputs.version }}
- name: Cache Relenv Data Directory
uses: actions/cache@v3.3.1
uses: ./.github/actions/cache
with:
path: ${{ github.workspace }}/.relenv
key: ${{ inputs.cache-seed }}|relenv|${{ inputs.version }}|${{ inputs.python-version }}|${{ inputs.platform }}|${{ inputs.arch }}

View file

@ -1,32 +1,29 @@
---
name: setup-salt-version
description: Setup Salt Version
inputs:
cwd:
type: string
default: ""
description: The current working directory to use
salt-version:
type: string
default: ""
description: >
The Salt version to set prior to running tests or building packages.
If not set, it is discover at run time, like, for example, capturing
the output of running `python3 salt/version.py`
validate-version:
type: boolean
default: false
default: "false"
description: Validate the passed version.
release:
type: boolean
default: false
default: "false"
description: This is a release of salt.
outputs:
salt-version:
value: ${{ steps.setup-salt-version.outputs.salt-version }}
description: The Salt version written to `salt/_version.txt`
env:
COLUMNS: 190
runs:
using: composite

View file

@ -1,21 +1,22 @@
---
name: setup-shellcheck
description: Setup shellcheck
inputs:
version:
description: The version of shellcheck
default: v0.9.0
cache-seed:
required: true
type: string
description: Seed used to invalidate caches
runs:
using: composite
steps:
- name: Cache shellcheck Binary
uses: actions/cache@v3.3.1
uses: ./.github/actions/cache
with:
path: /usr/local/bin/shellcheck
key: ${{ inputs.cache-seed }}|${{ runner.os }}|${{ runner.arch }}|shellcheck|${{ inputs.version }}

100
.github/actions/ssh-tunnel/README.md vendored Normal file
View file

@ -0,0 +1,100 @@
# SSH Tunnel
The ssh-tunnel action will create a reverse tunnel over webrtc to port 22 on the runner.
## Usage
In order to use this action you must have a sdp offer from your local host and a ssh key pair.
Start with creating an sdp offer on your local machine. Provide these values to the ssh-tunnel
action and wait for output from the action with the sdp reply. Provide the reply to the local
rtcforward.py process by pasting it to stdin. If all goes well the local port on your maching
will be forwarded to the ssh port on the runner.
### Getting an sdp offer
To get an sdp offer start rtcforward.py on you local machine with the offer command.
You can also specify which port on the local machine will be used for the tunnel.
``` bash
$ python3 .github/actions/ssh-tunnel/rtcforward.py offer --port 5222
```
rtcforward.py will create an offer an display it to your terminal. (This example offer has been truncated)
After showing the offer the `rtcforward.py` process will wait for a reply.
```
-- offer --
eyJzZHAiOiAidj0wXHJcbm89LSAzOTQ3Mzg4NjUzIDM5NDczODg2NTMgSU4gSVA0IDAuMC4wLjBcclxu
cz0tXHJcbnQ9MCAwXHJcbmE9Z3JvdXA6QlVORExFIDBcclxuYT1tc2lkLXNlbWFudGljOldNUyAqXHJc
bm09YXBwbGljYXRpb24gMzUyNjkgRFRMUy9TQ1RQIDUwMDBcclxuYz1JTiBJUDQgMTkyLjE2OC4wLjIw
IHVkcCAxNjk0NDk4ODE1IDE4NC4xNzkuMjEwLjE1MiAzNTI2OSB0eXAgc3JmbHggcmFkZHIgMTkyLjE2
OC4wLjIwMSBycG9ydCAzNTI2OVxyXG5hPWNhbmRpZGF0ZTozZWFjMzJiZTZkY2RkMTAwZDcwMTFiNWY0
NTo4Qzo2MDoxMTpFQTo3NzpDMTo5RTo1QTo3QzpDQzowRDowODpFQzo2NDowQToxM1xyXG5hPWZpbmdl
cnByaW50OnNoYS01MTIgNjY6MzI6RUQ6MDA6N0I6QjY6NTQ6NzA6MzE6OTA6M0I6Mjg6Q0I6QTk6REU6
MzQ6QjI6NDY6NzE6NUI6MjM6ODA6Nzg6Njg6RDA6QTA6QTg6MjU6QkY6MDQ6ODY6NUY6OTA6QUY6MUQ6
QjA6QzY6ODA6QUY6OTc6QTI6MkM6NDI6QUU6MkI6Q0Q6Mjk6RUQ6MkI6ODc6NTU6ODg6NDY6QTM6ODk6
OEY6ODk6OTE6QTE6QTI6NDM6NTc6M0E6MjZcclxuYT1zZXR1cDphY3RwYXNzXHJcbiIsICJ0eXBlIjog
Im9mZmVyIn0=
-- end offer --
-- Please enter a message from remote party --
```
### Getting an sdp answer
Provide the offer to the ssh-tunnel action. When the action runs, an answer to the offer will be generated.
In the action output you will see that the offer was recieved and the reply in the output.
```
-- Please enter a message from remote party --
-- Message received --
-- reply --
eyJzZHAiOiAidj0wXHJcbm89LSAzOTQ3Mzg3NDcxIDM5NDczODc0NzEgSU4gSVA0IDAuMC4wLjBcclxu
cz0tXHJcbnQ9MCAwXHJcbmE9Z3JvdXA6QlVORExFIDBcclxuYT1tc2lkLXNlbWFudGljOldNUyAqXHJc
bm09YXBwbGljYXRpb24gNTcwMzkgRFRMUy9TQ1RQIDUwMDBcclxuYz1JTiBJUDQgMTkyLjE2OC42NC4x
MFxyXG5hPW1pZDowXHJcbmE9c2N0cG1hcDo1MDAwIHdlYnJ0Yy1kYXRhY2hhbm5lbCA2NTUzNVxyXG5h
MTc6MEI6RTA6OTA6QUM6RjU6RTk6RUI6Q0E6RUE6NTY6REI6NTA6QTk6REY6NTU6MzY6MkM6REI6OUE6
MDc6Mzc6QTM6NDc6NjlcclxuYT1maW5nZXJwcmludDpzaGEtNTEyIDMyOjRDOjk0OkRDOjNFOkU5OkU3
OjNCOjc5OjI4OjZDOjc5OkFEOkVDOjIzOkJDOjRBOjRBOjE5OjlCOjg5OkE3OkE2OjZBOjAwOjJFOkM5
OkE0OjlEOjAwOjM0OjFFOjRDOkVGOjcwOkY5OkNBOjg0OjlEOjcxOjI5OkVCOkIxOkREOkFEOjg5OjUx
OkZFOjhCOjI3OjFDOjFBOkJEOjUxOjQ2OjE4OjBBOjhFOjVBOjI1OjQzOjQzOjZGOkRBXHJcbmE9c2V0
dXA6YWN0aXZlXHJcbiIsICJ0eXBlIjogImFuc3dlciJ9
-- end reply --
```
# Finalizing the tunnel
Paste the sdp reply from the running action into the running `rtcforward.py` process that created the offer.
After receiveing the offer you will see `-- Message received --` and tunnel will be created.
```
-- offer --
eyJzZHAiOiAidj0wXHJcbm89LSAzOTQ3Mzg4NjUzIDM5NDczODg2NTMgSU4gSVA0IDAuMC4wLjBcclxu
cz0tXHJcbnQ9MCAwXHJcbmE9Z3JvdXA6QlVORExFIDBcclxuYT1tc2lkLXNlbWFudGljOldNUyAqXHJc
bm09YXBwbGljYXRpb24gMzUyNjkgRFRMUy9TQ1RQIDUwMDBcclxuYz1JTiBJUDQgMTkyLjE2OC4wLjIw
IHVkcCAxNjk0NDk4ODE1IDE4NC4xNzkuMjEwLjE1MiAzNTI2OSB0eXAgc3JmbHggcmFkZHIgMTkyLjE2
OC4wLjIwMSBycG9ydCAzNTI2OVxyXG5hPWNhbmRpZGF0ZTozZWFjMzJiZTZkY2RkMTAwZDcwMTFiNWY0
NTo4Qzo2MDoxMTpFQTo3NzpDMTo5RTo1QTo3QzpDQzowRDowODpFQzo2NDowQToxM1xyXG5hPWZpbmdl
cnByaW50OnNoYS01MTIgNjY6MzI6RUQ6MDA6N0I6QjY6NTQ6NzA6MzE6OTA6M0I6Mjg6Q0I6QTk6REU6
MzQ6QjI6NDY6NzE6NUI6MjM6ODA6Nzg6Njg6RDA6QTA6QTg6MjU6QkY6MDQ6ODY6NUY6OTA6QUY6MUQ6
QjA6QzY6ODA6QUY6OTc6QTI6MkM6NDI6QUU6MkI6Q0Q6Mjk6RUQ6MkI6ODc6NTU6ODg6NDY6QTM6ODk6
OEY6ODk6OTE6QTE6QTI6NDM6NTc6M0E6MjZcclxuYT1zZXR1cDphY3RwYXNzXHJcbiIsICJ0eXBlIjog
Im9mZmVyIn0=
-- end offer --
-- Please enter a message from remote party --
eyJzZHAiOiAidj0wXHJcbm89LSAzOTQ3Mzg3NDcxIDM5NDczODc0NzEgSU4gSVA0IDAuMC4wLjBcclxu
cz0tXHJcbnQ9MCAwXHJcbmE9Z3JvdXA6QlVORExFIDBcclxuYT1tc2lkLXNlbWFudGljOldNUyAqXHJc
bm09YXBwbGljYXRpb24gNTcwMzkgRFRMUy9TQ1RQIDUwMDBcclxuYz1JTiBJUDQgMTkyLjE2OC42NC4x
MFxyXG5hPW1pZDowXHJcbmE9c2N0cG1hcDo1MDAwIHdlYnJ0Yy1kYXRhY2hhbm5lbCA2NTUzNVxyXG5h
MTc6MEI6RTA6OTA6QUM6RjU6RTk6RUI6Q0E6RUE6NTY6REI6NTA6QTk6REY6NTU6MzY6MkM6REI6OUE6
MDc6Mzc6QTM6NDc6NjlcclxuYT1maW5nZXJwcmludDpzaGEtNTEyIDMyOjRDOjk0OkRDOjNFOkU5OkU3
OjNCOjc5OjI4OjZDOjc5OkFEOkVDOjIzOkJDOjRBOjRBOjE5OjlCOjg5OkE3OkE2OjZBOjAwOjJFOkM5
OkE0OjlEOjAwOjM0OjFFOjRDOkVGOjcwOkY5OkNBOjg0OjlEOjcxOjI5OkVCOkIxOkREOkFEOjg5OjUx
OkZFOjhCOjI3OjFDOjFBOkJEOjUxOjQ2OjE4OjBBOjhFOjVBOjI1OjQzOjQzOjZGOkRBXHJcbmE9c2V0
dXA6YWN0aXZlXHJcbiIsICJ0eXBlIjogImFuc3dlciJ9
-- Message received --
```
SSH to your local port.
```
ssh -o StrictHostKeychecking=no -o TCPKeepAlive=no -o StrictHostKeyChecking=no -vv -p 5222 runner@localhost
```

107
.github/actions/ssh-tunnel/action.yml vendored Normal file
View file

@ -0,0 +1,107 @@
name: ssh-tunnel
description: SSH Reverse Tunnel
inputs:
public_key:
required: true
type: string
description: Public key to accept for reverse tunnel. Warning, this should not be the public key for the 'private_key' input.
offer:
required: true
type: string
description: RTC offer
debug:
required: false
type: bool
default: false
description: Run sshd with debug enabled.
runs:
using: composite
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install ssh
if: ${{ runner.os == 'Windows' }}
shell: powershell
run: |
python3.exe -m pip install requests
python3.exe .github/actions/ssh-tunnel/installssh.py
- name: Start SSH
shell: bash
run: |
if [ "$RUNNER_OS" = "Windows" ]; then
powershell.exe -command "Start-Service sshd"
elif [ "$RUNNER_OS" = "macOS" ]; then
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
else
sudo systemctl start ssh
fi
- name: Show sshd configuration
shell: bash
run: |
if [ "$RUNNER_OS" = "Linux" ]; then
cat /etc/ssh/sshd_config
elif [ "$RUNNER_OS" = "macOS" ]; then
cat /private/etc/ssh/sshd_config
else
cat "C:\ProgramData\ssh\sshd_config"
fi
- name: Add ssh public key
shell: bash
run: |
if [ "$RUNNER_OS" = "Linux" ]; then
mkdir -p /home/runner/.ssh
chmod 700 /home/runner/.ssh
touch /home/runner/.ssh/authorized_keys
echo "${{ inputs.public_key }}" | tee -a /home/runner/.ssh/authorized_keys
elif [ "$RUNNER_OS" = "macOS" ]; then
mkdir -p /Users/runner/.ssh
chmod 700 /Users/runner/.ssh
touch /Users/runner/.ssh/authorized_keys
echo "${{ inputs.public_key }}" | tee -a /Users/runner/.ssh/authorized_keys
else
echo "${{ inputs.public_key }}" | tee -a "C:\ProgramData\ssh\administrators_authorized_keys"
fi
- name: Stop SSHD
if: ${{ inputs.debug }}
shell: bash
run: |
if [ "${{ inputs.debug }}" = "true" ]; then
if [ "$RUNNER_OS" = "Windows" ]; then
powershell.exe -command "Stop-Service sshd"
elif [ "$RUNNER_OS" = "macOS" ]; then
sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
else
sudo systemctl stop ssh
fi
fi
- name: Create rtc tunnel
shell: bash
run: |
if [ "${{ inputs.debug }}" = "true" ]; then
if [ "$RUNNER_OS" = "Windows" ]; then
./OpenSSH-Win64/sshd.exe -d &
elif [ "$RUNNER_OS" = "macOS" ]; then
sudo /usr/sbin/sshd -d &
else
sudo mkdir -p /run/sshd
sudo chmod 755 /run/sshd
sudo /usr/sbin/sshd -d &
fi
fi
if [ "$RUNNER_OS" = "Windows" ]; then
python3 -m pip install aiortc
else
python3 -m pip install aiortc uvloop
fi
echo '${{ inputs.offer }}' | python .github/actions/ssh-tunnel/rtcforward.py --port 22 answer

View file

@ -0,0 +1,44 @@
"""
"""
import pathlib
import subprocess
import zipfile
import requests
fwrule = """
New-NetFirewallRule `
-Name sshd `
-DisplayName 'OpenSSH SSH Server' `
-Enabled True `
-Direction Inbound `
-Protocol TCP `
-Action Allow `
-LocalPort 22 `
-Program "{}"
"""
def start_ssh_server():
"""
Pretty print the GH Actions event.
"""
resp = requests.get(
"https://github.com/PowerShell/Win32-OpenSSH/releases/download/v9.8.1.0p1-Preview/OpenSSH-Win64.zip",
allow_redirects=True,
)
with open("openssh.zip", "wb") as fp:
fp.write(resp.content)
with zipfile.ZipFile("openssh.zip") as fp:
fp.extractall()
install_script = pathlib.Path("./OpenSSH-Win64/install-sshd.ps1").resolve()
print(f"{install_script}")
subprocess.call(["powershell.exe", f"{install_script}"])
with open("fwrule.ps1", "w") as fp:
fp.write(fwrule.format(install_script.parent / "sshd.exe"))
subprocess.call(["powershell.exe", f"fwrule.ps1"])
if __name__ == "__main__":
start_ssh_server()

386
.github/actions/ssh-tunnel/rtcforward.py vendored Normal file
View file

@ -0,0 +1,386 @@
import argparse
import asyncio
import base64
import concurrent
import io
import json
import logging
import os
import signal
import sys
import textwrap
import time
aiortc = None
try:
import aiortc.exceptions
from aiortc import RTCIceCandidate, RTCPeerConnection, RTCSessionDescription
from aiortc.contrib.signaling import BYE, add_signaling_arguments, create_signaling
except ImportError:
pass
uvloop = None
try:
import uvloop
except ImportError:
pass
if sys.platform == "win32":
if not aiortc:
print("Please run 'pip install aiortc' and try again.")
sys.exit(1)
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
else:
if not aiortc or not uvloop:
print("Please run 'pip install aiortc uvloop' and try again.")
sys.exit(1)
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
log = logging.getLogger(__name__)
def object_from_string(message_str):
message = json.loads(message_str)
if message["type"] in ["answer", "offer"]:
return RTCSessionDescription(**message)
elif message["type"] == "candidate" and message["candidate"]:
candidate = candidate_from_sdp(message["candidate"].split(":", 1)[1])
candidate.sdpMid = message["id"]
candidate.sdpMLineIndex = message["label"]
return candidate
elif message["type"] == "bye":
return BYE
def object_to_string(obj):
if isinstance(obj, RTCSessionDescription):
message = {"sdp": obj.sdp, "type": obj.type}
elif isinstance(obj, RTCIceCandidate):
message = {
"candidate": "candidate:" + candidate_to_sdp(obj),
"id": obj.sdpMid,
"label": obj.sdpMLineIndex,
"type": "candidate",
}
else:
assert obj is BYE
message = {"type": "bye"}
return json.dumps(message, sort_keys=True)
def print_pastable(data, message="offer"):
print(f"-- {message} --")
sys.stdout.flush()
print(f"{data}")
sys.stdout.flush()
print(f"-- end {message} --")
sys.stdout.flush()
async def read_from_stdin():
loop = asyncio.get_event_loop()
line = await loop.run_in_executor(
None, input, "-- Please enter a message from remote party --\n"
)
data = line
while line:
try:
line = await loop.run_in_executor(None, input)
except EOFError:
break
data += line
print("-- Message received --")
return data
class Channels:
def __init__(self, channels=None):
if channels is None:
channels = []
self.channels = channels
def add(self, channel):
self.channels.append(channel)
def close(self):
for channel in self.channels:
channel.close()
class ProxyConnection:
def __init__(self, pc, channel):
self.pc = pc
self.channel = channel
class ProxyClient:
def __init__(self, args, channel):
self.args = args
self.channel = channel
def start(self):
self.channel.on("message")(self.on_message)
def on_message(self, message):
msg = json.loads(message)
key = msg["key"]
data = msg["data"]
log.debug("new connection messsage %s", key)
pc = RTCPeerConnection()
@pc.on("datachannel")
def on_channel(channel):
log.info("Sub channel established %s", key)
asyncio.ensure_future(self.handle_channel(channel))
async def finalize_connection():
obj = object_from_string(data)
if isinstance(obj, RTCSessionDescription):
await pc.setRemoteDescription(obj)
if obj.type == "offer":
# send answer
await pc.setLocalDescription(await pc.createAnswer())
msg = {"key": key, "data": object_to_string(pc.localDescription)}
self.channel.send(json.dumps(msg))
elif isinstance(obj, RTCIceCandidate):
await pc.addIceCandidate(obj)
elif obj is BYE:
log.warning("Exiting")
asyncio.ensure_future(finalize_connection())
async def handle_channel(self, channel):
try:
reader, writer = await asyncio.open_connection("127.0.0.1", self.args.port)
log.info("opened connection to port %s", self.args.port)
@channel.on("message")
def on_message(message):
log.debug("rtc to socket %r", message)
writer.write(message)
asyncio.ensure_future(writer.drain())
while True:
data = await reader.read(100)
if data:
log.debug("socket to rtc %r", data)
channel.send(data)
except Exception:
log.exception("WTF4")
class ProxyServer:
def __init__(self, args, channel):
self.args = args
self.channel = channel
self.connections = {}
async def start(self):
@self.channel.on("message")
def handle_message(message):
asyncio.ensure_future(self.handle_message(message))
self.server = await asyncio.start_server(
self.new_connection, "127.0.0.1", self.args.port
)
log.info("Listening on port %s", self.args.port)
async with self.server:
await self.server.serve_forever()
async def handle_message(self, message):
msg = json.loads(message)
key = msg["key"]
pc = self.connections[key].pc
channel = self.connections[key].channel
obj = object_from_string(msg["data"])
if isinstance(obj, RTCSessionDescription):
await pc.setRemoteDescription(obj)
if obj.type == "offer":
# send answer
await pc.setLocalDescription(await pc.createAnswer())
msg = {
"key": key,
"data": object_to_string(pc.localDescription),
}
self.channel.send(json.dumps(msg))
elif isinstance(obj, RTCIceCandidate):
await pc.addIceCandidate(obj)
elif obj is BYE:
print("Exiting")
async def new_connection(self, reader, writer):
try:
info = writer.get_extra_info("peername")
key = f"{info[0]}:{info[1]}"
log.info("Connection from %s", key)
pc = RTCPeerConnection()
channel = pc.createDataChannel("{key}")
async def readerproxy():
while True:
data = await reader.read(100)
if data:
log.debug("socket to rtc %r", data)
try:
channel.send(data)
except aiortc.exceptions.InvalidStateError:
log.error(
"Channel was in an invalid state %s, bailing reader coroutine",
key,
)
break
@channel.on("open")
def on_open():
asyncio.ensure_future(readerproxy())
@channel.on("message")
def on_message(message):
log.debug("rtc to socket %r", message)
writer.write(message)
asyncio.ensure_future(writer.drain())
self.connections[key] = ProxyConnection(pc, channel)
await pc.setLocalDescription(await pc.createOffer())
msg = {
"key": key,
"data": object_to_string(pc.localDescription),
}
log.debug("Send new offer")
self.channel.send(json.dumps(msg, sort_keys=True))
except Exception:
log.exception("WTF")
async def run_answer(stop, pc, args):
"""
Top level offer answer server.
"""
@pc.on("datachannel")
def on_datachannel(channel):
log.info("Channel created")
client = ProxyClient(args, channel)
client.start()
data = await read_from_stdin()
data = base64.b64decode(data)
obj = object_from_string(data)
if isinstance(obj, RTCSessionDescription):
log.debug("received rtc session description")
await pc.setRemoteDescription(obj)
if obj.type == "offer":
await pc.setLocalDescription(await pc.createAnswer())
data = object_to_string(pc.localDescription)
data = base64.b64encode(data.encode())
data = os.linesep.join(textwrap.wrap(data.decode(), 80))
print_pastable(data, "reply")
elif isinstance(obj, RTCIceCandidate):
log.debug("received rtc ice candidate")
await pc.addIceCandidate(obj)
elif obj is BYE:
print("Exiting")
while not stop.is_set():
await asyncio.sleep(0.3)
async def run_offer(stop, pc, args):
"""
Top level offer server this will estabilsh a data channel and start a tcp
server on the port provided. New connections to the server will start the
creation of a new rtc connectin and a new data channel used for proxying
the client's connection to the remote side.
"""
control_channel = pc.createDataChannel("main")
log.info("Created control channel.")
async def start_server():
"""
Start the proxy server. The proxy server will create a local port and
handle creation of additional rtc peer connections for each new client
to the proxy server port.
"""
server = ProxyServer(args, control_channel)
await server.start()
@control_channel.on("open")
def on_open():
"""
Start the proxy server when the control channel is connected.
"""
asyncio.ensure_future(start_server())
await pc.setLocalDescription(await pc.createOffer())
data = object_to_string(pc.localDescription).encode()
data = base64.b64encode(data)
data = os.linesep.join(textwrap.wrap(data.decode(), 80))
print_pastable(data, "offer")
data = await read_from_stdin()
data = base64.b64decode(data.encode())
obj = object_from_string(data)
if isinstance(obj, RTCSessionDescription):
log.debug("received rtc session description")
await pc.setRemoteDescription(obj)
if obj.type == "offer":
# send answer
await pc.setLocalDescription(await pc.createAnswer())
await signaling.send(pc.localDescription)
elif isinstance(obj, RTCIceCandidate):
log.debug("received rtc ice candidate")
await pc.addIceCandidate(obj)
elif obj is BYE:
print("Exiting")
while not stop.is_set():
await asyncio.sleep(0.3)
async def signal_handler(stop, pc):
stop.set()
if __name__ == "__main__":
if sys.platform == "win32":
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
parser = argparse.ArgumentParser(description="Port proxy")
parser.add_argument("role", choices=["offer", "answer"])
parser.add_argument("--port", type=int, default=11224)
parser.add_argument("--verbose", "-v", action="count", default=None)
args = parser.parse_args()
if args.verbose is None:
logging.basicConfig(level=logging.WARNING)
elif args.verbose > 1:
logging.basicConfig(level=logging.DEBUG)
else:
logging.basicConfig(level=logging.INFO)
stop = asyncio.Event()
pc = RTCPeerConnection()
if args.role == "offer":
coro = run_offer(stop, pc, args)
else:
coro = run_answer(stop, pc, args)
# run event loop
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
for signame in ("SIGINT", "SIGTERM"):
loop.add_signal_handler(
getattr(signal, signame),
lambda: asyncio.create_task(signal_handler(stop, pc)),
)
try:
loop.run_until_complete(coro)
except KeyboardInterrupt:
pass
finally:
loop.run_until_complete(pc.close())

View file

@ -37,6 +37,7 @@ inputs:
without overriding the existing archives.
required: false
runs:
using: composite
steps:
@ -45,9 +46,7 @@ runs:
shopt -s globstar || echo "'globstar' not available"
tar -cavf ${{ inputs.archive-name || inputs.name || 'archive' }}.tar.gz ${{ inputs.path }}
- uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
- uses: actions/upload-artifact@v4
with:
name: ${{ inputs.name }}
path: ${{ inputs.archive-name || inputs.name || 'archive' }}.tar.gz

16
.github/config.yml vendored
View file

@ -11,18 +11,16 @@ newIssueWelcomeComment: >
Also, check out some of our community
resources including:
- [Community Wiki](https://github.com/saltstack/community/wiki)
- [Salts Contributor Guide](https://docs.saltproject.io/en/master/topics/development/contributing.html)
- [Join our Community Slack](https://via.vmw.com/salt-slack)
- [IRC on LiberaChat](https://web.libera.chat/#salt)
- [Join our Community Discord](https://discord.com/invite/J7b7EscrAs)
- [Salt Project YouTube channel](https://www.youtube.com/channel/UCpveTIucFx9ljGelW63-BWg)
- [Salt Project Twitch channel](https://www.twitch.tv/saltprojectoss)
- [Community Wiki](https://github.com/saltstack/community/wiki)
There are lots of ways to get involved in our community. Every month, there are around a dozen
opportunities to meet with other contributors and the Salt Core team and collaborate in real
time. The best way to keep track is by subscribing to the Salt Community Events Calendar.
If you have additional questions, email us at saltproject@vmware.com. Were glad
If you have additional questions, email us at saltproject.pdl@broadcom.com. Were glad
youve joined our community and look forward to doing awesome things with
you!
@ -37,18 +35,16 @@ newPRWelcomeComment: >
Also, check out some of our community
resources including:
- [Community Wiki](https://github.com/saltstack/community/wiki)
- [Salts Contributor Guide](https://docs.saltproject.io/en/master/topics/development/contributing.html)
- [Join our Community Slack](https://via.vmw.com/salt-slack)
- [IRC on LiberaChat](https://web.libera.chat/#salt)
- [Join our Community Discord](https://discord.com/invite/J7b7EscrAs)
- [Salt Project YouTube channel](https://www.youtube.com/channel/UCpveTIucFx9ljGelW63-BWg)
- [Salt Project Twitch channel](https://www.twitch.tv/saltprojectoss)
- [Community Wiki](https://github.com/saltstack/community/wiki)
There are lots of ways to get involved in our community. Every month, there are around a dozen
opportunities to meet with other contributors and the Salt Core team and collaborate in real
time. The best way to keep track is by subscribing to the Salt Community Events Calendar.
If you have additional questions, email us at saltproject@vmware.com. Were glad
If you have additional questions, email us at saltproject.pdl@broadcom.com. Were glad
youve joined our community and look forward to doing awesome things with
you!

34
.github/dependabot.yml vendored Normal file
View file

@ -0,0 +1,34 @@
version: 2
updates:
# master branch
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
target-branch: master
labels:
- "test:full"
# Don't open PRs for regular version updates
open-pull-requests-limit: 0
# 3006.x release branch
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
target-branch: 3006.x
labels:
- "test:full"
# Don't open PRs for regular version updates
open-pull-requests-limit: 0
# freeze release branch
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
target-branch: freeze
labels:
- "test:full"
# Don't open PRs for regular version updates
open-pull-requests-limit: 0

View file

@ -20,12 +20,14 @@ jobs:
github.event.pull_request.merged == true
&& (
contains(github.event.pull_request.labels.*.name, 'backport:master') ||
contains(github.event.pull_request.labels.*.name, 'backport:3007.x') ||
contains(github.event.pull_request.labels.*.name, 'backport:3006.x') ||
contains(github.event.pull_request.labels.*.name, 'backport:3005.x')
)
&& (
(github.event.action == 'labeled' && (
contains(github.event.pull_request.labels.*.name, 'backport:master') ||
contains(github.event.pull_request.labels.*.name, 'backport:3007.x') ||
contains(github.event.pull_request.labels.*.name, 'backport:3006.x') ||
contains(github.event.pull_request.labels.*.name, 'backport:3005.x')
))

View file

@ -34,14 +34,23 @@ on:
type: string
description: The onedir package name to use
default: salt
matrix:
required: true
type: string
description: Json job matrix config
linux_arm_runner:
required: true
type: string
description: Json job matrix config
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
PIP_INDEX_URL: ${{ vars.PIP_INDEX_URL }}
PIP_TRUSTED_HOST: ${{ vars.PIP_TRUSTED_HOST }}
PIP_EXTRA_INDEX_URL: ${{ vars.PIP_EXTRA_INDEX_URL }}
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
@ -49,20 +58,20 @@ jobs:
linux-dependencies:
name: Linux
if: ${{ toJSON(fromJSON(inputs.matrix)['linux']) != '[]' }}
runs-on:
- self-hosted
- linux
- bastion
- ${{ matrix.arch == 'x86_64' && 'ubuntu-24.04' || inputs.linux_arm_runner }}
env:
USE_S3_CACHE: 'false'
timeout-minutes: 90
strategy:
fail-fast: false
matrix:
include:
- distro-slug: centos-7
arch: x86_64
- distro-slug: centos-7-arm64
arch: arm64
include: ${{ fromJSON(inputs.matrix)['linux'] }}
steps:
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: "Throttle Builds"
shell: bash
@ -72,9 +81,13 @@ jobs:
- name: Checkout Source Code
uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Cache nox.linux.${{ matrix.arch }}.tar.* for session ${{ inputs.nox-session }}
id: nox-dependencies-cache
uses: actions/cache@v3.3.1
uses: ./.github/actions/cache
with:
path: nox.linux.${{ matrix.arch }}.tar.*
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ matrix.arch }}|linux|${{ inputs.nox-session }}|${{ inputs.python-version }}|${{ inputs.nox-archive-hash }}
@ -97,7 +110,7 @@ jobs:
- name: PyPi Proxy
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
sed -i '7s;^;--index-url=https://pypi-proxy.saltstack.net/root/local/+simple/ --extra-index-url=https://pypi.org/simple\n;' requirements/static/ci/*/*.txt
sed -i '7s;^;--index-url=${{ vars.PIP_INDEX_URL }} --trusted-host ${{ vars.PIP_TRUSTED_HOST }} --extra-index-url=${{ vars.PIP_EXTRA_INDEX_URL }}\n;' requirements/static/ci/*/*.txt
- name: Setup Python Tools Scripts
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
@ -105,53 +118,34 @@ jobs:
with:
cache-prefix: ${{ inputs.cache-prefix }}-build-deps-ci
- name: Get Salt Project GitHub Actions Bot Environment
- name: Install System Dependencies
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
echo true
- name: Start VM
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
id: spin-up-vm
run: |
tools --timestamps vm create --environment "${SPB_ENVIRONMENT}" --retries=2 ${{ matrix.distro-slug }}
- name: List Free Space
- name: Install Nox
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm ssh ${{ matrix.distro-slug }} -- df -h || true
- name: Upload Checkout To VM
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm rsync ${{ matrix.distro-slug }}
python3 -m pip install 'nox==${{ inputs.nox-version }}'
- name: Install Dependencies
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
env:
PRINT_TEST_SELECTION: "0"
PRINT_SYSTEM_INFO: "0"
RELENV_BUILDENV: "1"
run: |
tools --timestamps vm install-dependencies --nox-session=${{ inputs.nox-session }} ${{ matrix.distro-slug }}
nox --install-only -e ${{ inputs.nox-session }}
- name: Cleanup .nox Directory
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm pre-archive-cleanup ${{ matrix.distro-slug }}
nox --force-color -e "pre-archive-cleanup(pkg=False)"
- name: Compress .nox Directory
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm compress-dependencies ${{ matrix.distro-slug }}
- name: Download Compressed .nox Directory
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm download-dependencies ${{ matrix.distro-slug }}
- name: Destroy VM
if: always() && steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm destroy --no-wait ${{ matrix.distro-slug }}
nox --force-color -e compress-dependencies -- linux ${{ matrix.arch }}
- name: Upload Nox Requirements Tarball
uses: actions/upload-artifact@v4
@ -161,16 +155,15 @@ jobs:
macos-dependencies:
name: MacOS
runs-on: ${{ matrix.distro-slug }}
runs-on: ${{ matrix.arch == 'x86_64' && 'macos-13' || 'macos-14' }}
if: ${{ toJSON(fromJSON(inputs.matrix)['macos']) != '[]' }}
timeout-minutes: 90
strategy:
fail-fast: false
matrix:
include:
- distro-slug: macos-12
arch: x86_64
- distro-slug: macos-13-xlarge
arch: arm64
include: ${{ fromJSON(inputs.matrix)['macos'] }}
env:
PIP_INDEX_URL: https://pypi.org/simple
steps:
- name: "Throttle Builds"
@ -183,7 +176,7 @@ jobs:
- name: Cache nox.macos.${{ matrix.arch }}.tar.* for session ${{ inputs.nox-session }}
id: nox-dependencies-cache
uses: actions/cache@v3.3.1
uses: ./.github/actions/cache
with:
path: nox.macos.${{ matrix.arch }}.tar.*
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ matrix.arch }}|macos|${{ inputs.nox-session }}|${{ inputs.python-version }}|${{ inputs.nox-archive-hash }}
@ -247,19 +240,19 @@ jobs:
name: nox-macos-${{ matrix.arch }}-${{ inputs.nox-session }}
path: nox.macos.${{ matrix.arch }}.tar.*
windows-dependencies:
name: Windows
runs-on:
- self-hosted
- linux
- bastion
runs-on: windows-latest
if: ${{ toJSON(fromJSON(inputs.matrix)['windows']) != '[]' }}
env:
USE_S3_CACHE: 'false'
GITHUB_WORKSPACE: 'C:\Windows\Temp\testing'
timeout-minutes: 90
strategy:
fail-fast: false
matrix:
include:
- distro-slug: windows-2022
arch: amd64
include: ${{ fromJSON(inputs.matrix)['windows'] }}
steps:
- name: "Throttle Builds"
@ -267,12 +260,16 @@ jobs:
run: |
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
- name: "Show environment"
run: |
env
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Cache nox.windows.${{ matrix.arch }}.tar.* for session ${{ inputs.nox-session }}
id: nox-dependencies-cache
uses: actions/cache@v3.3.1
uses: ./.github/actions/cache
with:
path: nox.windows.${{ matrix.arch }}.tar.*
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ matrix.arch }}|windows|${{ inputs.nox-session }}|${{ inputs.python-version }}|${{ inputs.nox-archive-hash }}
@ -292,10 +289,11 @@ jobs:
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-windows-${{ matrix.arch }}.tar.xz
- name: PyPi Proxy
- name: Set up Python ${{ inputs.python-version }}
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
sed -i '7s;^;--index-url=https://pypi-proxy.saltstack.net/root/local/+simple/ --extra-index-url=https://pypi.org/simple\n;' requirements/static/ci/*/*.txt
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
- name: Setup Python Tools Scripts
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
@ -303,53 +301,33 @@ jobs:
with:
cache-prefix: ${{ inputs.cache-prefix }}-build-deps-ci
- name: Get Salt Project GitHub Actions Bot Environment
- name: Install System Dependencies
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
echo true
- name: Start VM
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
id: spin-up-vm
run: |
tools --timestamps vm create --environment "${SPB_ENVIRONMENT}" --retries=2 ${{ matrix.distro-slug }}
- name: List Free Space
- name: Install Nox
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm ssh ${{ matrix.distro-slug }} -- df -h || true
- name: Upload Checkout To VM
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm rsync ${{ matrix.distro-slug }}
python3 -m pip install 'nox==${{ inputs.nox-version }}'
- name: Install Dependencies
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
env:
PRINT_TEST_SELECTION: "0"
PRINT_SYSTEM_INFO: "0"
run: |
tools --timestamps vm install-dependencies --nox-session=${{ inputs.nox-session }} ${{ matrix.distro-slug }}
nox --install-only -e ${{ inputs.nox-session }}
- name: Cleanup .nox Directory
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm pre-archive-cleanup ${{ matrix.distro-slug }}
nox --force-color -e "pre-archive-cleanup(pkg=False)"
- name: Compress .nox Directory
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm compress-dependencies ${{ matrix.distro-slug }}
- name: Download Compressed .nox Directory
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm download-dependencies ${{ matrix.distro-slug }}
- name: Destroy VM
if: always() && steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm destroy --no-wait ${{ matrix.distro-slug }}
nox --force-color -e compress-dependencies -- windows ${{ matrix.arch }}
- name: Upload Nox Requirements Tarball
uses: actions/upload-artifact@v4

View file

@ -1,182 +0,0 @@
---
name: Build Packaging Dependencies Onedir
on:
workflow_call:
inputs:
salt-version:
type: string
required: true
description: The Salt version to set prior to building packages.
github-hosted-runners:
type: boolean
required: true
self-hosted-runners:
type: boolean
required: true
cache-seed:
required: true
type: string
description: Seed used to invalidate caches
relenv-version:
required: true
type: string
description: The version of relenv to use
python-version:
required: true
type: string
description: The version of python to use with relenv
env:
RELENV_DATA: "${{ github.workspace }}/.relenv"
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
PIP_DISABLE_PIP_VERSION_CHECK: "1"
jobs:
build-deps-linux:
name: Linux
if: ${{ inputs.self-hosted-runners }}
strategy:
fail-fast: false
matrix:
arch:
- x86_64
- arm64
runs-on:
- self-hosted
- linux
- ${{ matrix.arch }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
- uses: actions/checkout@v4
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-seed }}-build-deps-linux-${{ matrix.arch }}
- name: Setup Relenv
id: setup-relenv
uses: ./.github/actions/setup-relenv
with:
platform: linux
arch: ${{ matrix.arch == 'arm64' && 'aarch64' || matrix.arch }}
version: ${{ inputs.relenv-version }}
cache-seed: ${{ inputs.cache-seed }}
python-version: ${{ inputs.python-version }}
- name: Install Salt Packaging Dependencies into Relenv Onedir
uses: ./.github/actions/build-onedir-deps
with:
platform: linux
arch: ${{ matrix.arch }}
python-version: "${{ inputs.python-version }}"
cache-prefix: ${{ inputs.cache-seed }}|relenv|${{ steps.setup-relenv.outputs.version }}
build-deps-macos:
name: macOS
if: ${{ inputs.github-hosted-runners }}
strategy:
fail-fast: false
max-parallel: 2
matrix:
arch:
- x86_64
- arm64
runs-on:
- ${{ matrix.arch == 'arm64' && 'macos-13-xlarge' || 'macos-12' }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-seed }}-build-deps-macos
- name: Setup Relenv
id: setup-relenv
uses: ./.github/actions/setup-relenv
with:
platform: macos
arch: ${{ matrix.arch }}
version: ${{ inputs.relenv-version }}
cache-seed: ${{ inputs.cache-seed }}
python-version: ${{ inputs.python-version }}
- name: Install Salt Packaging Dependencies into Relenv Onedir
uses: ./.github/actions/build-onedir-deps
with:
platform: macos
arch: ${{ matrix.arch }}
python-version: "${{ inputs.python-version }}"
cache-prefix: ${{ inputs.cache-seed }}|relenv|${{ steps.setup-relenv.outputs.version }}
build-deps-windows:
name: Windows
if: ${{ inputs.github-hosted-runners }}
strategy:
fail-fast: false
max-parallel: 2
matrix:
arch:
- x86
- amd64
runs-on: windows-latest
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-seed }}-build-deps-windows-${{ matrix.arch }}
- name: Setup Relenv
id: setup-relenv
uses: ./.github/actions/setup-relenv
with:
platform: windows
arch: ${{ matrix.arch }}
version: ${{ inputs.relenv-version }}
cache-seed: ${{ inputs.cache-seed }}
python-version: ${{ inputs.python-version }}
- name: Install Salt Packaging Dependencies into Relenv Onedir
uses: ./.github/actions/build-onedir-deps
with:
platform: windows
arch: ${{ matrix.arch }}
python-version: "${{ inputs.python-version }}"
cache-prefix: ${{ inputs.cache-seed }}|relenv|${{ steps.setup-relenv.outputs.version }}

View file

@ -17,27 +17,28 @@ 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
PIP_INDEX_URL: https://pypi.org/simple
PIP_DISABLE_PIP_VERSION_CHECK: "1"
jobs:
build:
name: Build
runs-on:
- ubuntu-latest
- ubuntu-22.04
strategy:
fail-fast: false
matrix:
docs-output:
- linkcheck
- spellcheck
# XXX re-enable lintcheck and spellcheck then fix the errors
# - linkcheck
# - spellcheck
- html
- epub
# - pdf
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Download Release Patch
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
@ -69,7 +70,7 @@ jobs:
- name: Cache Python Tools Docs Virtualenv
id: tools-venvs-dependencies-cache
uses: actions/cache@v3.3.1
uses: ./.github/actions/cache
with:
path: .tools-venvs/docs
key: ${{ inputs.cache-seed }}|${{ github.workflow }}|${{ github.job }}|tools-venvs|${{ steps.python-tools-scripts.outputs.version }}|docs|${{ steps.get-python-version.outputs.version }}|${{ hashFiles('requirements/**/docs.txt') }}

View file

@ -36,29 +36,217 @@ on:
required: true
type: string
description: Seed used to invalidate caches
matrix:
required: true
type: string
description: Json job matrix config
linux_arm_runner:
required: true
type: string
description: Json job matrix config
env:
COLUMNS: 190
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
PIP_INDEX_URL: ${{ vars.PIP_INDEX_URL }}
PIP_TRUSTED_HOST: ${{ vars.PIP_TRUSTED_HOST }}
PIP_EXTRA_INDEX_URL: ${{ vars.PIP_EXTRA_INDEX_URL }}
PIP_DISABLE_PIP_VERSION_CHECK: "1"
jobs:
build-deb-packages:
name: DEB
if: ${{ toJSON(fromJSON(inputs.matrix)['linux']) != '[]' }}
runs-on:
- ${{ matrix.arch == 'x86_64' && 'ubuntu-24.04' || inputs.linux_arm_runner }}
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(inputs.matrix)['linux'] }}
container:
image: ghcr.io/saltstack/salt-ci-containers/packaging:debian-12
steps:
# Checkout here so we can easily use custom actions
- uses: actions/checkout@v4
# We need a more recent rustc
- name: Install a more recent `rustc`
if: ${{ inputs.source == 'src' }}
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Set rust environment variables
if: ${{ inputs.source == 'src' }}
run: |
CARGO_HOME=${CARGO_HOME:-${HOME}/.cargo}
export CARGO_HOME
echo "CARGO_HOME=${CARGO_HOME}" | tee -a "${GITHUB_ENV}"
echo "${CARGO_HOME}/bin" | tee -a "${GITHUB_PATH}"
# Checkout here for the build process
- name: Checkout in build directory
uses: actions/checkout@v4
with:
path:
pkgs/checkout/
- name: Download Onedir Tarball as an Artifact
uses: actions/download-artifact@v4
with:
name: salt-${{ inputs.salt-version }}-onedir-linux-${{ matrix.arch }}.tar.xz
path: pkgs/checkout/artifacts/
- name: Download Release Patch
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
uses: actions/download-artifact@v4
with:
name: salt-${{ inputs.salt-version }}.patch
path: pkgs/checkout/
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cwd: pkgs/checkout/
cache-prefix: ${{ inputs.cache-prefix }}
- name: Setup Salt Version
id: setup-salt-version
uses: ./.github/actions/setup-salt-version
with:
salt-version: "${{ inputs.salt-version }}"
cwd: pkgs/checkout/
- name: Configure Git
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
working-directory: pkgs/checkout/
run: |
tools pkg configure-git
- name: Apply release patch
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
working-directory: pkgs/checkout/
run: |
tools pkg apply-release-patch salt-${{ inputs.salt-version }}.patch --delete
- name: Build Deb
working-directory: pkgs/checkout/
run: |
tools pkg build deb --relenv-version=${{ inputs.relenv-version }} --python-version=${{ inputs.python-version }} ${{
inputs.source == 'onedir' &&
format('--onedir=salt-{0}-onedir-linux-{1}.tar.xz', inputs.salt-version, matrix.arch)
||
format('--arch={0}', matrix.arch)
}}
- name: Cleanup
run: |
rm -rf pkgs/checkout/
- name: Set Artifact Name
id: set-artifact-name
run: |
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"
fi
- name: Upload DEBs
uses: actions/upload-artifact@v4
with:
name: ${{ steps.set-artifact-name.outputs.artifact-name }}
path: ${{ github.workspace }}/pkgs/*
retention-days: 7
if-no-files-found: error
build-rpm-packages:
name: RPM
if: ${{ toJSON(fromJSON(inputs.matrix)['linux']) != '[]' }}
runs-on:
- ${{ matrix.arch == 'x86_64' && 'ubuntu-24.04' || inputs.linux_arm_runner }}
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(inputs.matrix)['linux'] }}
container:
image: ghcr.io/saltstack/salt-ci-containers/packaging:rockylinux-9
steps:
- uses: actions/checkout@v4
- name: Download Onedir Tarball as an Artifact
uses: actions/download-artifact@v4
with:
name: salt-${{ inputs.salt-version }}-onedir-linux-${{ matrix.arch }}.tar.xz
path: artifacts/
- name: Download Release Patch
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
uses: actions/download-artifact@v4
with:
name: salt-${{ inputs.salt-version }}.patch
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: Setup Salt Version
id: setup-salt-version
uses: ./.github/actions/setup-salt-version
with:
salt-version: "${{ inputs.salt-version }}"
- name: Configure Git
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
run: |
tools pkg configure-git
- name: Apply release patch
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
run: |
tools pkg apply-release-patch salt-${{ inputs.salt-version }}.patch --delete
- name: Build RPM
run: |
tools pkg build rpm --relenv-version=${{ inputs.relenv-version }} --python-version=${{ inputs.python-version }} ${{
inputs.source == 'onedir' &&
format('--onedir=salt-{0}-onedir-linux-{1}.tar.xz', inputs.salt-version, matrix.arch)
||
format('--arch={0}', matrix.arch)
}}
- name: Set Artifact Name
id: set-artifact-name
run: |
if [ "${{ inputs.source }}" != "src" ]; then
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-rpm" >> "$GITHUB_OUTPUT"
else
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-rpm-from-src" >> "$GITHUB_OUTPUT"
fi
- name: Upload RPMs
uses: actions/upload-artifact@v4
with:
name: ${{ steps.set-artifact-name.outputs.artifact-name }}
path: ~/rpmbuild/RPMS/${{ matrix.arch == 'arm64' && 'aarch64' || matrix.arch }}/*.rpm
retention-days: 7
if-no-files-found: error
build-macos-pkgs:
name: macOS
if: ${{ toJSON(fromJSON(inputs.matrix)['macos']) != '[]' }}
environment: ${{ inputs.environment }}
strategy:
fail-fast: false
matrix:
arch:
- x86_64
- arm64
source:
- ${{ inputs.source }}
include: ${{ fromJSON(inputs.matrix)['macos'] }}
env:
PIP_INDEX_URL: https://pypi.org/simple
runs-on:
- ${{ matrix.arch == 'arm64' && 'macos-13-xlarge' || 'macos-12' }}
- ${{ matrix.arch == 'arm64' && 'macos-14' || 'macos-13' }}
steps:
- name: Check Package Signing Enabled
@ -162,197 +350,15 @@ jobs:
retention-days: 7
if-no-files-found: error
build-deb-packages:
name: DEB
runs-on:
- self-hosted
- linux
- ${{ matrix.arch }}
strategy:
fail-fast: false
matrix:
arch:
- x86_64
- arm64
source:
- ${{ 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@v4
# Checkout here for the build process
- name: Checkout in build directory
uses: actions/checkout@v4
with:
path:
pkgs/checkout/
- name: Download Onedir Tarball as an Artifact
uses: actions/download-artifact@v4
with:
name: salt-${{ inputs.salt-version }}-onedir-linux-${{ matrix.arch }}.tar.xz
path: pkgs/checkout/artifacts/
- name: Download Release Patch
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
uses: actions/download-artifact@v4
with:
name: salt-${{ inputs.salt-version }}.patch
path: pkgs/checkout/
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cwd: pkgs/checkout/
cache-prefix: ${{ inputs.cache-prefix }}
- name: Setup Salt Version
id: setup-salt-version
uses: ./.github/actions/setup-salt-version
with:
salt-version: "${{ inputs.salt-version }}"
cwd: pkgs/checkout/
- name: Configure Git
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
working-directory: pkgs/checkout/
run: |
tools pkg configure-git
- name: Apply release patch
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
working-directory: pkgs/checkout/
run: |
tools pkg apply-release-patch salt-${{ inputs.salt-version }}.patch --delete
- name: Build Deb
working-directory: pkgs/checkout/
run: |
tools pkg build deb --relenv-version=${{ inputs.relenv-version }} --python-version=${{ inputs.python-version }} ${{
inputs.source == 'onedir' &&
format('--onedir=salt-{0}-onedir-linux-{1}.tar.xz', inputs.salt-version, matrix.arch)
||
format('--arch={0}', matrix.arch)
}}
- name: Cleanup
run: |
rm -rf pkgs/checkout/
- name: Set Artifact Name
id: set-artifact-name
run: |
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"
fi
- name: Upload DEBs
uses: actions/upload-artifact@v4
with:
name: ${{ steps.set-artifact-name.outputs.artifact-name }}
path: ${{ github.workspace }}/pkgs/*
retention-days: 7
if-no-files-found: error
build-rpm-packages:
name: RPM
runs-on:
- self-hosted
- linux
- ${{ matrix.arch }}
strategy:
fail-fast: false
matrix:
arch:
- x86_64
- arm64
source:
- ${{ inputs.source }}
container:
image: ghcr.io/saltstack/salt-ci-containers/packaging:centosstream-9
steps:
- uses: actions/checkout@v4
- name: Download Onedir Tarball as an Artifact
uses: actions/download-artifact@v4
with:
name: salt-${{ inputs.salt-version }}-onedir-linux-${{ matrix.arch }}.tar.xz
path: artifacts/
- name: Download Release Patch
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
uses: actions/download-artifact@v4
with:
name: salt-${{ inputs.salt-version }}.patch
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: Setup Salt Version
id: setup-salt-version
uses: ./.github/actions/setup-salt-version
with:
salt-version: "${{ inputs.salt-version }}"
- name: Configure Git
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
run: |
tools pkg configure-git
- name: Apply release patch
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
run: |
tools pkg apply-release-patch salt-${{ inputs.salt-version }}.patch --delete
- name: Build RPM
run: |
tools pkg build rpm --relenv-version=${{ inputs.relenv-version }} --python-version=${{ inputs.python-version }} ${{
inputs.source == 'onedir' &&
format('--onedir=salt-{0}-onedir-linux-{1}.tar.xz', inputs.salt-version, matrix.arch)
||
format('--arch={0}', matrix.arch)
}}
- name: Set Artifact Name
id: set-artifact-name
run: |
if [ "${{ inputs.source }}" != "src" ]; then
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-rpm" >> "$GITHUB_OUTPUT"
else
echo "artifact-name=salt-${{ inputs.salt-version }}-${{ matrix.arch }}-rpm-from-src" >> "$GITHUB_OUTPUT"
fi
- name: Upload RPMs
uses: actions/upload-artifact@v4
with:
name: ${{ steps.set-artifact-name.outputs.artifact-name }}
path: ~/rpmbuild/RPMS/${{ matrix.arch == 'arm64' && 'aarch64' || matrix.arch }}/*.rpm
retention-days: 7
if-no-files-found: error
build-windows-pkgs:
name: Windows
if: ${{ toJSON(fromJSON(inputs.matrix)['windows']) != '[]' }}
environment: ${{ inputs.environment }}
strategy:
fail-fast: false
max-parallel: 2
matrix:
arch:
- x86
- amd64
source:
- ${{ inputs.source }}
include: ${{ fromJSON(inputs.matrix)['windows'] }}
runs-on:
- windows-latest
env:
@ -362,6 +368,7 @@ jobs:
SM_CLIENT_CERT_PASSWORD: "${{ secrets.WIN_SIGN_CERT_PASSWORD }}"
SM_CLIENT_CERT_FILE_B64: "${{ secrets.WIN_SIGN_CERT_FILE_B64 }}"
WIN_SIGN_CERT_SHA1_HASH: "${{ secrets.WIN_SIGN_CERT_SHA1_HASH }}"
PIP_INDEX_URL: https://pypi.org/simple
steps:
- name: Check Package Signing Enabled

View file

@ -8,12 +8,6 @@ on:
type: string
required: true
description: The Salt version to set prior to building packages.
github-hosted-runners:
type: boolean
required: true
self-hosted-runners:
type: boolean
required: true
cache-seed:
required: true
type: string
@ -26,31 +20,39 @@ on:
required: true
type: string
description: The version of python to use with relenv
matrix:
type: string
required: true
description: Json config for build matrix
linux_arm_runner:
required: true
type: string
description: Json job matrix config
env:
RELENV_DATA: "${{ github.workspace }}/.relenv"
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
PIP_INDEX_URL: ${{ vars.PIP_INDEX_URL }}
PIP_TRUSTED_HOST: ${{ vars.PIP_TRUSTED_HOST }}
PIP_EXTRA_INDEX_URL: ${{ vars.PIP_EXTRA_INDEX_URL }}
PIP_DISABLE_PIP_VERSION_CHECK: "1"
jobs:
build-salt-linux:
name: Linux
if: ${{ inputs.self-hosted-runners }}
if: ${{ toJSON(fromJSON(inputs.matrix)['linux']) != '[]' }}
env:
USE_S3_CACHE: 'false'
runs-on:
- ${{ matrix.arch == 'x86_64' && 'ubuntu-24.04' || inputs.linux_arm_runner }}
strategy:
fail-fast: false
matrix:
arch:
- x86_64
- arm64
runs-on:
- self-hosted
- linux
- ${{ matrix.arch }}
include: ${{ fromJSON(inputs.matrix)['linux'] }}
steps:
- name: "Throttle Builds"
@ -60,10 +62,14 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-seed }}-build-salt-onedir-windows
cache-prefix: ${{ inputs.cache-seed }}|build-salt-onedir|linux
- name: Setup Salt Version
id: setup-salt-version
@ -92,18 +98,22 @@ jobs:
build-salt-macos:
name: macOS
if: ${{ inputs.github-hosted-runners }}
if: ${{ toJSON(fromJSON(inputs.matrix)['macos']) != '[]' }}
strategy:
fail-fast: false
max-parallel: 2
matrix:
arch:
- x86_64
- arm64
include: ${{ fromJSON(inputs.matrix)['macos'] }}
runs-on:
- ${{ matrix.arch == 'arm64' && 'macos-13-xlarge' || 'macos-12' }}
- ${{ matrix.arch == 'arm64' && 'macos-14' || 'macos-13' }}
env:
PIP_INDEX_URL: https://pypi.org/simple
USE_S3_CACHE: 'false'
steps:
- name: "Check cores"
shell: bash
run: sysctl -n hw.ncpu
- name: "Throttle Builds"
shell: bash
run: |
@ -115,6 +125,17 @@ jobs:
with:
python-version: "3.10"
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-seed }}|build-salt-onedir|macos
- name: Setup Salt Version
id: setup-salt-version
uses: ./.github/actions/setup-salt-version
with:
salt-version: "${{ inputs.salt-version }}"
- name: Setup Relenv
id: setup-relenv
uses: ./.github/actions/setup-relenv
@ -125,17 +146,6 @@ jobs:
cache-seed: ${{ inputs.cache-seed }}
python-version: ${{ inputs.python-version }}
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-seed }}-build-salt-onedir-macos
- name: Setup Salt Version
id: setup-salt-version
uses: ./.github/actions/setup-salt-version
with:
salt-version: "${{ inputs.salt-version }}"
- name: Install Salt into Relenv Onedir
uses: ./.github/actions/build-onedir-salt
with:
@ -147,15 +157,16 @@ jobs:
build-salt-windows:
name: Windows
if: ${{ inputs.github-hosted-runners }}
if: ${{ toJSON(fromJSON(inputs.matrix)['windows']) != '[]' }}
strategy:
fail-fast: false
max-parallel: 2
matrix:
arch:
- x86
- amd64
include: ${{ fromJSON(inputs.matrix)['windows'] }}
runs-on: windows-latest
env:
PIP_INDEX_URL: https://pypi.org/simple
USE_S3_CACHE: 'false'
steps:
- name: "Throttle Builds"
@ -170,6 +181,17 @@ jobs:
with:
python-version: "3.10"
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-seed }}|build-salt-onedir|windows
- name: Setup Salt Version
id: setup-salt-version
uses: ./.github/actions/setup-salt-version
with:
salt-version: "${{ inputs.salt-version }}"
- name: Setup Relenv
id: setup-relenv
uses: ./.github/actions/setup-relenv
@ -180,17 +202,6 @@ jobs:
cache-seed: ${{ inputs.cache-seed }}
python-version: ${{ inputs.python-version }}
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-seed }}-build-salt-onedir-macos
- name: Setup Salt Version
id: setup-salt-version
uses: ./.github/actions/setup-salt-version
with:
salt-version: "${{ inputs.salt-version }}"
- name: Install Salt into Relenv Onedir
uses: ./.github/actions/build-onedir-salt
with:

1699
.github/workflows/ci.yml vendored

File diff suppressed because it is too large Load diff

132
.github/workflows/draft-release.yml vendored Normal file
View file

@ -0,0 +1,132 @@
---
name: Draft Github Release
on:
workflow_call:
inputs:
salt-version:
type: string
required: true
description: The Salt version to set prior to building packages.
matrix:
required: true
type: string
description: Json job matrix config
build-matrix:
required: true
type: string
description: Json job matrix config
env:
COLUMNS: 190
PIP_INDEX_URL: ${{ vars.PIP_INDEX_URL }}
PIP_TRUSTED_HOST: ${{ vars.PIP_TRUSTED_HOST }}
PIP_EXTRA_INDEX_URL: ${{ vars.PIP_EXTRA_INDEX_URL }}
PIP_DISABLE_PIP_VERSION_CHECK: "1"
jobs:
list-artifacts:
name: List Artifacts
runs-on: ubuntu-22.04
steps:
# Checkout here so we can easily use custom actions
- uses: actions/download-artifact@v4
with:
path: artifacts/
- name: List Directory Structure
run: ls -R artifacts/
create-github-release:
name: Draft Release v${{ inputs.salt-version }}
runs-on: ubuntu-22.04
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
steps:
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
release_name: "Release v${{ inputs.salt-version }}"
tag_name: v${{ inputs.salt-version }}
draft: true
prerelease: false
- name: Release Output
run: echo "upload_url=${{ steps.create_release.outputs.upload_url }}" >> "$GITHUB_OUTPUT"
upload-source-tarball:
needs:
- create-github-release
uses: ./.github/workflows/release-artifact.yml
with:
name: salt-${{ inputs.salt-version }}.tar.gz
upload_url: ${{ needs.create-github-release.outputs.upload_url }}
upload-onedir:
needs:
- create-github-release
strategy:
matrix:
include: ${{ fromJSON(inputs.matrix) }}
uses: ./.github/workflows/release-artifact.yml
with:
name: salt-${{ inputs.salt-version }}-onedir-${{ matrix.platform }}-${{ matrix.arch }}.${{ matrix.platform == 'windows' && 'zip' || 'tar.xz' }}
upload_url: ${{ needs.create-github-release.outputs.upload_url }}
upload-deb-packages:
needs:
- create-github-release
strategy:
matrix:
include: ${{ fromJSON(inputs.build-matrix)['linux'] }}
uses: ./.github/workflows/release-artifact.yml
with:
name: salt-${{ inputs.salt-version }}-${{ matrix.arch }}-deb
upload_url: ${{ needs.create-github-release.outputs.upload_url }}
pattern: "*.deb"
upload-rpm-packages:
needs:
- create-github-release
strategy:
matrix:
include: ${{ fromJSON(inputs.build-matrix)['linux'] }}
uses: ./.github/workflows/release-artifact.yml
with:
name: salt-${{ inputs.salt-version }}-${{ matrix.arch }}-rpm
upload_url: ${{ needs.create-github-release.outputs.upload_url }}
upload-mac-packages:
needs:
- create-github-release
strategy:
matrix:
include: ${{ fromJSON(inputs.build-matrix)['macos'] }}
uses: ./.github/workflows/release-artifact.yml
with:
name: salt-${{ inputs.salt-version }}-${{ matrix.arch }}-macos
upload_url: ${{ needs.create-github-release.outputs.upload_url }}
upload-windows-msi-packages:
needs:
- create-github-release
strategy:
matrix:
include: ${{ fromJSON(inputs.build-matrix)['windows'] }}
uses: ./.github/workflows/release-artifact.yml
with:
name: salt-${{ inputs.salt-version }}-${{ matrix.arch }}-MSI
upload_url: ${{ needs.create-github-release.outputs.upload_url }}
upload-windows-nsis-packages:
needs:
- create-github-release
strategy:
matrix:
include: ${{ fromJSON(inputs.build-matrix)['windows'] }}
uses: ./.github/workflows/release-artifact.yml
with:
name: salt-${{ inputs.salt-version }}-${{ matrix.arch }}-NSIS
upload_url: ${{ needs.create-github-release.outputs.upload_url }}

View file

@ -11,25 +11,20 @@ on:
env:
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
PIP_INDEX_URL: https://pypi.org/simple
PIP_DISABLE_PIP_VERSION_CHECK: "1"
jobs:
Salt:
name: Lint Salt's Source Code
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
if: ${{ contains(fromJSON('["push", "schedule", "workflow_dispatch"]'), github.event_name) || fromJSON(inputs.changed-files)['salt'] || fromJSON(inputs.changed-files)['lint'] }}
container:
image: ghcr.io/saltstack/salt-ci-containers/python:3.8
image: ghcr.io/saltstack/salt-ci-containers/python:3.10
steps:
- name: Install System Deps
run: |
apt-get update
apt-get install -y enchant-2 git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev
- name: Add Git Safe Directory
run: |
@ -63,18 +58,13 @@ jobs:
Tests:
name: Lint Salt's Test Suite
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
if: ${{ contains(fromJSON('["push", "schedule", "workflow_dispatch"]'), github.event_name) || fromJSON(inputs.changed-files)['tests'] || fromJSON(inputs.changed-files)['lint'] }}
container:
image: ghcr.io/saltstack/salt-ci-containers/python:3.8
image: ghcr.io/saltstack/salt-ci-containers/python:3.10
steps:
- name: Install System Deps
run: |
echo "deb http://deb.debian.org/debian bookworm-backports main" >> /etc/apt/sources.list
apt-get update
apt-get install -y enchant-2 git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev
- name: Add Git Safe Directory
run: |

File diff suppressed because it is too large Load diff

67
.github/workflows/nsis-tests.yml vendored Normal file
View file

@ -0,0 +1,67 @@
---
name: Test NSIS Installer
on:
workflow_call:
inputs:
changed-files:
required: true
type: string
description: JSON string containing information about changed files
jobs:
Test-NSIS-Logic:
name: Logic Tests
runs-on:
- windows-latest
if: ${{ contains(fromJSON('["push", "schedule", "workflow_dispatch"]'), github.event_name) || fromJSON(inputs.changed-files)['nsis_tests'] }}
steps:
- name: Checkout Salt
uses: actions/checkout@v4
- name: Set Up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install NSIS
run: .\pkg\windows\install_nsis.cmd -CICD
shell: cmd
- name: Build Test Installer
run: .\pkg\windows\nsis\tests\setup.cmd -CICD
shell: cmd
- name: Run Config Tests
run: .\pkg\windows\nsis\tests\test.cmd -CICD .\config_tests
shell: cmd
Test-NSIS-Stress:
name: Stress Tests
runs-on:
- windows-latest
if: ${{ contains(fromJSON('["push", "schedule", "workflow_dispatch"]'), github.event_name) || fromJSON(inputs.changed-files)['nsis_tests'] }}
steps:
- name: Checkout Salt
uses: actions/checkout@v4
- name: Set Up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install NSIS
run: .\pkg\windows\install_nsis.cmd -CICD
shell: cmd
- name: Build Test Installer
run: .\pkg\windows\nsis\tests\setup.cmd -CICD
shell: cmd
- name: Run Stress Test
run: .\pkg\windows\nsis\tests\test.cmd -CICD .\stress_tests
shell: cmd

View file

@ -21,21 +21,16 @@ jobs:
Pre-Commit:
name: Run Pre-Commit Against Salt
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
container:
image: ghcr.io/saltstack/salt-ci-containers/python:3.10
image: ghcr.io/saltstack/salt-ci-containers/testing:ubuntu-22.04
env:
PRE_COMMIT_COLOR: always
steps:
- name: Install System Deps
run: |
apt-get update
apt-get install -y wget curl enchant-2 git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev rustc
- name: Add Git Safe Directory
run: |
git config --global --add safe.directory "$(pwd)"
@ -53,14 +48,14 @@ jobs:
cache-seed: ${{ inputs.cache-seed }}
- name: Check ALL Files On Branch
if: github.event_name != 'pull_request'
if: ${{ !cancelled() && github.event_name != 'pull_request' }}
env:
SKIP: lint-salt,lint-tests,remove-import-headers,rstcheck
SKIP: lint-salt,lint-tests,remove-import-headers,pyupgrade
run: |
pre-commit run --show-diff-on-failure --color=always --all-files
- name: Check Changed Files On PR
if: github.event_name == 'pull_request' && fromJSON(inputs.changed-files)['repo']
if: ${{ !cancelled() && github.event_name == 'pull_request' && fromJSON(inputs.changed-files)['repo'] }}
env:
SKIP: lint-salt,lint-tests
GH_ACTIONS_ANNOTATE: "1"
@ -68,6 +63,6 @@ jobs:
pre-commit run --show-diff-on-failure --color=always --files ${{ join(fromJSON(inputs.changed-files)['repo_files'], ' ') }}
- name: Check Docs On Deleted Files
if: github.event_name == 'pull_request' && fromJSON(inputs.changed-files)['deleted']
if: ${{ !cancelled() && github.event_name == 'pull_request' && fromJSON(inputs.changed-files)['deleted'] }}
run: |
pre-commit run --show-diff-on-failure --color=always check-docs --files ${{ join(fromJSON(inputs.changed-files)['deleted_files'], ' ') }}

69
.github/workflows/release-artifact.yml vendored Normal file
View file

@ -0,0 +1,69 @@
---
name: Upload Release Artifact
on:
workflow_call:
inputs:
name:
type: string
required: true
description: The Salt version to set prior to building packages.
upload_url:
type: string
required: true
description: Release's upload url.
pattern:
type: string
required: false
description: Pattern of files to upload
jobs:
list-files:
name: List ${{ inputs.name }}
runs-on: ubuntu-22.04
outputs:
files: ${{ steps.list-files.outputs.files }}
steps:
- uses: actions/download-artifact@v4
with:
name: ${{ inputs.name }}
path: artifacts
- run: find artifacts -maxdepth 1 -type f -printf '%f\n'
- id: list-files
run: |
if [ "${{ inputs.pattern }}" != "" ]; then
echo files="$(find artifacts -maxdepth 1 -type f -name '${{ inputs.pattern }}' -printf '%f\n' | jq -Rnc '[inputs | { file: "\(.)" }]')" >> "$GITHUB_OUTPUT"
else
echo files="$(find artifacts -maxdepth 1 -type f -printf '%f\n' | jq -Rnc '[inputs | { file: "\(.)" }]')" >> "$GITHUB_OUTPUT"
fi
upload-files:
name: Upload ${{ matrix.file }} from ${{ inputs.name }}
runs-on: ubuntu-22.04
needs:
- list-files
strategy:
matrix:
include: ${{ fromJSON(needs.list-files.outputs.files) }}
steps:
- uses: actions/download-artifact@v4
with:
name: ${{ inputs.name }}
path: artifacts
- name: Detect type of ${{ matrix.file }}
id: file-type
run: echo "file_type=$( file --mime-type artifacts/${{ matrix.file }} )" >> "$GITHUB_OUTPUT"
- name: Upload ${{ matrix.file }}
id: upload-release-asset-source
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ inputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: artifacts/${{ matrix.file }}
asset_name: ${{ matrix.file }}
asset_content_type: ${{ steps.file-type.outputs.file_type }}

View file

@ -19,8 +19,9 @@ on:
env:
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
PIP_INDEX_URL: ${{ vars.PIP_INDEX_URL }}
PIP_TRUSTED_HOST: ${{ vars.PIP_TRUSTED_HOST }}
PIP_EXTRA_INDEX_URL: ${{ vars.PIP_EXTRA_INDEX_URL }}
permissions:
@ -31,7 +32,7 @@ jobs:
permissions:
contents: write # for dev-drprasad/delete-tag-and-release to delete tags or releases
name: Generate Tag and Github Release
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- uses: dev-drprasad/delete-tag-and-release@v0.2.0
if: github.event.inputs.reTag == 'true'

View file

@ -19,7 +19,7 @@ permissions:
jobs:
update-winrepo:
name: Update Winrepo
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout Salt
@ -31,7 +31,7 @@ jobs:
uses: actions/checkout@v4
with:
path: winrepo
repository: twangboy/salt-winrepo-ng
repository: saltstack/salt-winrepo-ng
- name: Set Up Python 3.10
uses: actions/setup-python@v5
@ -41,9 +41,12 @@ jobs:
- name: Add Version to Minion Definition File
working-directory: salt
run: |
pwd
ls -al ../winrepo/salt-minion.sls
python .github/workflows/scripts/update_winrepo.py \
--file ../winrepo/salt-minion.sls \
--version ${{ inputs.salt-version || github.ref_name }}
grep ${{ inputs.salt-version || github.ref_name }} ../winrepo/salt-minion.sls
- name: Commit Changes
working-directory: winrepo
@ -56,7 +59,7 @@ jobs:
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v4
uses: peter-evans/create-pull-request@v7
with:
path: winrepo
push-to-fork: saltbot-open/salt-winrepo-ng

View file

@ -20,8 +20,9 @@ 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
PIP_INDEX_URL: ${{ vars.PIP_INDEX_URL }}
PIP_TRUSTED_HOST: ${{ vars.PIP_TRUSTED_HOST }}
PIP_EXTRA_INDEX_URL: ${{ vars.PIP_EXTRA_INDEX_URL }}
jobs:
upload-virustotal:
@ -30,7 +31,6 @@ jobs:
runs-on:
- self-hosted
- linux
- repo-release
steps:
- name: Checkout Salt

View file

@ -21,7 +21,7 @@ on:
env:
COLUMNS: 190
CACHE_SEED: SEED-7 # Bump the number to invalidate all caches
CACHE_SEED: SEED-1 # Bump the number to invalidate all caches
RELENV_DATA: "${{ github.workspace }}/.relenv"
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
@ -37,7 +37,7 @@ jobs:
check-requirements:
name: Check Requirements
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
environment: release-check
steps:
- name: Check For Admin Permission
@ -49,9 +49,9 @@ jobs:
prepare-workflow:
name: Prepare Workflow Run
runs-on:
- self-hosted
- linux
- repo-release
- linux-x86_64
env:
USE_S3_CACHE: 'false'
environment: release
needs:
- check-requirements
@ -61,6 +61,7 @@ jobs:
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
releases: ${{ steps.get-salt-releases.outputs.releases }}
nox-archive-hash: ${{ steps.nox-archive-hash.outputs.nox-archive-hash }}
config: ${{ steps.workflow-config.outputs.config }}
steps:
- uses: actions/checkout@v4
with:
@ -119,12 +120,17 @@ jobs:
run: |
echo "nox-archive-hash=${{ hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py', 'pkg/common/env-cleanup-rules.yml', '.github/workflows/build-deps-ci-action.yml') }}" | tee -a "$GITHUB_OUTPUT"
- name: Define workflow config
id: workflow-config
run: |
tools ci workflow-config${{ inputs.skip-salt-pkg-download-test-suite && ' --skip-pkg-download-tests' || '' }} ${{ steps.setup-salt-version.outputs.salt-version }} ${{ github.event_name }} changed-files.json
download-onedir-artifact:
name: Download Staging Onedir Artifact
runs-on:
- self-hosted
- linux
- repo-release
- linux-x86_64
env:
USE_S3_CACHE: 'true'
environment: release
needs:
- prepare-workflow
@ -180,17 +186,19 @@ jobs:
nox-version: 2022.8.7
python-version: "3.10"
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.16
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
backup:
name: Backup
runs-on:
- self-hosted
- linux
- repo-release
- linux-x86_64
needs:
- prepare-workflow
env:
USE_S3_CACHE: 'true'
environment: release
outputs:
backup-complete: ${{ steps.backup.outputs.backup-complete }}
@ -217,15 +225,14 @@ jobs:
publish-repositories:
name: Publish Repositories
runs-on:
- self-hosted
- linux
- repo-release
- linux-x86_64
env:
USE_S3_CACHE: 'true'
needs:
- prepare-workflow
- backup
- download-onedir-artifact
environment: release
steps:
- name: Clone The Salt Repository
uses: actions/checkout@v4
@ -248,38 +255,17 @@ jobs:
run: |
tools pkg repo publish release ${{ needs.prepare-workflow.outputs.salt-version }}
pkg-download-tests:
name: Package Downloads
if: ${{ inputs.skip-salt-pkg-download-test-suite == false }}
needs:
- prepare-workflow
- publish-repositories
- build-ci-deps
- download-onedir-artifact
uses: ./.github/workflows/test-package-downloads-action.yml
with:
nox-session: ci-test-onedir
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.13
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
environment: release
nox-version: 2022.8.7
python-version: "3.10"
skip-code-coverage: true
latest-release: "${{ needs.prepare-workflow.outputs.latest-release }}"
secrets: inherit
release:
name: Release v${{ needs.prepare-workflow.outputs.salt-version }}
if: ${{ always() && ! failure() && ! cancelled() }}
runs-on:
- self-hosted
- linux
- repo-release
- linux-x86_64
env:
USE_S3_CACHE: 'true'
needs:
- prepare-workflow
- backup
- publish-repositories
- pkg-download-tests
environment: release
steps:
- name: Clone The Salt Repository
@ -354,7 +340,7 @@ jobs:
branch: ${{ github.ref }}
- name: Create Github Release
uses: ncipollo/release-action@v1.12.0
uses: ncipollo/release-action@v1
with:
artifactErrorsFailBuild: true
artifacts: ${{ steps.prepare-release.outputs.release-artifacts }}
@ -386,9 +372,9 @@ jobs:
- release
environment: release
runs-on:
- self-hosted
- linux
- repo-release
- linux-x86_64
env:
USE_S3_CACHE: 'true'
steps:
- uses: actions/checkout@v4
@ -432,25 +418,23 @@ jobs:
TWINE_PASSWORD: "${{ steps.get-secrets.outputs.twine-password }}"
run: |
tools pkg pypi-upload artifacts/release/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz
set-pipeline-exit-status:
# This step is just so we can make github require this step, to pass checks
# on a pull request instead of requiring all
name: Set the ${{ github.workflow }} Pipeline Exit Status
if: always()
runs-on: ubuntu-latest
if: ${{ !cancelled() && always() }}
runs-on: ubuntu-22.04
needs:
- check-requirements
- prepare-workflow
- publish-repositories
- pkg-download-tests
- release
- publish-pypi
- build-ci-deps
steps:
- name: Get workflow information
id: get-workflow-info
uses: technote-space/workflow-conclusion-action@v3
uses: im-open/workflow-conclusion@v2
- run: |
# shellcheck disable=SC2129
@ -464,13 +448,8 @@ jobs:
- name: Set Pipeline Exit Status
shell: bash
run: |
if [ "${{ steps.get-workflow-info.outputs.conclusion }}" != "success" ]; then
if [ "${{ steps.get-workflow-info.outputs.workflow_conclusion }}" != "success" ]; then
exit 1
else
exit 0
fi
- name: Done
if: always()
run:
echo "All worflows finished"

70
.github/workflows/run-nightly.yml vendored Normal file
View file

@ -0,0 +1,70 @@
name: Run Nightly Builds
on:
workflow_dispatch: {}
schedule:
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onschedule
- cron: '0 0 * * *' # Every day at 0AM
permissions:
contents: read # for dorny/paths-filter to fetch a list of changed files
pull-requests: read # for dorny/paths-filter to read pull requests
actions: write # to trigger branch nightly builds
jobs:
workflow-requirements:
name: Check Workflow Requirements
runs-on: ubuntu-22.04
outputs:
requirements-met: ${{ steps.check-requirements.outputs.requirements-met }}
steps:
- name: Check Requirements
id: check-requirements
run: |
if [ "${{ vars.RUN_SCHEDULED_BUILDS }}" = "1" ]; then
MSG="Running workflow because RUN_SCHEDULED_BUILDS=1"
echo "${MSG}"
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}"
echo "requirements-met=true" >> "${GITHUB_OUTPUT}"
elif [ "${{ github.event.repository.fork }}" = "true" ]; then
MSG="Not running workflow because ${{ github.repository }} is a fork"
echo "${MSG}"
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}"
echo "requirements-met=false" >> "${GITHUB_OUTPUT}"
elif [ "${{ github.event.repository.private }}" = "true" ]; then
MSG="Not running workflow because ${{ github.repository }} is a private repository"
echo "${MSG}"
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}"
echo "requirements-met=false" >> "${GITHUB_OUTPUT}"
else
MSG="Running workflow because ${{ github.repository }} is not a fork"
echo "${MSG}"
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}"
echo "requirements-met=true" >> "${GITHUB_OUTPUT}"
fi
trigger-branch-nightly-builds:
name: Trigger Branch Workflows
if: ${{ fromJSON(needs.workflow-requirements.outputs.requirements-met) }}
runs-on: ubuntu-24.04
needs:
- workflow-requirements
environment: workflow-restart
strategy:
matrix:
branch: [3006.x, 3007.x, master]
steps:
- name: Generate a token
id: generate-token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ vars.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }}
- name: Trigger ${{ matrix.branch }} branch
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
run: |
gh workflow run nightly.yml --repo ${{ github.repository }} --ref ${{ matrix.branch }}

File diff suppressed because it is too large Load diff

View file

@ -1,8 +1,10 @@
import argparse
import os
print("Update winrepo script")
# Where are we
print(os.getcwd())
print(f"Current working directory: {os.getcwd()}")
arg_parser = argparse.ArgumentParser()
arg_parser.add_argument("-f", "--file", help="the winrepo file to edit")
@ -12,10 +14,15 @@ args = arg_parser.parse_args()
file = args.file
version = args.version
print("Args:")
print(f"- file: {file}")
print(f"- version: {version}")
if version.startswith("v"):
version = version[1:]
with open(file) as f:
print(f"Opening file: {file}")
current_contents = f.readlines()
new_contents = []
@ -23,9 +30,13 @@ new_contents = []
added = False
for line in current_contents:
new_contents.append(line)
if "for version in [" in line and not added:
new_contents.append(f" '{version}',\n")
if "load_yaml as versions_relenv" in line and not added:
print(f"Adding version: {version}")
new_contents.append(f"- {version}\n")
added = True
with open(file, "w") as f:
print(f"Writing file: {file}")
f.writelines(new_contents)
print("Update winrepo script complete")

56
.github/workflows/ssh-debug.yml vendored Normal file
View file

@ -0,0 +1,56 @@
name: SSH Debug
run-name: "SSH Debug ${{ inputs.runner }}"
on:
workflow_dispatch:
inputs:
runner:
type: string
required: True
description: The runner to start a tunnel on.
offer:
type: string
required: True
description: SDP Offer
public_key:
type: string
required: True
description: Your public key for ssh access.
debug:
required: false
type: boolean
default: false
description: Run sshd with debug enabled.
jobs:
debug:
runs-on: ${{ inputs.runner }}
if: ${{ inputs.runner }}
environment: ci
steps:
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ssh-debug
- name: Install Nox
run: |
python3 -m pip install 'nox==2022.8.7'
env:
PIP_INDEX_URL: https://pypi.org/simple
- uses: ./.github/actions/ssh-tunnel
with:
public_key: ${{ inputs.public_key }}
offer: ${{ inputs.offer }}
debug: ${{ inputs.debug }}

File diff suppressed because it is too large Load diff

View file

@ -1,9 +1,10 @@
build-ci-deps:
<%- do test_salt_needs.append("build-ci-deps") %>
<%- do test_salt_linux_needs.append("build-ci-deps") %>
name: CI Deps
<%- if workflow_slug != 'release' %>
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-deps-ci'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-deps-ci'] }}
<%- endif %>
needs:
- prepare-workflow
@ -20,3 +21,5 @@
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}

View file

@ -23,12 +23,6 @@
with:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
- name: Get Salt Project GitHub Actions Bot Environment
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
- name: Download DEB Packages
uses: actions/download-artifact@v4
with:
@ -78,7 +72,7 @@
- name: Upload Repository As An Artifact
uses: ./.github/actions/upload-artifact
with:
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-repo
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-repo-${{ matrix.pkg-type }}-${{ matrix.distro }}-${{ matrix.version }}-${{ matrix.arch }}
path: artifacts/pkgs/repo/*
retention-days: 7
if-no-files-found: error

View file

@ -1,360 +0,0 @@
---
name: Install Test Dependencies
on:
workflow_call:
inputs:
nox-session:
required: true
type: string
description: The nox session to run
salt-version:
type: string
required: true
description: The Salt version to set prior to running tests.
cache-prefix:
required: true
type: string
description: Seed used to invalidate caches
nox-version:
required: true
type: string
description: The nox version to install
nox-archive-hash:
required: true
type: string
description: Nox Tarball Cache Hash
python-version:
required: false
type: string
description: The python version to run tests with
default: "3.10"
package-name:
required: false
type: string
description: The onedir package name to use
default: salt
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
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
jobs:
linux-dependencies:
name: Linux
runs-on:
- self-hosted
- linux
- bastion
timeout-minutes: 90
strategy:
fail-fast: false
matrix:
include:
<%- for arch, build_distro_slug in build_ci_deps_listing["linux"] %>
- distro-slug: <{ build_distro_slug }>
arch: <{ arch }>
<%- endfor %>
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Cache nox.linux.${{ matrix.arch }}.tar.* for session ${{ inputs.nox-session }}
id: nox-dependencies-cache
uses: actions/cache@v3.3.1
with:
path: nox.linux.${{ matrix.arch }}.tar.*
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ matrix.arch }}|linux|${{ inputs.nox-session }}|${{ inputs.python-version }}|${{ inputs.nox-archive-hash }}
- name: Download Onedir Tarball as an Artifact
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-linux-${{ matrix.arch }}.tar.xz
path: artifacts/
- name: Decompress Onedir Tarball
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
shell: bash
run: |
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-linux-${{ matrix.arch }}.tar.xz
- name: PyPi Proxy
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
sed -i '7s;^;--index-url=https://pypi-proxy.saltstack.net/root/local/+simple/ --extra-index-url=https://pypi.org/simple\n;' requirements/static/ci/*/*.txt
- name: Setup Python Tools Scripts
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}-build-deps-ci
- name: Get Salt Project GitHub Actions Bot Environment
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
- name: Start VM
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
id: spin-up-vm
run: |
tools --timestamps vm create --environment "${SPB_ENVIRONMENT}" --retries=2 ${{ matrix.distro-slug }}
- name: List Free Space
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm ssh ${{ matrix.distro-slug }} -- df -h || true
- name: Upload Checkout To VM
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm rsync ${{ matrix.distro-slug }}
- name: Install Dependencies
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm install-dependencies --nox-session=${{ inputs.nox-session }} ${{ matrix.distro-slug }}
- name: Cleanup .nox Directory
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm pre-archive-cleanup ${{ matrix.distro-slug }}
- name: Compress .nox Directory
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm compress-dependencies ${{ matrix.distro-slug }}
- name: Download Compressed .nox Directory
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm download-dependencies ${{ matrix.distro-slug }}
- name: Destroy VM
if: always() && steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm destroy --no-wait ${{ matrix.distro-slug }}
- name: Upload Nox Requirements Tarball
uses: actions/upload-artifact@v4
with:
name: nox-linux-${{ matrix.arch }}-${{ inputs.nox-session }}
path: nox.linux.${{ matrix.arch }}.tar.*
macos-dependencies:
name: MacOS
runs-on: ${{ matrix.distro-slug }}
timeout-minutes: 90
strategy:
fail-fast: false
matrix:
include:
<%- for arch, build_distro_slug in build_ci_deps_listing["macos"] %>
- distro-slug: <{ build_distro_slug }>
arch: <{ arch }>
<%- endfor %>
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Cache nox.macos.${{ matrix.arch }}.tar.* for session ${{ inputs.nox-session }}
id: nox-dependencies-cache
uses: actions/cache@v3.3.1
with:
path: nox.macos.${{ matrix.arch }}.tar.*
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ matrix.arch }}|macos|${{ inputs.nox-session }}|${{ inputs.python-version }}|${{ inputs.nox-archive-hash }}
- name: Download Onedir Tarball as an Artifact
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-macos-${{ matrix.arch }}.tar.xz
path: artifacts/
- name: Decompress Onedir Tarball
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
shell: bash
run: |
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-macos-${{ matrix.arch }}.tar.xz
- name: Set up Python ${{ inputs.python-version }}
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
- name: Install System Dependencies
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
brew install openssl@3
- name: Install Nox
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
python3 -m pip install 'nox==${{ inputs.nox-version }}'
- name: Install Dependencies
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
env:
PRINT_TEST_SELECTION: "0"
PRINT_SYSTEM_INFO: "0"
run: |
export PYCURL_SSL_LIBRARY=openssl
export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@3/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl@3/lib/pkgconfig"
nox --install-only -e ${{ inputs.nox-session }}
- name: Cleanup .nox Directory
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
nox --force-color -e "pre-archive-cleanup(pkg=False)"
- name: Compress .nox Directory
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
nox --force-color -e compress-dependencies -- macos ${{ matrix.arch }}
- name: Upload Nox Requirements Tarball
uses: actions/upload-artifact@v4
with:
name: nox-macos-${{ matrix.arch }}-${{ inputs.nox-session }}
path: nox.macos.${{ matrix.arch }}.tar.*
windows-dependencies:
name: Windows
runs-on:
- self-hosted
- linux
- bastion
timeout-minutes: 90
strategy:
fail-fast: false
matrix:
include:
<%- for arch, build_distro_slug in build_ci_deps_listing["windows"] %>
- distro-slug: <{ build_distro_slug }>
arch: <{ arch }>
<%- endfor %>
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Cache nox.windows.${{ matrix.arch }}.tar.* for session ${{ inputs.nox-session }}
id: nox-dependencies-cache
uses: actions/cache@v3.3.1
with:
path: nox.windows.${{ matrix.arch }}.tar.*
key: ${{ inputs.cache-prefix }}|testrun-deps|${{ matrix.arch }}|windows|${{ inputs.nox-session }}|${{ inputs.python-version }}|${{ inputs.nox-archive-hash }}
- name: Download Onedir Tarball as an Artifact
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-windows-${{ matrix.arch }}.tar.xz
path: artifacts/
- name: Decompress Onedir Tarball
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
shell: bash
run: |
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-windows-${{ matrix.arch }}.tar.xz
- name: PyPi Proxy
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
sed -i '7s;^;--index-url=https://pypi-proxy.saltstack.net/root/local/+simple/ --extra-index-url=https://pypi.org/simple\n;' requirements/static/ci/*/*.txt
- name: Setup Python Tools Scripts
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}-build-deps-ci
- name: Get Salt Project GitHub Actions Bot Environment
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
- name: Start VM
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
id: spin-up-vm
run: |
tools --timestamps vm create --environment "${SPB_ENVIRONMENT}" --retries=2 ${{ matrix.distro-slug }}
- name: List Free Space
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm ssh ${{ matrix.distro-slug }} -- df -h || true
- name: Upload Checkout To VM
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm rsync ${{ matrix.distro-slug }}
- name: Install Dependencies
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm install-dependencies --nox-session=${{ inputs.nox-session }} ${{ matrix.distro-slug }}
- name: Cleanup .nox Directory
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm pre-archive-cleanup ${{ matrix.distro-slug }}
- name: Compress .nox Directory
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm compress-dependencies ${{ matrix.distro-slug }}
- name: Download Compressed .nox Directory
if: steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm download-dependencies ${{ matrix.distro-slug }}
- name: Destroy VM
if: always() && steps.nox-dependencies-cache.outputs.cache-hit != 'true'
run: |
tools --timestamps vm destroy --no-wait ${{ matrix.distro-slug }}
- name: Upload Nox Requirements Tarball
uses: actions/upload-artifact@v4
with:
name: nox-windows-${{ matrix.arch }}-${{ inputs.nox-session }}
path: nox.windows.${{ matrix.arch }}.tar.*

View file

@ -13,12 +13,6 @@
with:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
- name: Get Salt Project GitHub Actions Bot Environment
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
- name: Download macOS x86_64 Packages
uses: actions/download-artifact@v4
with:
@ -26,6 +20,7 @@
path: artifacts/pkgs/incoming
- name: Download macOS Arch64 Packages
if: ${{ ! github.event.repository.fork }}
uses: actions/download-artifact@v4
with:
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-arm64-macos
@ -73,7 +68,7 @@
- name: Upload Repository As An Artifact
uses: ./.github/actions/upload-artifact
with:
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-repo
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-repo-macos
path: artifacts/pkgs/repo/*
retention-days: 7
if-no-files-found: error

View file

@ -13,12 +13,6 @@
with:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
- name: Get Salt Project GitHub Actions Bot Environment
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
- name: Download Linux x86_64 Onedir Archive
uses: actions/download-artifact@v4
with:
@ -38,6 +32,7 @@
path: artifacts/pkgs/incoming
- name: Download macOS arm64 Onedir Archive
if: ${{ ! github.event.repository.fork }}
uses: actions/download-artifact@v4
with:
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-onedir-macos-arm64.tar.xz
@ -109,7 +104,7 @@
- name: Upload Repository As An Artifact
uses: ./.github/actions/upload-artifact
with:
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-repo
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-repo-onedir
path: artifacts/pkgs/repo/*
retention-days: 7
if-no-files-found: error

View file

@ -1,4 +1,9 @@
<%- for backend in ("onedir", "src") %>
<%- if gh_environment != "ci" -%>
<%- set pkg_types = ("onedir", "src") %>
<%- else -%>
<%- set pkg_types = ("onedir",) %>
<%- endif -%>
<%- for backend in pkg_types %>
<%- set job_name = "build-pkgs-{}".format(backend) %>
<%- if backend == "src" %>
<%- do conclusion_needs.append(job_name) %>
@ -6,7 +11,7 @@
<{ job_name }>:
name: Build Packages
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['build-pkgs'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['build-pkgs'] }}
needs:
- prepare-workflow
- build-salt-onedir
@ -17,11 +22,14 @@
relenv-version: "<{ relenv_version }>"
python-version: "<{ python_version }>"
source: "<{ backend }>"
<%- if gh_environment %>
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
<%- if gh_environment != "ci" %>
environment: <{ gh_environment }>
sign-macos-packages: true
sign-macos-packages: false
sign-windows-packages: <% if gh_environment == 'nightly' -%> false <%- else -%> ${{ inputs.sign-windows-packages }} <%- endif %>
secrets: inherit
<%- endif %>
<%- endfor %>

View file

@ -1,32 +0,0 @@
<%- for type, display_name in (
("src", "Source"),
("deb", "DEB"),
("rpm", "RPM"),
("windows", "Windows"),
("macos", "macOS"),
("onedir", "Onedir"),
) %>
<%- set job_name = "build-{}-repo".format(type) %>
<%- do build_repo_needs.append(job_name) %>
<{ job_name }>:
name: Build Repository
environment: <{ gh_environment }>
runs-on:
- self-hosted
- linux
- repo-<{ gh_environment }>
needs:
- prepare-workflow
<%- if type not in ("src", "onedir") %>
- build-pkgs-onedir
<%- elif type == 'onedir' %>
- build-salt-onedir
<%- elif type == 'src' %>
- build-source-tarball
<%- endif %>
<%- include "build-{}-repo.yml.jinja".format(type) %>
<%- endfor %>

View file

@ -23,12 +23,6 @@
with:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
- name: Get Salt Project GitHub Actions Bot Environment
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
- name: Download RPM Packages
uses: actions/download-artifact@v4
with:
@ -85,7 +79,7 @@
- name: Upload Repository As An Artifact
uses: ./.github/actions/upload-artifact
with:
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-repo
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-repo-${{ matrix.pkg-type }}-${{ matrix.distro }}-${{ matrix.version }}-${{ matrix.arch }}
path: artifacts/pkgs/repo/*
retention-days: 7
if-no-files-found: error

View file

@ -13,12 +13,6 @@
with:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
- name: Get Salt Project GitHub Actions Bot Environment
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
- name: Download Source Tarball
uses: actions/download-artifact@v4
with:
@ -83,7 +77,7 @@
- name: Upload Repository As An Artifact
uses: ./.github/actions/upload-artifact
with:
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-repo
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-repo-src
path: artifacts/pkgs/repo/*
retention-days: 7
if-no-files-found: error

View file

@ -85,7 +85,7 @@
- name: Upload Repository As An Artifact
uses: ./.github/actions/upload-artifact
with:
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-repo
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-repo-windows
path: artifacts/pkgs/repo/*
retention-days: 7
if-no-files-found: error

View file

@ -1,3 +1,5 @@
<%- set gh_environment = gh_environment|default("ci") %>
<%- extends 'layout.yml.jinja' %>
<%- set pre_commit_version = "3.0.4" %>
@ -10,7 +12,6 @@
<{ job_name }>:
<%- do conclusion_needs.append(job_name) %>
name: Pre-Commit
if: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
uses: ./.github/workflows/pre-commit-action.yml
needs:
- prepare-workflow
@ -28,7 +29,7 @@
lint:
<%- do conclusion_needs.append('lint') %>
name: Lint
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['<{ job_name }>'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
uses: ./.github/workflows/lint-action.yml
needs:
- prepare-workflow
@ -37,37 +38,37 @@
<%- endif %>
<%- set job_name = "nsis-tests" %>
<%- if includes.get(job_name, True) %>
<{ job_name }>:
<%- do conclusion_needs.append(job_name) %>
name: NSIS Tests
uses: ./.github/workflows/nsis-tests.yml
needs:
- prepare-workflow
with:
changed-files: ${{ needs.prepare-workflow.outputs.changed-files }}
<%- endif %>
<%- set job_name = "prepare-release" %>
<%- if includes.get(job_name, True) %>
<{ job_name }>:
name: "Prepare Release: ${{ needs.prepare-workflow.outputs.salt-version }}"
<%- if prepare_actual_release %>
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['<{ job_name }>'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
runs-on:
- self-hosted
- linux
- medium
- x86_64
<%- else %>
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['<{ job_name }>'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
runs-on: ubuntu-latest
<%- endif %>
- ubuntu-22.04
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
needs:
- prepare-workflow
steps:
- uses: actions/checkout@v4
<%- if not prepare_actual_release %>
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
<%- endif %>
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
@ -96,22 +97,27 @@
tools changelog update-rpm --draft
tools changelog update-rpm
- name: Create Release Notes Template
shell: bash
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
run: |
if [ "${{ needs.prepare-workflow.outputs.release-changelog-target }}" == "next-major-release" ]; then
tools changelog update-release-notes --next-release --template-only
else
tools changelog update-release-notes --template-only
fi
- name: Update Release Notes
shell: bash
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
run: |
<%- if gh_environment == 'nightly' %>
if [ "${{ contains(fromJSON('["master"]'), github.ref_name) }}" == "true" ]; then
if [ "${{ needs.prepare-workflow.outputs.release-changelog-target }}" == "next-major-release" ]; then
tools changelog update-release-notes --draft <%- if prepare_actual_release %> --release <%- endif %> --next-release
tools changelog update-release-notes <%- if prepare_actual_release %> --release <%- endif %> --next-release
else
tools changelog update-release-notes --draft <%- if prepare_actual_release %> --release <%- endif %>
tools changelog update-release-notes <%- if prepare_actual_release %> --release <%- endif %>
fi
<%- else %>
tools changelog update-release-notes --draft <%- if prepare_actual_release %> --release <%- endif %>
tools changelog update-release-notes <%- if prepare_actual_release %> --release <%- endif %>
<%- endif %>
- name: Generate MAN Pages
shell: bash
@ -184,7 +190,7 @@
<{ job_name }>:
<%- do conclusion_needs.append(job_name) %>
name: Documentation
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['<{ job_name }>'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
needs:
- prepare-workflow
- build-source-tarball
@ -201,11 +207,11 @@
<{ job_name }>:
name: Build Source Tarball
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['<{ job_name }>'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
needs:
- prepare-workflow
- prepare-release
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
@ -232,51 +238,27 @@
<%- endif %>
<%- set job_name = "build-deps-onedir" %>
<%- if includes.get(job_name, True) %>
<{ job_name }>:
<%- do conclusion_needs.append(job_name) %>
name: Build Dependencies Onedir
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['<{ job_name }>'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
needs:
- prepare-workflow
uses: ./.github/workflows/build-deps-onedir.yml
with:
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
self-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
github-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
relenv-version: "<{ relenv_version }>"
python-version: "<{ python_version }>"
<%- endif %>
<%- set job_name = "build-salt-onedir" %>
<%- if includes.get(job_name, True) %>
<{ job_name }>:
<%- do conclusion_needs.append(job_name) %>
name: Build Salt Onedir
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['<{ job_name }>'] }}
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['jobs']['<{ job_name }>'] }}
needs:
- prepare-workflow
- build-deps-onedir
- build-source-tarball
uses: ./.github/workflows/build-salt-onedir.yml
with:
cache-seed: ${{ needs.prepare-workflow.outputs.cache-seed }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
self-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
github-hosted-runners: ${{ fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
relenv-version: "<{ relenv_version }>"
python-version: "<{ python_version }>"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
<%- endif %>
<%- set job_name = "build-pkgs" %>
<%- if includes.get(job_name, True) %>
<%- include "build-packages.yml.jinja" %>
@ -302,8 +284,10 @@
combine-all-code-coverage:
<%- do conclusion_needs.append("combine-all-code-coverage") %>
name: Combine Code Coverage
if: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] == false }}
runs-on: ubuntu-latest
if: ${{ !cancelled() && fromJSON(needs.prepare-workflow.outputs.config)['skip_code_coverage'] == false }}
runs-on: ubuntu-22.04
env:
PIP_INDEX_URL: https://pypi.org/simple
needs:
- prepare-workflow
<%- for need in test_salt_needs.iter(consume=False) %>
@ -340,14 +324,22 @@
#}
- name: Get coverage reports
id: get-coverage-reports
uses: actions/download-artifact@v3
# This needs to be actions/download-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
- name: Merge All Code Coverage Test Run Artifacts
continue-on-error: true
uses: actions/upload-artifact/merge@v4
with:
name: all-testrun-coverage-artifacts
pattern: all-testrun-coverage-artifacts-*
separate-directories: false
delete-merged: true
- name: Get coverage reports
id: get-coverage-reports
uses: actions/download-artifact@v4
with:
path: artifacts/coverage/
pattern: all-testrun-coverage-artifacts*
merge-multiple: true
- name: Display structure of downloaded files
run: tree -a artifacts/
@ -371,7 +363,9 @@
nox --force-color -e create-xml-coverage-reports
- name: Upload Code Coverage To Codecov
if: ${{ ! github.event.repository.private }}
if: ${{ ! github.event.repository.private && ! github.event.repository.fork }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run: |
tools ci upload-coverage --commit-sha=${{ github.event.pull_request.head.sha || github.sha }} artifacts/coverage/
@ -398,6 +392,7 @@
path: artifacts/coverage/html/salt
retention-days: 7
if-no-files-found: error
include-hidden-files: true
- name: Report Combined Code Coverage
run: |
@ -414,6 +409,7 @@
path: artifacts/coverage/coverage.json
retention-days: 7
if-no-files-found: error
include-hidden-files: true
- name: Create Combined Code Coverage HTML Report
run: |
@ -426,6 +422,7 @@
path: artifacts/coverage/html/full
retention-days: 7
if-no-files-found: error
include-hidden-files: true
<%- endif %>
<%- endblock jobs %>

View file

@ -5,7 +5,7 @@
<%- set prepare_workflow_skip_pkg_test_suite = prepare_workflow_skip_pkg_test_suite|default("") %>
<%- set prepare_workflow_skip_pkg_download_test_suite = prepare_workflow_skip_pkg_download_test_suite|default("") %>
<%- set prepare_workflow_salt_version_input = prepare_workflow_salt_version_input|default("") %>
<%- set skip_test_coverage_check = skip_test_coverage_check|default("${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] }}") %>
<%- set skip_test_coverage_check = skip_test_coverage_check|default("${{ fromJSON(needs.prepare-workflow.outputs.config)['skip_code_coverage'] }}") %>
<%- set gpg_key_id = "64CBBC8173D76B3F" %>
<%- set prepare_actual_release = prepare_actual_release | default(False) %>
<%- set gh_actions_workflows_python_version = "3.10" %>
@ -34,7 +34,7 @@ on:
env:
COLUMNS: 190
CACHE_SEED: SEED-7 # Bump the number to invalidate all caches
CACHE_SEED: SEED-1 # Bump the number to invalidate all caches
RELENV_DATA: "${{ github.workspace }}/.relenv"
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
@ -50,6 +50,7 @@ permissions:
actions: read # for technote-space/workflow-conclusion-action to get the job statuses
<%- endif %>
<%- endblock permissions %>
<%- block concurrency %>
@ -77,7 +78,8 @@ jobs:
prepare-workflow:
name: Prepare Workflow Run
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
environment: ci
<%- if prepare_workflow_if_check %>
if: <{ prepare_workflow_if_check }>
<%- endif %>
@ -88,17 +90,19 @@ jobs:
<%- endfor %>
<%- endif %>
outputs:
jobs: ${{ steps.define-jobs.outputs.jobs }}
runners: ${{ steps.runner-types.outputs.runners }}
changed-files: ${{ steps.process-changed-files.outputs.changed-files }}
pull-labels: ${{ steps.get-pull-labels.outputs.labels }}
testrun: ${{ steps.define-testrun.outputs.testrun }}
salt-version: ${{ steps.setup-salt-version.outputs.salt-version }}
cache-seed: ${{ steps.set-cache-seed.outputs.cache-seed }}
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
releases: ${{ steps.get-salt-releases.outputs.releases }}
release-changelog-target: ${{ steps.get-release-changelog-target.outputs.release-changelog-target }}
testing-releases: ${{ steps.get-testing-releases.outputs.testing-releases }}
nox-archive-hash: ${{ steps.nox-archive-hash.outputs.nox-archive-hash }}
config: ${{ steps.workflow-config.outputs.config }}
env:
LINUX_ARM_RUNNER: ${{ vars.LINUX_ARM_RUNNER }}
FULL_TESTRUN_SLUGS: ${{ vars.FULL_TESTRUN_SLUGS }}
PR_TESTRUN_SLUGS: ${{ vars.PR_TESTRUN_SLUGS }}
steps:
- uses: actions/checkout@v4
with:
@ -107,7 +111,7 @@ jobs:
- name: Get Changed Files
if: ${{ github.event_name == 'pull_request'}}
id: changed-files
uses: dorny/paths-filter@v2
uses: dorny/paths-filter@v3
with:
token: ${{ github.token }}
list-files: json
@ -174,6 +178,9 @@ jobs:
- pkg/**
- *pkg_requirements
- *salt_added_modified
nsis_tests:
- added|modified: &nsis_tests
- pkg/windows/nsis/**
testrun:
- added|modified:
- *pkg_requirements
@ -208,14 +215,6 @@ jobs:
salt-version: "<{ prepare_workflow_salt_version_input }>"
validate-version: true
- name: Get Pull Request Test Labels
id: get-pull-labels
if: ${{ github.event_name == 'pull_request'}}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
tools ci get-pr-test-labels --repository ${{ github.repository }}
- name: Get Hash For Nox Tarball Cache
id: nox-archive-hash
run: |
@ -254,26 +253,6 @@ jobs:
run: |
echo '${{ steps.process-changed-files.outputs.changed-files }}' | jq -C '.'
- name: Define Runner Types
id: runner-types
run: |
tools ci runner-types ${{ github.event_name }}
- name: Check Defined Runners
run: |
echo '${{ steps.runner-types.outputs.runners }}' | jq -C '.'
- name: Define Jobs
id: define-jobs
run: |
tools ci define-jobs<{ prepare_workflow_skip_test_suite }><{
prepare_workflow_skip_pkg_test_suite }><{ prepare_workflow_skip_pkg_download_test_suite
}> ${{ github.event_name }} changed-files.json
- name: Check Defined Jobs
run: |
echo '${{ steps.define-jobs.outputs.jobs }}' | jq -C '.'
- name: Get Salt Releases
id: get-salt-releases
env:
@ -288,42 +267,45 @@ jobs:
run: |
tools ci get-testing-releases ${{ join(fromJSON(steps.get-salt-releases.outputs.releases), ' ') }} --salt-version ${{ steps.setup-salt-version.outputs.salt-version }}
- name: Define Testrun
id: define-testrun
- name: Define workflow config
id: workflow-config
run: |
tools ci define-testrun ${{ github.event_name }} changed-files.json
- name: Check Defined Test Run
run: |
echo '${{ steps.define-testrun.outputs.testrun }}' | jq -C '.'
tools ci workflow-config<{ prepare_workflow_skip_test_suite }><{
prepare_workflow_skip_pkg_test_suite }><{ prepare_workflow_skip_pkg_download_test_suite
}> ${{ steps.setup-salt-version.outputs.salt-version }} ${{ github.event_name }} changed-files.json
- name: Check Contents of generated testrun-changed-files.txt
if: ${{ fromJSON(steps.define-testrun.outputs.testrun)['type'] != 'full' }}
if: ${{ fromJSON(steps.workflow-config.outputs.config)['testrun']['type'] != 'full' }}
run: |
cat testrun-changed-files.txt || true
- name: Upload testrun-changed-files.txt
if: ${{ fromJSON(steps.define-testrun.outputs.testrun)['type'] != 'full' }}
if: ${{ fromJSON(steps.workflow-config.outputs.config)['testrun']['type'] != 'full' }}
uses: actions/upload-artifact@v4
with:
name: testrun-changed-files.txt
path: testrun-changed-files.txt
- name: Get Release Changelog Target
id: get-release-changelog-target
run: |
tools ci get-release-changelog-target ${{ github.event_name }}
{# We can't yet use tokenless uploads with the codecov CLI
- name: Install Codecov CLI
if: ${{ fromJSON(steps.define-testrun.outputs.testrun)['skip_code_coverage'] == false }}
if: ${{ fromJSON(steps.define-testrun.outputs.config)['skip_code_coverage'] == false }}
run: |
python3 -m pip install codecov-cli
- name: Save Commit Metadata In Codecov
if: ${{ fromJSON(steps.define-testrun.outputs.testrun)['skip_code_coverage'] == false }}
if: ${{ fromJSON(steps.define-testrun.outputs.config)['skip_code_coverage'] == false }}
run: |
codecovcli --auto-load-params-from GithubActions --verbose --token ${{ secrets.CODECOV_TOKEN }} \
create-commit --git-service github --sha ${{ github.sha }}
- name: Create Codecov Coverage Report
if: ${{ fromJSON(steps.define-testrun.outputs.testrun)['skip_code_coverage'] == false }}
if: ${{ fromJSON(steps.define-testrun.outputs.config)['skip_code_coverage'] == false }}
run: |
codecovcli --auto-load-params-from GithubActions --verbose --token ${{ secrets.CODECOV_TOKEN }} \
create-report --git-service github --sha ${{ github.sha }}
@ -334,13 +316,12 @@ jobs:
<%- endif %>
<%- endblock jobs %>
set-pipeline-exit-status:
# This step is just so we can make github require this step, to pass checks
# on a pull request instead of requiring all
name: Set the ${{ github.workflow }} Pipeline Exit Status
if: always()
runs-on: ubuntu-latest
if: ${{ !cancelled() && always() }}
runs-on: ubuntu-22.04
<%- if workflow_slug == "nightly" %>
environment: <{ workflow_slug }>
<%- endif %>
@ -360,10 +341,14 @@ jobs:
<%- for need in test_repo_needs.iter(consume=True) %>
- <{ need }>
<%- endfor %>
<%- if workflow_slug != "release" %>
- test-packages
- test
<%- endif %>
steps:
- name: Get workflow information
id: get-workflow-info
uses: technote-space/workflow-conclusion-action@v3
uses: im-open/workflow-conclusion@v2
<%- block set_pipeline_exit_status_extra_steps %>
<%- endblock set_pipeline_exit_status_extra_steps %>
@ -371,13 +356,8 @@ jobs:
- name: Set Pipeline Exit Status
shell: bash
run: |
if [ "${{ steps.get-workflow-info.outputs.conclusion }}" != "success" ]; then
if [ "${{ steps.get-workflow-info.outputs.workflow_conclusion }}" != "success" ]; then
exit 1
else
exit 0
fi
- name: Done
if: always()
run:
echo "All worflows finished"

View file

@ -1,8 +1,7 @@
<%- set gh_environment = gh_environment|default("nightly") %>
<%- set skip_test_coverage_check = skip_test_coverage_check|default("false") %>
<%- set skip_test_coverage_check = skip_test_coverage_check|default("true") %>
<%- set prepare_workflow_skip_test_suite = "${{ inputs.skip-salt-test-suite && ' --skip-tests' || '' }}" %>
<%- set prepare_workflow_skip_pkg_test_suite = "${{ inputs.skip-salt-pkg-test-suite && ' --skip-pkg-tests' || '' }}" %>
<%- set prepare_workflow_if_check = prepare_workflow_if_check|default("${{ fromJSON(needs.workflow-requirements.outputs.requirements-met) }}") %>
<%- extends 'ci.yml.jinja' %>
<%- block name %>
@ -25,9 +24,6 @@ on:
type: boolean
default: false
description: Skip running the Salt packages test suite.
schedule:
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onschedule
- cron: '0 0 * * *' # Every day at 0AM
<%- endblock on %>
@ -48,219 +44,10 @@ concurrency:
<%- block pre_jobs %>
<%- include "workflow-requirements-check.yml.jinja" %>
<%- include "trigger-branch-workflows.yml.jinja" %>
{#- When we start using a slack app, we can update messages, not while using incoming webhooks
<%- if workflow_slug == "nightly" %>
<%- do conclusion_needs.append('notify-slack') %>
notify-slack:
name: Notify Slack
runs-on: ubuntu-latest
environment: <{ gh_environment }>
needs:
<%- for need in prepare_workflow_needs.iter(consume=False) %>
- <{ need }>
<%- endfor %>
outputs:
update-ts: ${{ steps.slack.outputs.update-ts }}
steps:
- name: Notify Slack
id: slack
uses: slackapi/slack-github-action@v1.24.0
with:
payload: |
{
"attachments": [
{
"color": "ffca28",
"fields": [
{
"title": "Workflow",
"short": true,
"value": "${{ github.workflow }}",
"type": "mrkdwn"
},
{
"title": "Workflow Run",
"short": true,
"value": "<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|${{ github.run_id }}>",
"type": "mrkdwn"
},
{
"title": "Branch",
"short": true,
"value": "${{ github.ref_name }}",
"type": "mrkdwn"
},
{
"title": "Commit",
"short": true,
"value": "<${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>",
"type": "mrkdwn"
},
{
"title": "Attempt",
"short": true,
"value": "${{ github.run_attempt }}",
"type": "mrkdwn"
},
{
"title": "Status",
"short": true,
"value": "running",
"type": "mrkdwn"
}
],
"author_name": "${{ github.event.sender.login }}",
"author_link": "${{ github.event.sender.html_url }}",
"author_icon": "${{ github.event.sender.avatar_url }}"
}
]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
<%- endif %>
#}
<%- endblock pre_jobs %>
<%- block jobs %>
<{- super() }>
<%- if includes.get("build-repos", True) %>
<%- include "build-repos.yml.jinja" %>
<%- endif %>
publish-repositories:
<%- do conclusion_needs.append('publish-repositories') %>
name: Publish Repositories
if: ${{ always() && ! failure() && ! cancelled() }}
runs-on:
- self-hosted
- linux
- repo-<{ gh_environment }>
environment: <{ gh_environment }>
needs:
- prepare-workflow
<%- for need in build_repo_needs.iter(consume=True) %>
- <{ need }>
<%- endfor %>
<%- if workflow_slug == "nightly" %>
<%- for need in test_salt_needs.iter(consume=True) %>
- <{ need }>
<%- endfor %>
<%- endif %>
steps:
- uses: actions/checkout@v4
- name: Get Salt Project GitHub Actions Bot Environment
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
- name: Download Repository Artifact
uses: actions/download-artifact@v3
# This needs to be actions/download-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-repo
path: repo/
- name: Decompress Repository Artifacts
run: |
find repo/ -type f -name '*.tar.gz' -print -exec tar xvf {} \;
find repo/ -type f -name '*.tar.gz' -print -exec rm -f {} \;
- name: Show Repository
run: |
tree -a artifacts/pkgs/repo/
- name: Upload Repository Contents (<{ gh_environment }>)
env:
SALT_REPO_DOMAIN_RELEASE: ${{ vars.SALT_REPO_DOMAIN_RELEASE || 'repo.saltproject.io' }}
SALT_REPO_DOMAIN_STAGING: ${{ vars.SALT_REPO_DOMAIN_STAGING || 'staging.repo.saltproject.io' }}
run: |
tools pkg repo publish <{ gh_environment }> --salt-version=${{ needs.prepare-workflow.outputs.salt-version }} artifacts/pkgs/repo/
<%- endblock jobs %>
<%- block set_pipeline_exit_status_extra_steps %>
<%- if workflow_slug == "nightly" %>
- name: Notify Slack
id: slack
if: always()
uses: slackapi/slack-github-action@v1.24.0
with:
{#- When we start using a slack app, we can update messages, not while using incoming webhooks
update-ts: ${{ needs.notify-slack.outputs.update-ts }}
#}
payload: |
{
"attachments": [
{
"fallback": "${{ github.workflow }} Workflow build result for the `${{ github.ref_name }}` branch(attempt: ${{ github.run_attempt }}): `${{ steps.get-workflow-info.outputs.conclusion }}`\n${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}",
"color": "${{ steps.get-workflow-info.outputs.conclusion != 'success' && 'ff3d00' || '00e676' }}",
"fields": [
{
"title": "Workflow",
"short": true,
"value": "${{ github.workflow }}",
"type": "mrkdwn"
},
{
"title": "Workflow Run",
"short": true,
"value": "<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|${{ github.run_id }}>",
"type": "mrkdwn"
},
{
"title": "Branch",
"short": true,
"value": "${{ github.ref_name }}",
"type": "mrkdwn"
},
{
"title": "Commit",
"short": true,
"value": "<${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>",
"type": "mrkdwn"
},
{
"title": "Attempt",
"short": true,
"value": "${{ github.run_attempt }}",
"type": "mrkdwn"
},
{
"title": "Status",
"short": true,
"value": "${{ steps.get-workflow-info.outputs.conclusion }}",
"type": "mrkdwn"
}
],
"author_name": "${{ github.event.sender.login }}",
"author_link": "${{ github.event.sender.html_url }}",
"author_icon": "${{ github.event.sender.avatar_url }}"
}
]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
<%- endif %>
<%- endblock set_pipeline_exit_status_extra_steps %>

View file

@ -52,7 +52,7 @@ permissions:
<{ job_name }>:
<%- do prepare_workflow_needs.append(job_name) %>
name: Check Requirements
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
environment: <{ gh_environment }>-check
steps:
- name: Check For Admin Permission
@ -71,9 +71,9 @@ permissions:
prepare-workflow:
name: Prepare Workflow Run
runs-on:
- self-hosted
- linux
- repo-<{ gh_environment }>
- linux-x86_64
env:
USE_S3_CACHE: 'false'
environment: <{ gh_environment }>
<%- if prepare_workflow_needs %>
needs:
@ -87,6 +87,7 @@ permissions:
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
releases: ${{ steps.get-salt-releases.outputs.releases }}
nox-archive-hash: ${{ steps.nox-archive-hash.outputs.nox-archive-hash }}
config: ${{ steps.workflow-config.outputs.config }}
steps:
- uses: actions/checkout@v4
with:
@ -145,6 +146,14 @@ permissions:
run: |
echo "nox-archive-hash=<{ nox_archive_hashfiles }>" | tee -a "$GITHUB_OUTPUT"
- name: Define workflow config
id: workflow-config
run: |
tools ci workflow-config<{ prepare_workflow_skip_test_suite }><{
prepare_workflow_skip_pkg_test_suite }><{ prepare_workflow_skip_pkg_download_test_suite
}> ${{ steps.setup-salt-version.outputs.salt-version }} ${{ github.event_name }} changed-files.json
<%- endblock prepare_workflow_job %>
<%- endif %>
@ -154,9 +163,9 @@ permissions:
download-onedir-artifact:
name: Download Staging Onedir Artifact
runs-on:
- self-hosted
- linux
- repo-<{ gh_environment }>
- linux-x86_64
env:
USE_S3_CACHE: 'true'
environment: <{ gh_environment }>
needs:
- prepare-workflow
@ -207,11 +216,11 @@ permissions:
backup:
name: Backup
runs-on:
- self-hosted
- linux
- repo-<{ gh_environment }>
- linux-x86_64
needs:
- prepare-workflow
env:
USE_S3_CACHE: 'true'
environment: <{ gh_environment }>
outputs:
backup-complete: ${{ steps.backup.outputs.backup-complete }}
@ -239,15 +248,14 @@ permissions:
<%- do conclusion_needs.append('publish-repositories') %>
name: Publish Repositories
runs-on:
- self-hosted
- linux
- repo-<{ gh_environment }>
- linux-x86_64
env:
USE_S3_CACHE: 'true'
needs:
- prepare-workflow
- backup
- download-onedir-artifact
environment: <{ gh_environment }>
steps:
- name: Clone The Salt Repository
uses: actions/checkout@v4
@ -270,18 +278,14 @@ permissions:
run: |
tools pkg repo publish <{ gh_environment }> ${{ needs.prepare-workflow.outputs.salt-version }}
<%- if includes.get("test-pkg-downloads", True) %>
<%- include "test-salt-pkg-repo-downloads.yml.jinja" %>
<%- endif %>
release:
<%- do conclusion_needs.append('release') %>
name: Release v${{ needs.prepare-workflow.outputs.salt-version }}
if: ${{ always() && ! failure() && ! cancelled() }}
runs-on:
- self-hosted
- linux
- repo-<{ gh_environment }>
- linux-x86_64
env:
USE_S3_CACHE: 'true'
needs:
- prepare-workflow
- backup
@ -363,7 +367,7 @@ permissions:
branch: ${{ github.ref }}
- name: Create Github Release
uses: ncipollo/release-action@v1.12.0
uses: ncipollo/release-action@v1
with:
artifactErrorsFailBuild: true
artifacts: ${{ steps.prepare-release.outputs.release-artifacts }}
@ -393,9 +397,9 @@ permissions:
name: Restore Release Bucket From Backup
if: ${{ always() && needs.backup.outputs.backup-complete == 'true' && (failure() || cancelled()) }}
runs-on:
- self-hosted
- linux
- repo-<{ gh_environment }>
- linux-x86_64
env:
USE_S3_CACHE: 'true'
needs:
- backup
- release
@ -434,9 +438,9 @@ permissions:
- restore #}
environment: <{ gh_environment }>
runs-on:
- self-hosted
- linux
- repo-<{ gh_environment }>
- linux-x86_64
env:
USE_S3_CACHE: 'true'
steps:
- uses: actions/checkout@v4
@ -494,3 +498,5 @@ permissions:
echo '```' >> "${GITHUB_STEP_SUMMARY}"
fi
<%- endblock set_pipeline_exit_status_extra_steps %>
<%- block retry %>
<%- endblock retry %>

View file

@ -1,5 +1,5 @@
<%- set prepare_workflow_if_check = "${{ fromJSON(needs.workflow-requirements.outputs.requirements-met) }}" %>
<%- set skip_test_coverage_check = "false" %>
<%- set skip_test_coverage_check = "true" %>
<%- extends 'ci.yml.jinja' %>

View file

@ -51,9 +51,9 @@ on:
<%- block concurrency %>
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.repository }}
cancel-in-progress: false
#concurrency:
# group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.repository }}
# cancel-in-progress: false
<%- endblock concurrency %>
@ -65,7 +65,7 @@ concurrency:
<{ job_name }>:
<%- do prepare_workflow_needs.append(job_name) %>
name: Check Requirements
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
environment: <{ gh_environment }>-check
steps:
- name: Check For Admin Permission
@ -86,21 +86,12 @@ concurrency:
needs:
- prepare-workflow
- build-docs
- build-src-repo
environment: <{ gh_environment }>
runs-on:
- self-hosted
- linux
- repo-<{ gh_environment }>
- ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Get Salt Project GitHub Actions Bot Environment
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
@ -112,60 +103,20 @@ concurrency:
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}.patch
path: artifacts/release
- name: Download Source Repository
uses: actions/download-artifact@v4
with:
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-<{ gh_environment }>-src-repo
path: artifacts/release
- name: Download Release Documentation (HTML)
uses: actions/download-artifact@v4
with:
name: salt-${{ needs.prepare-workflow.outputs.salt-version }}-docs-html.tar.xz
path: artifacts/release
- name: Download Release Documentation (ePub)
uses: actions/download-artifact@v4
with:
name: Salt-${{ needs.prepare-workflow.outputs.salt-version }}.epub
path: artifacts/release
- name: Show Release Artifacts
run: |
tree -a artifacts/release
{#-
- name: Download Release Documentation (PDF)
uses: actions/download-artifact@v4
with:
name: Salt-${{ needs.prepare-workflow.outputs.salt-version }}.pdf
path: artifacts/release
#}
- name: Upload Release Artifacts
run: |
tools release upload-artifacts ${{ needs.prepare-workflow.outputs.salt-version }} artifacts/release
- name: Upload PyPi Artifacts
uses: actions/upload-artifact@v4
with:
name: pypi-artifacts
path: |
artifacts/release/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz
artifacts/release/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz.asc
retention-days: 7
if-no-files-found: error
<%- if includes.get("test-pkg-downloads", True) %>
<%- include "test-salt-pkg-repo-downloads.yml.jinja" %>
<%- endif %>
publish-pypi:
<%- do conclusion_needs.append('publish-pypi') %>
name: Publish to PyPi(test)
if: ${{ inputs.skip-test-pypi-publish != true && github.event.repository.fork != true }}
if: ${{ !cancelled() && inputs.skip-test-pypi-publish != true && github.event.repository.fork != true }}
needs:
- prepare-workflow
- upload-release-artifacts
@ -180,9 +131,7 @@ concurrency:
<%- endfor %>
environment: <{ gh_environment }>
runs-on:
- self-hosted
- linux
- repo-<{ gh_environment }>
- ubuntu-22.04
steps:
- uses: actions/checkout@v4
@ -227,4 +176,28 @@ concurrency:
run: |
tools pkg pypi-upload --test artifacts/release/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz
draft-release:
name: Draft Github Release
if: ${{ !cancelled() && (needs.test.result == 'success' || needs.test.result == 'skipped') &&
(needs.test-packages.result == 'success' || needs.test-packages.result == 'skipped') &&
needs.prepare-workflow.result == 'success' && needs.build-salt-onedir.result == 'success' &&
needs.build-pkgs-onedir.result == 'success' && needs.pre-commit.result == 'success' }}
needs:
- prepare-workflow
- pre-commit
- build-salt-onedir
- build-pkgs-onedir
- test-packages
- test
permissions:
contents: write
pull-requests: read
id-token: write
uses: ./.github/workflows/draft-release.yml
with:
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['artifact-matrix']) }}
build-matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
<%- endblock jobs %>

View file

@ -1,673 +0,0 @@
name: Test Download Packages
on:
workflow_call:
inputs:
salt-version:
type: string
required: true
description: The Salt version of the packages to install and test
cache-prefix:
required: true
type: string
description: Seed used to invalidate caches
environment:
required: true
type: string
description: The environment to run tests against
latest-release:
required: true
type: string
description: The latest salt release
nox-version:
required: true
type: string
description: The nox version to install
python-version:
required: false
type: string
description: The python version to run tests with
default: "3.10"
package-name:
required: false
type: string
description: The onedir package name to use
default: salt
skip-code-coverage:
required: false
type: boolean
description: Skip code coverage
default: false
nox-session:
required: false
type: string
description: The nox session to run
default: ci-test-onedir
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
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
jobs:
linux:
name: Linux
runs-on:
- self-hosted
- linux
- bastion
environment: ${{ inputs.environment }}
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
strategy:
fail-fast: false
matrix:
include:
<%- for slug, arch, pkg_type in test_salt_pkg_downloads_listing["linux"] %>
- distro-slug: <{ slug }>
arch: <{ arch }>
pkg-type: <{ pkg_type }>
<%- endfor %>
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Download Onedir Tarball as an Artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-linux-${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}.tar.xz
path: artifacts/
- name: Decompress Onedir Tarball
shell: bash
run: |
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-linux-${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}.tar.xz
- name: Download nox.linux.${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}.tar.* artifact for session ${{ inputs.nox-session }}
uses: actions/download-artifact@v4
with:
name: nox-linux-${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}-${{ inputs.nox-session }}
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}-pkg-download-linux
- name: Get Salt Project GitHub Actions Bot Environment
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
- name: Start VM
id: spin-up-vm
run: |
tools --timestamps vm create --environment "${SPB_ENVIRONMENT}" --retries=2 ${{ matrix.distro-slug }}
- name: List Free Space
run: |
tools --timestamps vm ssh ${{ matrix.distro-slug }} -- df -h || true
- name: Upload Checkout To VM
run: |
tools --timestamps vm rsync ${{ matrix.distro-slug }}
- name: Decompress .nox Directory
run: |
tools --timestamps vm decompress-dependencies ${{ matrix.distro-slug }}
- name: Show System Info
run: |
tools --timestamps --timeout-secs=1800 vm test --skip-requirements-install --print-system-information-only \
--nox-session=${{ inputs.nox-session }}-pkgs ${{ matrix.distro-slug }} -- download-pkgs
- name: Run Package Download Tests
env:
SALT_RELEASE: "${{ inputs.salt-version }}"
SALT_REPO_ARCH: ${{ matrix.arch }}
SALT_REPO_TYPE: ${{ inputs.environment }}
SALT_REPO_USER: ${{ secrets.SALT_REPO_USER }}
SALT_REPO_PASS: ${{ secrets.SALT_REPO_PASS }}
SALT_REPO_DOMAIN_RELEASE: ${{ vars.SALT_REPO_DOMAIN_RELEASE || 'repo.saltproject.io' }}
SALT_REPO_DOMAIN_STAGING: ${{ vars.SALT_REPO_DOMAIN_STAGING || 'staging.repo.saltproject.io' }}
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
LATEST_SALT_RELEASE: "${{ inputs.latest-release }}"
DOWNLOAD_TEST_PACKAGE_TYPE: ${{ matrix.pkg-type }}
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
-E SALT_RELEASE -E SALT_REPO_ARCH -E SALT_REPO_TYPE -E SALT_REPO_USER -E SALT_REPO_PASS \
-E SALT_REPO_DOMAIN_RELEASE -E SALT_REPO_DOMAIN_STAGING -E LATEST_SALT_RELEASE -E DOWNLOAD_TEST_PACKAGE_TYPE \
--nox-session=${{ inputs.nox-session }}-pkgs --rerun-failures ${{ matrix.distro-slug }} -- download-pkgs
- name: Combine Coverage Reports
if: always() && inputs.skip-code-coverage == false && steps.spin-up-vm.outcome == 'success' && job.status != 'cancelled'
run: |
tools --timestamps vm combine-coverage ${{ matrix.distro-slug }}
- name: Download Test Run Artifacts
id: download-artifacts-from-vm
if: always() && steps.spin-up-vm.outcome == 'success'
run: |
tools --timestamps vm download-artifacts ${{ matrix.distro-slug }}
# Delete the salt onedir, we won't need it anymore and it will prevent
# from it showing in the tree command below
rm -rf artifacts/salt*
tree -a artifacts
- name: Destroy VM
if: always()
run: |
tools --timestamps vm destroy --no-wait ${{ matrix.distro-slug }} || true
- name: Fix file ownership
run: |
sudo chown -R "$(id -un)" .
- name: Install Codecov CLI
if: always() && inputs.skip-code-coverage == false && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
run: |
# We can't yet use tokenless uploads with the codecov CLI
# python3 -m pip install codecov-cli
#
curl https://keybase.io/codecovsecurity/pgp_keys.asc | gpg --no-default-keyring --import
curl -Os https://uploader.codecov.io/latest/linux/codecov
curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM
curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM.sig
gpg --verify codecov.SHA256SUM.sig codecov.SHA256SUM
shasum -a 256 -c codecov.SHA256SUM
chmod +x codecov
- name: Upload Source Code Coverage To Codecov
if: always() && inputs.skip-code-coverage == false && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
run: |
if [ ! -s artifacts/coverage/salt.xml ]; then
echo "The artifacts/coverage/salt.xml file does not exist"
exit 1
fi
# We can't yet use tokenless uploads with the codecov CLI
#codecovcli --auto-load-params-from GithubActions --verbose --token ${{ secrets.CODECOV_TOKEN }} \
# do-upload --git-service github --sha ${{ github.sha }} \
# --file artifacts/coverage/salt.xml \
# --flag salt --flag ${{ matrix.distro-slug }} --flag pkg \
# --name salt.${{ matrix.distro-slug }}.${{ inputs.nox-session }}.download-pkgs
n=0
until [ "$n" -ge 5 ]
do
if ./codecov --file artifacts/coverage/salt.xml \
--sha ${{ github.event.pull_request.head.sha || github.sha }} ${{ github.event_name == 'pull_request' && format('--parent {0}', github.event.pull_request.base.sha) }} \
--flags salt,${{ matrix.distro-slug }},pkg \
--name salt.${{ matrix.distro-slug }}.${{ inputs.nox-session }}.download-pkgs --nonZero; then
rc=$?
break
fi
rc=$?
n=$((n+1))
sleep 15
done
if [ "$rc" -ne 0 ]; then
echo "Failed to upload codecov stats"
exit 1
fi
- name: Upload Tests Code Coverage To Codecov
if: always() && inputs.skip-code-coverage == false && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
run: |
if [ ! -s artifacts/coverage/tests.xml ]; then
echo "The artifacts/coverage/tests.xml file does not exist"
exit 1
fi
# We can't yet use tokenless uploads with the codecov CLI
#codecovcli --auto-load-params-from GithubActions --verbose --token ${{ secrets.CODECOV_TOKEN }} \
# do-upload --git-service github --sha ${{ github.sha }} \
# --file artifacts/coverage/tests.xml \
# --flag tests --flag ${{ matrix.distro-slug }} --flag pkg \
# --name tests.${{ matrix.distro-slug }}.${{ inputs.nox-session }}.download-pkgs
n=0
until [ "$n" -ge 5 ]
do
if ./codecov --file artifacts/coverage/tests.xml \
--sha ${{ github.event.pull_request.head.sha || github.sha }} ${{ github.event_name == 'pull_request' && format('--parent {0}', github.event.pull_request.base.sha) }} \
--flags tests,${{ matrix.distro-slug }},pkg \
--name tests.${{ matrix.distro-slug }}.${{ inputs.nox-session }}.download-pkgs --nonZero; then
rc=$?
break
fi
rc=$?
n=$((n+1))
sleep 15
done
if [ "$rc" -ne 0 ]; then
echo "Failed to upload codecov stats"
exit 1
fi
- name: Upload Test Run Artifacts
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: pkg-testrun-artifacts-${{ matrix.distro-slug }}-${{ matrix.arch }}
path: |
artifacts
!artifacts/salt/*
!artifacts/salt-*.tar.*
macos:
name: MacOS
runs-on: ${{ matrix.distro-slug }}
environment: ${{ inputs.environment }}
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
strategy:
fail-fast: false
matrix:
include:
<%- for slug, arch, pkg_type in test_salt_pkg_downloads_listing["macos"] %>
- distro-slug: <{ slug }>
arch: <{ arch }>
pkg-type: <{ pkg_type }>
<%- endfor %>
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Download Onedir Tarball as an Artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-macos-${{ matrix.arch }}.tar.xz
path: artifacts/
- name: Install System Dependencies
run: |
brew install tree
- name: Decompress Onedir Tarball
shell: bash
run: |
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-macos-${{ matrix.arch }}.tar.xz
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
update-environment: true
- name: Install Nox
run: |
python3 -m pip install 'nox==${{ inputs.nox-version }}'
- name: Download nox.macos.${{ matrix.arch }}.tar.* artifact for session ${{ inputs.nox-session }}
uses: actions/download-artifact@v4
with:
name: nox-macos-${{ matrix.arch }}-${{ inputs.nox-session }}
- name: Decompress .nox Directory
run: |
nox --force-color -e decompress-dependencies -- macos ${{ matrix.arch }}
- name: Show System Info
env:
SKIP_REQUIREMENTS_INSTALL: "1"
PRINT_SYSTEM_INFO_ONLY: "1"
run: |
sudo -E nox --force-color -e ${{ inputs.nox-session }}-pkgs -- download-pkgs
- name: Run Package Download Tests
env:
SKIP_REQUIREMENTS_INSTALL: "1"
PRINT_TEST_SELECTION: "0"
PRINT_TEST_PLAN_ONLY: "0"
PRINT_SYSTEM_INFO: "0"
RERUN_FAILURES: "1"
GITHUB_ACTIONS_PIPELINE: "1"
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
COVERAGE_CONTEXT: ${{ matrix.distro-slug }}
SALT_RELEASE: "${{ inputs.salt-version }}"
SALT_REPO_ARCH: ${{ matrix.arch }}
LATEST_SALT_RELEASE: "${{ inputs.latest-release }}"
SALT_REPO_TYPE: ${{ inputs.environment }}
SALT_REPO_USER: ${{ secrets.SALT_REPO_USER }}
SALT_REPO_PASS: ${{ secrets.SALT_REPO_PASS }}
SALT_REPO_DOMAIN_RELEASE: ${{ vars.SALT_REPO_DOMAIN_RELEASE || 'repo.saltproject.io' }}
SALT_REPO_DOMAIN_STAGING: ${{ vars.SALT_REPO_DOMAIN_STAGING || 'staging.repo.saltproject.io' }}
DOWNLOAD_TEST_PACKAGE_TYPE: ${{ matrix.pkg-type }}
run: |
sudo -E nox --force-color -e ${{ inputs.nox-session }}-pkgs -- download-pkgs
- name: Fix file ownership
run: |
sudo chown -R "$(id -un)" .
- name: Combine Coverage Reports
if: always() && inputs.skip-code-coverage == false && job.status != 'cancelled'
run: |
nox --force-color -e combine-coverage
- name: Prepare Test Run Artifacts
id: download-artifacts-from-vm
if: always() && job.status != 'cancelled'
run: |
# Delete the salt onedir, we won't need it anymore and it will prevent
# from it showing in the tree command below
rm -rf artifacts/salt*
tree -a artifacts
- name: Install Codecov CLI
if: always() && inputs.skip-code-coverage == false && job.status != 'cancelled'
run: |
# We can't yet use tokenless uploads with the codecov CLI
# python3 -m pip install codecov-cli
#
curl https://keybase.io/codecovsecurity/pgp_keys.asc | gpg --no-default-keyring --import
curl -Os https://uploader.codecov.io/latest/macos/codecov
curl -Os https://uploader.codecov.io/latest/macos/codecov.SHA256SUM
curl -Os https://uploader.codecov.io/latest/macos/codecov.SHA256SUM.sig
gpg --verify codecov.SHA256SUM.sig codecov.SHA256SUM
shasum -a 256 -c codecov.SHA256SUM
chmod +x codecov
- name: Upload Source Code Coverage To Codecov
if: always() && inputs.skip-code-coverage == false && job.status != 'cancelled'
run: |
if [ ! -s artifacts/coverage/salt.xml ]; then
echo "The artifacts/coverage/salt.xml file does not exist"
exit 1
fi
# We can't yet use tokenless uploads with the codecov CLI
#codecovcli --auto-load-params-from GithubActions --verbose --token ${{ secrets.CODECOV_TOKEN }} \
# do-upload --git-service github --sha ${{ github.sha }} \
# --file artifacts/coverage/salt.xml \
# --flag salt --flag ${{ matrix.distro-slug }} --flag pkg \
# --name salt.${{ matrix.distro-slug }}.${{ inputs.nox-session }}.download-pkgs
n=0
until [ "$n" -ge 5 ]
do
if ./codecov --file artifacts/coverage/salt.xml \
--sha ${{ github.event.pull_request.head.sha || github.sha }} ${{ github.event_name == 'pull_request' && format('--parent {0}', github.event.pull_request.base.sha) }} \
--flags salt,${{ matrix.distro-slug }},pkg \
--name salt.${{ matrix.distro-slug }}.${{ inputs.nox-session }}.download-pkgs --nonZero; then
rc=$?
break
fi
rc=$?
n=$((n+1))
sleep 15
done
if [ "$rc" -ne 0 ]; then
echo "Failed to upload codecov stats"
exit 1
fi
- name: Upload Tests Code Coverage To Codecov
if: always() && inputs.skip-code-coverage == false && job.status != 'cancelled'
run: |
if [ ! -s artifacts/coverage/tests.xml ]; then
echo "The artifacts/coverage/tests.xml file does not exist"
exit 1
fi
# We can't yet use tokenless uploads with the codecov CLI
#codecovcli --auto-load-params-from GithubActions --verbose --token ${{ secrets.CODECOV_TOKEN }} \
# do-upload --git-service github --sha ${{ github.sha }} \
# --file artifacts/coverage/tests.xml \
# --flag tests --flag ${{ matrix.distro-slug }} --flag pkg \
# --name tests.${{ matrix.distro-slug }}.${{ inputs.nox-session }}.download-pkgs
n=0
until [ "$n" -ge 5 ]
do
if ./codecov --file artifacts/coverage/tests.xml \
--sha ${{ github.event.pull_request.head.sha || github.sha }} ${{ github.event_name == 'pull_request' && format('--parent {0}', github.event.pull_request.base.sha) }} \
--flags tests,${{ matrix.distro-slug }},pkg \
--name tests.${{ matrix.distro-slug }}.${{ inputs.nox-session }}.download-pkgs --nonZero; then
rc=$?
break
fi
rc=$?
n=$((n+1))
sleep 15
done
if [ "$rc" -ne 0 ]; then
echo "Failed to upload codecov stats"
exit 1
fi
- name: Upload Test Run Artifacts
if: always()
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: pkg-testrun-artifacts-${{ matrix.distro-slug }}-${{ matrix.arch }}
path: |
artifacts
!artifacts/salt/*
!artifacts/salt-*.tar.*
windows:
name: Windows
runs-on:
- self-hosted
- linux
- bastion
environment: ${{ inputs.environment }}
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
strategy:
fail-fast: false
matrix:
include:
<%- for slug, arch, pkg_type in test_salt_pkg_downloads_listing["windows"] %>
- distro-slug: <{ slug }>
arch: <{ arch }>
pkg-type: <{ pkg_type }>
<%- endfor %>
steps:
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Download Onedir Tarball as an Artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-windows-${{ matrix.arch }}.tar.xz
path: artifacts/
- name: Decompress Onedir Tarball
shell: bash
run: |
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-windows-${{ matrix.arch }}.tar.xz
- name: Download nox.windows.${{ matrix.arch }}.tar.* artifact for session ${{ inputs.nox-session }}
uses: actions/download-artifact@v4
with:
name: nox-windows-${{ matrix.arch }}-${{ inputs.nox-session }}
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}-pkg-download-windows
- name: Get Salt Project GitHub Actions Bot Environment
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
- name: Start VM
id: spin-up-vm
run: |
tools --timestamps vm create --environment "${SPB_ENVIRONMENT}" --retries=2 ${{ matrix.distro-slug }}
- name: List Free Space
run: |
tools --timestamps vm ssh ${{ matrix.distro-slug }} -- df -h || true
- name: Upload Checkout To VM
run: |
tools --timestamps vm rsync ${{ matrix.distro-slug }}
- name: Decompress .nox Directory
run: |
tools --timestamps vm decompress-dependencies ${{ matrix.distro-slug }}
- name: Show System Info
run: |
tools --timestamps --timeout-secs=1800 vm test --skip-requirements-install --print-system-information-only \
--nox-session=${{ inputs.nox-session }}-pkgs ${{ matrix.distro-slug }} -- download-pkgs
- name: Run Package Download Tests
env:
SALT_RELEASE: "${{ inputs.salt-version }}"
SALT_REPO_ARCH: ${{ matrix.arch }}
LATEST_SALT_RELEASE: "${{ inputs.latest-release }}"
SALT_REPO_TYPE: ${{ inputs.environment }}
SALT_REPO_USER: ${{ secrets.SALT_REPO_USER }}
SALT_REPO_PASS: ${{ secrets.SALT_REPO_PASS }}
SALT_REPO_DOMAIN_RELEASE: ${{ vars.SALT_REPO_DOMAIN_RELEASE || 'repo.saltproject.io' }}
SALT_REPO_DOMAIN_STAGING: ${{ vars.SALT_REPO_DOMAIN_STAGING || 'staging.repo.saltproject.io' }}
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
DOWNLOAD_TEST_PACKAGE_TYPE: ${{ matrix.pkg-type }}
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
-E SALT_RELEASE -E SALT_REPO_ARCH -E SALT_REPO_TYPE -E SALT_REPO_USER -E SALT_REPO_PASS \
-E SALT_REPO_DOMAIN_RELEASE -E SALT_REPO_DOMAIN_STAGING -E LATEST_SALT_RELEASE -E DOWNLOAD_TEST_PACKAGE_TYPE \
--nox-session=${{ inputs.nox-session }}-pkgs --rerun-failures ${{ matrix.distro-slug }} -- download-pkgs
- name: Combine Coverage Reports
if: always() && inputs.skip-code-coverage == false && steps.spin-up-vm.outcome == 'success' && job.status != 'cancelled'
run: |
tools --timestamps vm combine-coverage ${{ matrix.distro-slug }}
- name: Download Test Run Artifacts
id: download-artifacts-from-vm
if: always() && steps.spin-up-vm.outcome == 'success'
run: |
tools --timestamps vm download-artifacts ${{ matrix.distro-slug }}
# Delete the salt onedir, we won't need it anymore and it will prevent
# from it showing in the tree command below
rm -rf artifacts/salt*
tree -a artifacts
- name: Destroy VM
if: always()
run: |
tools --timestamps vm destroy --no-wait ${{ matrix.distro-slug }} || true
- name: Fix file ownership
run: |
sudo chown -R "$(id -un)" .
- name: Install Codecov CLI
if: always() && inputs.skip-code-coverage == false && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
run: |
# We can't yet use tokenless uploads with the codecov CLI
# python3 -m pip install codecov-cli
#
curl https://keybase.io/codecovsecurity/pgp_keys.asc | gpg --no-default-keyring --import
curl -Os https://uploader.codecov.io/latest/linux/codecov
curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM
curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM.sig
gpg --verify codecov.SHA256SUM.sig codecov.SHA256SUM
shasum -a 256 -c codecov.SHA256SUM
chmod +x codecov
- name: Upload Source Code Coverage To Codecov
if: always() && inputs.skip-code-coverage == false && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
run: |
if [ ! -s artifacts/coverage/salt.xml ]; then
echo "The artifacts/coverage/salt.xml file does not exist"
exit 1
fi
# We can't yet use tokenless uploads with the codecov CLI
#codecovcli --auto-load-params-from GithubActions --verbose --token ${{ secrets.CODECOV_TOKEN }} \
# do-upload --git-service github --sha ${{ github.sha }} \
# --file artifacts/coverage/salt.xml \
# --flag salt --flag ${{ matrix.distro-slug }} --flag pkg \
# --name salt.${{ matrix.distro-slug }}.${{ inputs.nox-session }}.download-pkgs
n=0
until [ "$n" -ge 5 ]
do
if ./codecov --file artifacts/coverage/salt.xml \
--sha ${{ github.event.pull_request.head.sha || github.sha }} ${{ github.event_name == 'pull_request' && format('--parent {0}', github.event.pull_request.base.sha) }} \
--flags salt,${{ matrix.distro-slug }},pkg \
--name salt.${{ matrix.distro-slug }}.${{ inputs.nox-session }}.download-pkgs --nonZero; then
rc=$?
break
fi
rc=$?
n=$((n+1))
sleep 15
done
if [ "$rc" -ne 0 ]; then
echo "Failed to upload codecov stats"
exit 1
fi
- name: Upload Tests Code Coverage To Codecov
if: always() && inputs.skip-code-coverage == false && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
run: |
if [ ! -s artifacts/coverage/tests.xml ]; then
echo "The artifacts/coverage/tests.xml file does not exist"
exit 1
fi
# We can't yet use tokenless uploads with the codecov CLI
#codecovcli --auto-load-params-from GithubActions --verbose --token ${{ secrets.CODECOV_TOKEN }} \
# do-upload --git-service github --sha ${{ github.sha }} \
# --file artifacts/coverage/tests.xml \
# --flag tests --flag ${{ matrix.distro-slug }} --flag pkg \
# --name tests.${{ matrix.distro-slug }}.${{ inputs.nox-session }}.download-pkgs
n=0
until [ "$n" -ge 5 ]
do
if ./codecov --file artifacts/coverage/tests.xml \
--sha ${{ github.event.pull_request.head.sha || github.sha }} ${{ github.event_name == 'pull_request' && format('--parent {0}', github.event.pull_request.base.sha) }} \
--flags tests,${{ matrix.distro-slug }},pkg \
--name tests.${{ matrix.distro-slug }}.${{ inputs.nox-session }}.download-pkgs --nonZero; then
rc=$?
break
fi
rc=$?
n=$((n+1))
sleep 15
done
if [ "$rc" -ne 0 ]; then
echo "Failed to upload codecov stats"
exit 1
fi
- name: Upload Test Run Artifacts
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: pkg-testrun-artifacts-${{ matrix.distro-slug }}-${{ matrix.arch }}
path: |
artifacts
!artifacts/salt/*
!artifacts/salt-*.tar.*

View file

@ -6,16 +6,13 @@
<%- do conclusion_needs.append(job_name) %>
name: Package Downloads
<%- if gh_environment == "staging" %>
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg-download'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['test-pkg-download'] }}
<%- else %>
if: ${{ inputs.skip-salt-pkg-download-test-suite == false }}
<%- endif %>
needs:
- prepare-workflow
- publish-repositories
<%- for slug in test_salt_pkg_downloads_needs_slugs %>
- <{ slug }>
<%- endfor %>
- build-ci-deps
<%- if gh_environment == "release" %>
- download-onedir-artifact
<%- else %>

View file

@ -1,88 +1,19 @@
<%- for slug, display_name, arch, pkg_type, fips in test_salt_pkg_listing["linux"] %>
<%- set job_name = "{}-pkg-tests".format(slug.replace(".", "")) %>
<%- set job_name = "test-packages" %>
<{ job_name }>:
<%- do test_salt_pkg_needs.append(job_name) %>
name: <{ display_name }> Package Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
name: Test Package
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['test-pkg'] }}
needs:
- prepare-workflow
- build-pkgs-onedir
- build-ci-deps
uses: ./.github/workflows/test-packages-action-linux.yml
uses: ./.github/workflows/test-packages-action.yml
with:
distro-slug: <{ slug }>
nox-session: ci-test-onedir
platform: linux
arch: <{ arch }>
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
pkg-type: <{ pkg_type }>
nox-version: <{ nox_version }>
python-version: "<{ gh_actions_workflows_python_version }>"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
skip-code-coverage: <{ skip_test_coverage_check }>
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
<%- if fips == "fips" %>
fips: true
<%- endif %>
<%- endfor %>
<%- for slug, display_name, arch in test_salt_pkg_listing["macos"] %>
<%- set job_name = "{}-pkg-tests".format(slug.replace(".", "")) %>
<{ job_name }>:
<%- do test_salt_pkg_needs.append(job_name) %>
name: <{ display_name }> Package Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
needs:
- prepare-workflow
- build-pkgs-onedir
- build-ci-deps
uses: ./.github/workflows/test-packages-action-macos.yml
with:
distro-slug: <{ slug }>
nox-session: ci-test-onedir
platform: macos
arch: <{ arch }>
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
pkg-type: macos
nox-version: <{ nox_version }>
python-version: "<{ gh_actions_workflows_python_version }>"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
skip-code-coverage: <{ skip_test_coverage_check }>
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
<%- endfor %>
<%- for slug, display_name, arch in test_salt_pkg_listing["windows"] %>
<%- for pkg_type in ("NSIS", "MSI") %>
<%- set job_name = "{}-{}-pkg-tests".format(slug.replace(".", ""), pkg_type.lower()) %>
<{ job_name }>:
<%- do test_salt_pkg_needs.append(job_name) %>
name: <{ display_name }> <{ pkg_type }> Package Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test-pkg'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
needs:
- prepare-workflow
- build-pkgs-onedir
- build-ci-deps
uses: ./.github/workflows/test-packages-action-windows.yml
with:
distro-slug: <{ slug }>
nox-session: ci-test-onedir
platform: windows
arch: <{ arch }>
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
pkg-type: <{ pkg_type }>
nox-version: <{ nox_version }>
python-version: "<{ gh_actions_workflows_python_version }>"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
skip-code-coverage: <{ skip_test_coverage_check }>
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
<%- endfor %>
<%- endfor %>
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['pkg-test-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}

View file

@ -3,85 +3,22 @@
<%- else %>
<%- set timeout_value = 180 %>
<%- endif %>
<%- for slug, display_name, arch in test_salt_listing["windows"] %>
<{ slug.replace(".", "") }>:
<%- do test_salt_needs.append(slug.replace(".", "")) %>
name: <{ display_name }> Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
test:
name: Test Salt
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['test'] }}
needs:
- prepare-workflow
- build-ci-deps
uses: ./.github/workflows/test-action-windows.yml
uses: ./.github/workflows/test-action.yml
with:
distro-slug: <{ slug }>
nox-session: ci-test-onedir
platform: windows
arch: amd64
nox-version: <{ nox_version }>
gh-actions-python-version: "<{ gh_actions_workflows_python_version }>"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
python-version: "<{ gh_actions_workflows_python_version }>"
testrun: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['testrun']) }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
skip-code-coverage: <{ skip_test_coverage_check }>
workflow-slug: <{ workflow_slug }>
default-timeout: <{ timeout_value }>
<%- endfor %>
<%- for slug, display_name, arch in test_salt_listing["macos"] %>
<{ slug.replace(".", "") }>:
<%- do test_salt_needs.append(slug.replace(".", "")) %>
name: <{ display_name }> Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['github-hosted'] }}
needs:
- prepare-workflow
- build-ci-deps
uses: ./.github/workflows/test-action-macos.yml
with:
distro-slug: <{ slug }>
nox-session: ci-test-onedir
platform: macos
arch: <{ arch }>
nox-version: <{ nox_version }>
gh-actions-python-version: "<{ gh_actions_workflows_python_version }>"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
skip-code-coverage: <{ skip_test_coverage_check }>
workflow-slug: <{ workflow_slug }>
default-timeout: <{ timeout_value }>
<%- endfor %>
<%- for slug, display_name, arch, fips in test_salt_listing["linux"] %>
<{ slug.replace(".", "") }>:
<%- do test_salt_needs.append(slug.replace(".", "")) %>
name: <{ display_name }> Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.jobs)['test'] && fromJSON(needs.prepare-workflow.outputs.runners)['self-hosted'] }}
needs:
- prepare-workflow
- build-ci-deps
uses: ./.github/workflows/test-action-linux.yml
with:
distro-slug: <{ slug }>
nox-session: ci-test-onedir
platform: linux
arch: <{ arch }>
nox-version: <{ nox_version }>
gh-actions-python-version: "<{ gh_actions_workflows_python_version }>"
testrun: ${{ needs.prepare-workflow.outputs.testrun }}
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|<{ python_version }>
skip-code-coverage: <{ skip_test_coverage_check }>
workflow-slug: <{ workflow_slug }>
default-timeout: <{ timeout_value }>
<%- if fips == "fips" %>
fips: true
<%- endif %>
<%- endfor %>
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['test-matrix']) }}
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}

View file

@ -1,17 +1,18 @@
<%- set job_name = "trigger-branch-{}-builds".format(workflow_slug) %>
<%- set branches = ["3006.x"] %>
<{ job_name }>:
<%- do conclusion_needs.append(job_name) %>
name: Trigger Branch Workflows
if: ${{ github.event_name == 'schedule' && fromJSON(needs.workflow-requirements.outputs.requirements-met) }}
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs:
- workflow-requirements
steps:
<%- for branch in branches %>
<%- for branch in release_branches %>
- name: Trigger <{ branch }> branch
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View file

@ -4,7 +4,7 @@
<{ job_name }>:
<%- do prepare_workflow_needs.append(job_name) %>
name: Check Workflow Requirements
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
outputs:
requirements-met: ${{ steps.check-requirements.outputs.requirements-met }}
steps:
@ -21,6 +21,11 @@
echo "${MSG}"
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}"
echo "requirements-met=false" >> "${GITHUB_OUTPUT}"
elif [ "${{ github.event.repository.private }}" = "true" ]; then
MSG="Not running workflow because ${{ github.repository }} is a private repository"
echo "${MSG}"
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}"
echo "requirements-met=false" >> "${GITHUB_OUTPUT}"
else
MSG="Running workflow because ${{ github.repository }} is not a fork"
echo "${MSG}"

View file

@ -1,367 +0,0 @@
---
name: Test Artifact
on:
workflow_call:
inputs:
distro-slug:
required: true
type: string
description: The OS slug to run tests against
nox-session:
required: true
type: string
description: The nox session to run
testrun:
required: true
type: string
description: JSON string containing information about what and how to run the test suite
salt-version:
type: string
required: true
description: The Salt version to set prior to running tests.
cache-prefix:
required: true
type: string
description: Seed used to invalidate caches
platform:
required: true
type: string
description: The platform being tested
arch:
required: true
type: string
description: The platform arch being tested
nox-version:
required: true
type: string
description: The nox version to install
gh-actions-python-version:
required: false
type: string
description: The python version to run tests with
default: "3.10"
fips:
required: false
type: boolean
default: false
description: Test run with FIPS enabled
package-name:
required: false
type: string
description: The onedir package name to use
default: salt
skip-code-coverage:
required: false
type: boolean
description: Skip code coverage
default: false
workflow-slug:
required: false
type: string
description: Which workflow is running.
default: ci
default-timeout:
required: false
type: number
description: Timeout, in minutes, for the test job(Default 360, 6 hours).
default: 360
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
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
jobs:
generate-matrix:
name: Test Matrix
runs-on: ubuntu-latest
outputs:
matrix-include: ${{ steps.generate-matrix.outputs.matrix }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: Generate Test Matrix
id: generate-matrix
run: |
tools ci matrix --workflow=${{ inputs.workflow-slug }} ${{ fromJSON(inputs.testrun)['type'] == 'full' && '--full ' || '' }}${{ inputs.fips && '--fips ' || '' }}${{ inputs.distro-slug }}
test:
name: Test
runs-on:
- self-hosted
- linux
- bastion
# Full test runs. Each chunk should never take more than 2 hours.
# Partial test runs(no chunk parallelization), 6 Hours
timeout-minutes: ${{ fromJSON(inputs.testrun)['type'] == 'full' && inputs.default-timeout || 360 }}
needs:
- generate-matrix
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(needs.generate-matrix.outputs.matrix-include) }}
env:
SALT_TRANSPORT: ${{ matrix.transport }}
TEST_GROUP: ${{ matrix.test-group || 1 }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Setup Salt Version
run: |
echo "${{ inputs.salt-version }}" > salt/_version.txt
- name: Download Onedir Tarball as an Artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
path: artifacts/
- name: Decompress Onedir Tarball
shell: bash
run: |
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
- name: Download nox.linux.${{ inputs.arch }}.tar.* artifact for session ${{ inputs.nox-session }}
uses: actions/download-artifact@v4
with:
name: nox-linux-${{ inputs.arch }}-${{ inputs.nox-session }}
- name: PyPi Proxy
run: |
sed -i '7s;^;--index-url=https://pypi-proxy.saltstack.net/root/local/+simple/ --extra-index-url=https://pypi.org/simple\n;' requirements/static/ci/*/*.txt
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: Download testrun-changed-files.txt
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' }}
uses: actions/download-artifact@v4
with:
name: testrun-changed-files.txt
- name: Get Salt Project GitHub Actions Bot Environment
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
- name: Start VM
id: spin-up-vm
env:
TESTS_CHUNK: ${{ matrix.tests-chunk }}
run: |
tools --timestamps vm create --environment "${SPB_ENVIRONMENT}" --retries=2 ${{ inputs.distro-slug }}
- name: List Free Space
run: |
tools --timestamps vm ssh ${{ inputs.distro-slug }} -- df -h || true
- name: Upload Checkout To VM
run: |
tools --timestamps vm rsync ${{ inputs.distro-slug }}
- name: Decompress .nox Directory
run: |
tools --timestamps vm decompress-dependencies ${{ inputs.distro-slug }}
- name: Show System Info
run: |
tools --timestamps --timeout-secs=1800 vm test --skip-requirements-install --print-system-information-only \
--nox-session=${{ inputs.nox-session }} ${{ inputs.distro-slug }} \
${{ matrix.tests-chunk }}
- name: Run Changed Tests
id: run-fast-changed-tests
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' }}
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \
${{ matrix.tests-chunk }} -- --core-tests --slow-tests --suppress-no-test-exit-code \
--from-filenames=testrun-changed-files.txt
- name: Run Fast Tests
id: run-fast-tests
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['fast'] }}
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ (inputs.skip-code-coverage && matrix.tests-chunk != 'unit') && '--skip-code-coverage' || '' }} \
${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} ${{ matrix.tests-chunk }}
- name: Run Slow Tests
id: run-slow-tests
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['slow'] }}
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \
${{ matrix.tests-chunk }} -- --no-fast-tests --slow-tests
- name: Run Core Tests
id: run-core-tests
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['core'] }}
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \
${{ matrix.tests-chunk }} -- --no-fast-tests --core-tests
- name: Run Flaky Tests
id: run-flaky-tests
if: ${{ fromJSON(inputs.testrun)['selected_tests']['flaky'] }}
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \
${{ matrix.tests-chunk }} -- --no-fast-tests --flaky-jail
- name: Run Full Tests
id: run-full-tests
if: ${{ fromJSON(inputs.testrun)['type'] == 'full' }}
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ (inputs.skip-code-coverage && matrix.tests-chunk != 'unit') && '--skip-code-coverage' || '' }} \
-E TEST_GROUP ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} ${{ matrix.tests-chunk }} -- --slow-tests --core-tests \
--test-group-count=${{ matrix.test-group-count || 1 }} --test-group=${{ matrix.test-group || 1 }}
- name: Combine Coverage Reports
if: always() && inputs.skip-code-coverage == false && steps.spin-up-vm.outcome == 'success'
run: |
tools --timestamps vm combine-coverage ${{ inputs.distro-slug }}
- name: Download Test Run Artifacts
id: download-artifacts-from-vm
if: always() && steps.spin-up-vm.outcome == 'success'
run: |
tools --timestamps vm download-artifacts ${{ inputs.distro-slug }}
# Delete the salt onedir, we won't need it anymore and it will prevent
# from it showing in the tree command below
rm -rf artifacts/salt*
tree -a artifacts
if [ "${{ inputs.skip-code-coverage }}" != "true" ]; then
mv artifacts/coverage/.coverage artifacts/coverage/.coverage.${{ inputs.distro-slug }}.${{ inputs.nox-session }}.${{ matrix.transport }}.${{ matrix.tests-chunk }}.grp${{ matrix.test-group || '1' }}
fi
- name: Destroy VM
if: always()
run: |
tools --timestamps vm destroy --no-wait ${{ inputs.distro-slug }} || true
- name: Upload Code Coverage Test Run Artifacts
if: always() && inputs.skip-code-coverage == false && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
path: |
artifacts/coverage/
- name: Upload JUnit XML Test Run Artifacts
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: testrun-junit-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}
path: |
artifacts/xml-unittests-output/
- name: Upload Test Run Log Artifacts
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: testrun-log-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}
path: |
artifacts/logs
report:
name: Test Reports
if: always() && inputs.skip-code-coverage == false && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
runs-on: ubuntu-latest
needs:
- test
steps:
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Download Code Coverage Test Run Artifacts
uses: actions/download-artifact@v3
# This needs to be actions/download-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
if: ${{ inputs.skip-code-coverage == false }}
id: download-coverage-artifacts
with:
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
path: artifacts/coverage/
- name: Show Downloaded Test Run Artifacts
run: |
tree -a artifacts
- name: Install Nox
run: |
python3 -m pip install 'nox==${{ inputs.nox-version }}'
- name: Create XML Coverage Reports
if: always() && inputs.skip-code-coverage == false && steps.download-coverage-artifacts.outcome == 'success' && job.status != 'cancelled'
run: |
nox --force-color -e create-xml-coverage-reports
mv artifacts/coverage/salt.xml artifacts/coverage/salt..${{ inputs.distro-slug }}..${{ inputs.nox-session }}.xml
mv artifacts/coverage/tests.xml artifacts/coverage/tests..${{ inputs.distro-slug }}..${{ inputs.nox-session }}.xml
- name: Report Salt Code Coverage
if: always() && inputs.skip-code-coverage == false && steps.download-coverage-artifacts.outcome == 'success'
continue-on-error: true
run: |
nox --force-color -e report-coverage -- salt
- name: Report Combined Code Coverage
if: always() && inputs.skip-code-coverage == false && steps.download-coverage-artifacts.outcome == 'success'
continue-on-error: true
run: |
nox --force-color -e report-coverage
- name: Rename Code Coverage DB
if: always() && inputs.skip-code-coverage == false && steps.download-coverage-artifacts.outcome == 'success'
continue-on-error: true
run: |
mv artifacts/coverage/.coverage artifacts/coverage/.coverage.${{ inputs.distro-slug }}.${{ inputs.nox-session }}
- name: Upload Code Coverage DB
if: always() && inputs.skip-code-coverage == false && steps.download-coverage-artifacts.outcome == 'success'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: all-testrun-coverage-artifacts
path: artifacts/coverage

View file

@ -1,396 +0,0 @@
---
name: Test Artifact(macOS)
on:
workflow_call:
inputs:
distro-slug:
required: true
type: string
description: The OS slug to run tests against
nox-session:
required: true
type: string
description: The nox session to run
testrun:
required: true
type: string
description: JSON string containing information about what and how to run the test suite
gh-actions-python-version:
required: false
type: string
description: The python version to run tests with
default: "3.11"
salt-version:
type: string
required: true
description: The Salt version to set prior to running tests.
cache-prefix:
required: true
type: string
description: Seed used to invalidate caches
platform:
required: true
type: string
description: The platform being tested
arch:
required: true
type: string
description: The platform arch being tested
nox-version:
required: true
type: string
description: The nox version to install
package-name:
required: false
type: string
description: The onedir package name to use
default: salt
skip-code-coverage:
required: false
type: boolean
description: Skip code coverage
default: false
workflow-slug:
required: false
type: string
description: Which workflow is running.
default: ci
default-timeout:
required: false
type: number
description: Timeout, in minutes, for the test job(Default 360, 6 hours).
default: 360
env:
COLUMNS: 190
PIP_INDEX_URL: "https://pypi-proxy.saltstack.net/root/local/+simple/"
PIP_EXTRA_INDEX_URL: "https://pypi.org/simple"
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
jobs:
generate-matrix:
name: Test Matrix
runs-on: ubuntu-latest
outputs:
matrix-include: ${{ steps.generate-matrix.outputs.matrix }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: Generate Test Matrix
id: generate-matrix
run: |
tools ci matrix --workflow=${{ inputs.workflow-slug }} ${{ inputs.distro-slug }}
test:
name: Test
runs-on: ${{ inputs.distro-slug }}
# Full test runs. Each chunk should never take more than 2 hours.
# Partial test runs(no chunk parallelization), 6 Hours
timeout-minutes: ${{ fromJSON(inputs.testrun)['type'] == 'full' && inputs.default-timeout || 360 }}
needs:
- generate-matrix
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(needs.generate-matrix.outputs.matrix-include) }}
env:
SALT_TRANSPORT: ${{ matrix.transport }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Setup Salt Version
run: |
echo "${{ inputs.salt-version }}" > salt/_version.txt
- name: Download Onedir Tarball as an Artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
path: artifacts/
- name: Decompress Onedir Tarball
shell: bash
run: |
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
- name: Install System Dependencies
run: |
brew install tree
- name: Download nox.macos.${{ inputs.arch }}.tar.* artifact for session ${{ inputs.nox-session }}
uses: actions/download-artifact@v4
with:
name: nox-macos-${{ inputs.arch }}-${{ inputs.nox-session }}
- name: Set up Python ${{ inputs.gh-actions-python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.gh-actions-python-version }}"
- name: Install Nox
run: |
python3 -m pip install 'nox==${{ inputs.nox-version }}'
- name: Decompress .nox Directory
run: |
nox --force-color -e decompress-dependencies -- macos ${{ inputs.arch }}
- name: Download testrun-changed-files.txt
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' }}
uses: actions/download-artifact@v4
with:
name: testrun-changed-files.txt
- name: Show System Info
env:
SKIP_REQUIREMENTS_INSTALL: "1"
PRINT_SYSTEM_INFO_ONLY: "1"
run: |
sudo -E nox --force-color -e ${{ inputs.nox-session }} -- ${{ matrix.tests-chunk }}
- name: Run Changed Tests
id: run-fast-changed-tests
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['fast'] == false }}
env:
SKIP_REQUIREMENTS_INSTALL: "1"
PRINT_TEST_SELECTION: "0"
PRINT_TEST_PLAN_ONLY: "0"
PRINT_SYSTEM_INFO: "0"
RERUN_FAILURES: "1"
GITHUB_ACTIONS_PIPELINE: "1"
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
run: |
sudo -E nox --force-color -e ${{ inputs.nox-session }} -- ${{ matrix.tests-chunk }} -- \
-k "mac or darwin" --core-tests --slow-tests --suppress-no-test-exit-code \
--from-filenames=testrun-changed-files.txt
- name: Run Fast Tests
id: run-fast-tests
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['fast'] }}
env:
SKIP_REQUIREMENTS_INSTALL: "1"
PRINT_TEST_SELECTION: "0"
PRINT_TEST_PLAN_ONLY: "0"
PRINT_SYSTEM_INFO: "0"
RERUN_FAILURES: "1"
GITHUB_ACTIONS_PIPELINE: "1"
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
run: |
sudo -E nox --force-color -e ${{ inputs.nox-session }} -- ${{ matrix.tests-chunk }} -- \
-k "mac or darwin" --suppress-no-test-exit-code
- name: Run Slow Tests
id: run-slow-tests
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['slow'] }}
env:
SKIP_REQUIREMENTS_INSTALL: "1"
PRINT_TEST_SELECTION: "0"
PRINT_TEST_PLAN_ONLY: "0"
PRINT_SYSTEM_INFO: "0"
RERUN_FAILURES: "1"
GITHUB_ACTIONS_PIPELINE: "1"
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
run: |
sudo -E nox --force-color -e ${{ inputs.nox-session }} -- ${{ matrix.tests-chunk }} -- \
-k "mac or darwin" --suppress-no-test-exit-code --no-fast-tests --slow-tests
- name: Run Core Tests
id: run-core-tests
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['core'] }}
env:
SKIP_REQUIREMENTS_INSTALL: "1"
PRINT_TEST_SELECTION: "0"
PRINT_TEST_PLAN_ONLY: "0"
PRINT_SYSTEM_INFO: "0"
RERUN_FAILURES: "1"
GITHUB_ACTIONS_PIPELINE: "1"
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
run: |
sudo -E nox --force-color -e ${{ inputs.nox-session }} -- ${{ matrix.tests-chunk }} -- \
-k "mac or darwin" --suppress-no-test-exit-code --no-fast-tests --core-tests
- name: Run Flaky Tests
id: run-flaky-tests
if: ${{ fromJSON(inputs.testrun)['selected_tests']['flaky'] }}
env:
SKIP_REQUIREMENTS_INSTALL: "1"
PRINT_TEST_SELECTION: "0"
PRINT_TEST_PLAN_ONLY: "0"
PRINT_SYSTEM_INFO: "0"
RERUN_FAILURES: "1"
GITHUB_ACTIONS_PIPELINE: "1"
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
run: |
sudo -E nox --force-color -e ${{ inputs.nox-session }} -- ${{ matrix.tests-chunk }} -- \
-k "mac or darwin" --suppress-no-test-exit-code --no-fast-tests --flaky-jail
- name: Run Full Tests
id: run-full-tests
if: ${{ fromJSON(inputs.testrun)['type'] == 'full' }}
env:
SKIP_REQUIREMENTS_INSTALL: "1"
PRINT_TEST_SELECTION: "0"
PRINT_TEST_PLAN_ONLY: "0"
PRINT_SYSTEM_INFO: "0"
RERUN_FAILURES: "1"
GITHUB_ACTIONS_PIPELINE: "1"
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
SKIP_CODE_COVERAGE: "${{ inputs.skip-code-coverage && '1' || '0' }}"
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
run: |
sudo -E nox --force-color -e ${{ inputs.nox-session }} -- ${{ matrix.tests-chunk }} -- \
--slow-tests --core-tests -k "mac or darwin"
- name: Fix file ownership
run: |
sudo chown -R "$(id -un)" .
- name: Combine Coverage Reports
if: always() && inputs.skip-code-coverage == false
run: |
nox --force-color -e combine-coverage
- name: Prepare Test Run Artifacts
id: download-artifacts-from-vm
if: always()
run: |
# Delete the salt onedir, we won't need it anymore and it will prevent
# from it showing in the tree command below
rm -rf artifacts/salt*
tree -a artifacts
if [ "${{ inputs.skip-code-coverage }}" != "true" ]; then
mv artifacts/coverage/.coverage artifacts/coverage/.coverage.${{ inputs.distro-slug }}.${{ inputs.nox-session }}.${{ matrix.transport }}.${{ matrix.tests-chunk }}
fi
- name: Upload Code Coverage Test Run Artifacts
if: always() && inputs.skip-code-coverage == false && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
path: |
artifacts/coverage/
- name: Upload JUnit XML Test Run Artifacts
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: testrun-junit-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}
path: |
artifacts/xml-unittests-output/
- name: Upload Test Run Log Artifacts
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: testrun-log-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}
path: |
artifacts/logs
report:
name: Test Reports
if: always() && inputs.skip-code-coverage == false && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
runs-on: ubuntu-latest
needs:
- test
steps:
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Download Code Coverage Test Run Artifacts
uses: actions/download-artifact@v3
# This needs to be actions/download-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
if: ${{ inputs.skip-code-coverage == false }}
id: download-coverage-artifacts
with:
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
path: artifacts/coverage/
- name: Show Downloaded Test Run Artifacts
run: |
tree -a artifacts
- name: Set up Python ${{ inputs.gh-actions-python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.gh-actions-python-version }}"
- name: Install Nox
run: |
python3 -m pip install 'nox==${{ inputs.nox-version }}'
- name: Create XML Coverage Reports
if: always() && inputs.skip-code-coverage == false && steps.download-coverage-artifacts.outcome == 'success' && job.status != 'cancelled'
run: |
nox --force-color -e create-xml-coverage-reports
mv artifacts/coverage/salt.xml artifacts/coverage/salt..${{ inputs.distro-slug }}..${{ inputs.nox-session }}.xml
mv artifacts/coverage/tests.xml artifacts/coverage/tests..${{ inputs.distro-slug }}..${{ inputs.nox-session }}.xml
- name: Report Salt Code Coverage
if: always() && inputs.skip-code-coverage == false && steps.download-coverage-artifacts.outcome == 'success'
continue-on-error: true
run: |
nox --force-color -e report-coverage -- salt
- name: Report Combined Code Coverage
if: always() && inputs.skip-code-coverage == false && steps.download-coverage-artifacts.outcome == 'success'
continue-on-error: true
run: |
nox --force-color -e report-coverage
- name: Rename Code Coverage DB
if: always() && inputs.skip-code-coverage == false && steps.download-coverage-artifacts.outcome == 'success'
continue-on-error: true
run: |
mv artifacts/coverage/.coverage artifacts/coverage/.coverage.${{ inputs.distro-slug }}.${{ inputs.nox-session }}
- name: Upload Code Coverage DB
if: always() && inputs.skip-code-coverage == false && steps.download-coverage-artifacts.outcome == 'success'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: all-testrun-coverage-artifacts
path: artifacts/coverage

View file

@ -1,368 +0,0 @@
---
name: Test Artifact
on:
workflow_call:
inputs:
distro-slug:
required: true
type: string
description: The OS slug to run tests against
nox-session:
required: true
type: string
description: The nox session to run
testrun:
required: true
type: string
description: JSON string containing information about what and how to run the test suite
salt-version:
type: string
required: true
description: The Salt version to set prior to running tests.
cache-prefix:
required: true
type: string
description: Seed used to invalidate caches
platform:
required: true
type: string
description: The platform being tested
arch:
required: true
type: string
description: The platform arch being tested
nox-version:
required: true
type: string
description: The nox version to install
gh-actions-python-version:
required: false
type: string
description: The python version to run tests with
default: "3.10"
fips:
required: false
type: boolean
default: false
description: Test run with FIPS enabled
package-name:
required: false
type: string
description: The onedir package name to use
default: salt
skip-code-coverage:
required: false
type: boolean
description: Skip code coverage
default: false
workflow-slug:
required: false
type: string
description: Which workflow is running.
default: ci
default-timeout:
required: false
type: number
description: Timeout, in minutes, for the test job(Default 360, 6 hours).
default: 360
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
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
jobs:
generate-matrix:
name: Test Matrix
runs-on: ubuntu-latest
outputs:
matrix-include: ${{ steps.generate-matrix.outputs.matrix }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: Generate Test Matrix
id: generate-matrix
run: |
tools ci matrix --workflow=${{ inputs.workflow-slug }} ${{ fromJSON(inputs.testrun)['type'] == 'full' && '--full ' || '' }}${{ inputs.fips && '--fips ' || '' }}${{ inputs.distro-slug }}
test:
name: Test
runs-on:
- self-hosted
- linux
- bastion
# Full test runs. Each chunk should never take more than 2 hours.
# Partial test runs(no chunk parallelization), 6 Hours
timeout-minutes: ${{ fromJSON(inputs.testrun)['type'] == 'full' && inputs.default-timeout || 360 }}
needs:
- generate-matrix
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(needs.generate-matrix.outputs.matrix-include) }}
env:
SALT_TRANSPORT: ${{ matrix.transport }}
TEST_GROUP: ${{ matrix.test-group || 1 }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Setup Salt Version
run: |
echo "${{ inputs.salt-version }}" > salt/_version.txt
- name: Download Onedir Tarball as an Artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
path: artifacts/
- name: Decompress Onedir Tarball
shell: bash
run: |
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
- name: Download nox.windows.${{ inputs.arch }}.tar.* artifact for session ${{ inputs.nox-session }}
uses: actions/download-artifact@v4
with:
name: nox-windows-${{ inputs.arch }}-${{ inputs.nox-session }}
- name: PyPi Proxy
run: |
sed -i '7s;^;--index-url=https://pypi-proxy.saltstack.net/root/local/+simple/ --extra-index-url=https://pypi.org/simple\n;' requirements/static/ci/*/*.txt
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: Download testrun-changed-files.txt
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' }}
uses: actions/download-artifact@v4
with:
name: testrun-changed-files.txt
- name: Get Salt Project GitHub Actions Bot Environment
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
- name: Start VM
id: spin-up-vm
env:
TESTS_CHUNK: ${{ matrix.tests-chunk }}
run: |
tools --timestamps vm create --environment "${SPB_ENVIRONMENT}" --retries=2 ${{ inputs.distro-slug }}
- name: List Free Space
run: |
tools --timestamps vm ssh ${{ inputs.distro-slug }} -- df -h || true
- name: Upload Checkout To VM
run: |
tools --timestamps vm rsync ${{ inputs.distro-slug }}
- name: Decompress .nox Directory
run: |
tools --timestamps vm decompress-dependencies ${{ inputs.distro-slug }}
- name: Show System Info
run: |
tools --timestamps --timeout-secs=1800 vm test --skip-requirements-install --print-system-information-only \
--nox-session=${{ inputs.nox-session }} ${{ inputs.distro-slug }} \
${{ matrix.tests-chunk }}
- name: Run Changed Tests
id: run-fast-changed-tests
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['fast'] == false }}
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \
${{ matrix.tests-chunk }} -- --core-tests --slow-tests --suppress-no-test-exit-code \
--from-filenames=testrun-changed-files.txt
- name: Run Fast Tests
id: run-fast-tests
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['fast'] }}
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ (inputs.skip-code-coverage && matrix.tests-chunk != 'unit') && '--skip-code-coverage' || '' }} \
${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} ${{ matrix.tests-chunk }}
- name: Run Slow Tests
id: run-slow-tests
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['slow'] }}
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \
${{ matrix.tests-chunk }} -- --no-fast-tests --slow-tests
- name: Run Core Tests
id: run-core-tests
if: ${{ fromJSON(inputs.testrun)['type'] != 'full' && fromJSON(inputs.testrun)['selected_tests']['core'] }}
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \
${{ matrix.tests-chunk }} -- --no-fast-tests --core-tests
- name: Run Flaky Tests
id: run-flaky-tests
if: ${{ fromJSON(inputs.testrun)['selected_tests']['flaky'] }}
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \
${{ matrix.tests-chunk }} -- --no-fast-tests --flaky-jail
- name: Run Full Tests
id: run-full-tests
if: ${{ fromJSON(inputs.testrun)['type'] == 'full' }}
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install \
--nox-session=${{ inputs.nox-session }} --rerun-failures -E SALT_TRANSPORT ${{ (inputs.skip-code-coverage && matrix.tests-chunk != 'unit') && '--skip-code-coverage' || '' }} \
-E TEST_GROUP ${{ matrix.fips && '--fips ' || '' }}${{ inputs.distro-slug }} ${{ matrix.tests-chunk }} -- --slow-tests --core-tests \
--test-group-count=${{ matrix.test-group-count || 1 }} --test-group=${{ matrix.test-group || 1 }}
- name: Combine Coverage Reports
if: always() && inputs.skip-code-coverage == false && steps.spin-up-vm.outcome == 'success'
run: |
tools --timestamps vm combine-coverage ${{ inputs.distro-slug }}
- name: Download Test Run Artifacts
id: download-artifacts-from-vm
if: always() && steps.spin-up-vm.outcome == 'success'
run: |
tools --timestamps vm download-artifacts ${{ inputs.distro-slug }}
# Delete the salt onedir, we won't need it anymore and it will prevent
# from it showing in the tree command below
rm -rf artifacts/salt*
tree -a artifacts
if [ "${{ inputs.skip-code-coverage }}" != "true" ]; then
mv artifacts/coverage/.coverage artifacts/coverage/.coverage.${{ inputs.distro-slug }}.${{ inputs.nox-session }}.${{ matrix.transport }}.${{ matrix.tests-chunk }}.grp${{ matrix.test-group || '1' }}
fi
- name: Destroy VM
if: always()
run: |
tools --timestamps vm destroy --no-wait ${{ inputs.distro-slug }} || true
- name: Upload Code Coverage Test Run Artifacts
if: always() && inputs.skip-code-coverage == false && steps.download-artifacts-from-vm.outcome == 'success' && job.status != 'cancelled'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
path: |
artifacts/coverage/
- name: Upload JUnit XML Test Run Artifacts
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: testrun-junit-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}
path: |
artifacts/xml-unittests-output/
- name: Upload Test Run Log Artifacts
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: testrun-log-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}
path: |
artifacts/logs
report:
name: Test Reports
if: always() && inputs.skip-code-coverage == false && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
runs-on: ubuntu-latest
needs:
- test
steps:
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Download Code Coverage Test Run Artifacts
uses: actions/download-artifact@v3
# This needs to be actions/download-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
if: ${{ inputs.skip-code-coverage == false }}
id: download-coverage-artifacts
with:
name: testrun-coverage-artifacts-${{ inputs.distro-slug }}-${{ inputs.nox-session }}
path: artifacts/coverage/
- name: Show Downloaded Test Run Artifacts
run: |
tree -a artifacts
- name: Install Nox
run: |
python3 -m pip install 'nox==${{ inputs.nox-version }}'
- name: Create XML Coverage Reports
if: always() && inputs.skip-code-coverage == false && steps.download-coverage-artifacts.outcome == 'success' && job.status != 'cancelled'
run: |
nox --force-color -e create-xml-coverage-reports
mv artifacts/coverage/salt.xml artifacts/coverage/salt..${{ inputs.distro-slug }}..${{ inputs.nox-session }}.xml
mv artifacts/coverage/tests.xml artifacts/coverage/tests..${{ inputs.distro-slug }}..${{ inputs.nox-session }}.xml
- name: Report Salt Code Coverage
if: always() && inputs.skip-code-coverage == false && steps.download-coverage-artifacts.outcome == 'success'
continue-on-error: true
run: |
nox --force-color -e report-coverage -- salt
- name: Report Combined Code Coverage
if: always() && inputs.skip-code-coverage == false && steps.download-coverage-artifacts.outcome == 'success'
continue-on-error: true
run: |
nox --force-color -e report-coverage
- name: Rename Code Coverage DB
if: always() && inputs.skip-code-coverage == false && steps.download-coverage-artifacts.outcome == 'success'
continue-on-error: true
run: |
mv artifacts/coverage/.coverage artifacts/coverage/.coverage.${{ inputs.distro-slug }}.${{ inputs.nox-session }}
- name: Upload Code Coverage DB
if: always() && inputs.skip-code-coverage == false && steps.download-coverage-artifacts.outcome == 'success'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: all-testrun-coverage-artifacts
path: artifacts/coverage

1387
.github/workflows/test-action.yml vendored Normal file

File diff suppressed because it is too large Load diff

View file

@ -48,175 +48,55 @@ 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
PIP_INDEX_URL: ${{ vars.PIP_INDEX_URL }}
PIP_TRUSTED_HOST: ${{ vars.PIP_TRUSTED_HOST }}
PIP_EXTRA_INDEX_URL: ${{ vars.PIP_EXTRA_INDEX_URL }}
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
jobs:
generate-matrix:
name: Generate Matrix
runs-on: ubuntu-latest
outputs:
matrix-include: ${{ steps.generate-matrix.outputs.matrix }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
env:
PIP_INDEX_URL: https://pypi.org/simple
- name: Generate Test Matrix
id: generate-matrix
run: |
tools ci pkg-downloads-matrix
linux:
name: Linux
needs:
- generate-matrix
runs-on:
- self-hosted
- linux
- bastion
- ubuntu-latest
env:
USE_S3_CACHE: 'true'
environment: ${{ inputs.environment }}
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
strategy:
fail-fast: false
matrix:
include:
- distro-slug: almalinux-8
arch: x86_64
pkg-type: package
- distro-slug: almalinux-8-arm64
arch: aarch64
pkg-type: package
- distro-slug: almalinux-8-arm64
arch: arm64
pkg-type: package
- distro-slug: almalinux-9
arch: x86_64
pkg-type: package
- distro-slug: almalinux-9-arm64
arch: aarch64
pkg-type: package
- distro-slug: almalinux-9-arm64
arch: arm64
pkg-type: package
- distro-slug: amazonlinux-2
arch: x86_64
pkg-type: package
- distro-slug: amazonlinux-2-arm64
arch: aarch64
pkg-type: package
- distro-slug: amazonlinux-2-arm64
arch: arm64
pkg-type: package
- distro-slug: amazonlinux-2023
arch: x86_64
pkg-type: package
- distro-slug: amazonlinux-2023-arm64
arch: aarch64
pkg-type: package
- distro-slug: amazonlinux-2023-arm64
arch: arm64
pkg-type: package
- distro-slug: centos-7
arch: x86_64
pkg-type: package
- distro-slug: centos-7-arm64
arch: aarch64
pkg-type: package
- distro-slug: centos-7-arm64
arch: arm64
pkg-type: package
- distro-slug: centosstream-8
arch: x86_64
pkg-type: package
- distro-slug: centosstream-8-arm64
arch: aarch64
pkg-type: package
- distro-slug: centosstream-8-arm64
arch: arm64
pkg-type: package
- distro-slug: centosstream-9
arch: x86_64
pkg-type: package
- distro-slug: centosstream-9-arm64
arch: aarch64
pkg-type: package
- distro-slug: centosstream-9-arm64
arch: arm64
pkg-type: package
- distro-slug: debian-10
arch: x86_64
pkg-type: package
- distro-slug: debian-10-arm64
arch: arm64
pkg-type: package
- distro-slug: debian-11
arch: x86_64
pkg-type: package
- distro-slug: debian-11-arm64
arch: arm64
pkg-type: package
- distro-slug: debian-12
arch: x86_64
pkg-type: package
- distro-slug: debian-12-arm64
arch: arm64
pkg-type: package
- distro-slug: fedora-37
arch: x86_64
pkg-type: package
- distro-slug: fedora-37-arm64
arch: aarch64
pkg-type: package
- distro-slug: fedora-37-arm64
arch: arm64
pkg-type: package
- distro-slug: fedora-38
arch: x86_64
pkg-type: package
- distro-slug: fedora-38-arm64
arch: aarch64
pkg-type: package
- distro-slug: fedora-38-arm64
arch: arm64
pkg-type: package
- distro-slug: photonos-3
arch: x86_64
pkg-type: package
- distro-slug: photonos-3-arm64
arch: aarch64
pkg-type: package
- distro-slug: photonos-3-arm64
arch: arm64
pkg-type: package
- distro-slug: photonos-4
arch: x86_64
pkg-type: package
- distro-slug: photonos-4-arm64
arch: aarch64
pkg-type: package
- distro-slug: photonos-4-arm64
arch: arm64
pkg-type: package
- distro-slug: photonos-5
arch: x86_64
pkg-type: package
- distro-slug: photonos-5-arm64
arch: aarch64
pkg-type: package
- distro-slug: photonos-5-arm64
arch: arm64
pkg-type: package
- distro-slug: ubuntu-20.04
arch: x86_64
pkg-type: package
- distro-slug: ubuntu-20.04-arm64
arch: arm64
pkg-type: package
- distro-slug: ubuntu-22.04
arch: x86_64
pkg-type: package
- distro-slug: ubuntu-22.04
arch: x86_64
pkg-type: onedir
- distro-slug: ubuntu-22.04-arm64
arch: arm64
pkg-type: package
- distro-slug: ubuntu-22.04-arm64
arch: arm64
pkg-type: onedir
- distro-slug: ubuntu-23.04
arch: x86_64
pkg-type: package
- distro-slug: ubuntu-23.04-arm64
arch: arm64
pkg-type: package
include: ${{ fromJSON(needs.generate-matrix.outputs.matrix-include)['linux'] }}
steps:
@ -401,38 +281,29 @@ jobs:
- name: Upload Test Run Artifacts
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
uses: actions/upload-artifact@v4
with:
name: pkg-testrun-artifacts-${{ matrix.distro-slug }}-${{ matrix.arch }}
name: pkg-testrun-artifacts-${{ matrix.distro-slug }}-${{ matrix.arch }}-${{ matrix.pkg-type }}
path: |
artifacts
artifacts/
!artifacts/salt/*
!artifacts/salt-*.tar.*
macos:
name: MacOS
runs-on: ${{ matrix.distro-slug }}
needs:
- generate-matrix
runs-on: ${{ matrix.distro-slug == 'macos-13-arm64' && 'macos-13-xlarge' || matrix.distro-slug }}
env:
USE_S3_CACHE: 'false'
PIP_INDEX_URL: https://pypi.org/simple
environment: ${{ inputs.environment }}
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
strategy:
fail-fast: false
matrix:
include:
- distro-slug: macos-12
arch: x86_64
pkg-type: package
- distro-slug: macos-13
arch: x86_64
pkg-type: package
- distro-slug: macos-13-xlarge
arch: arm64
pkg-type: package
- distro-slug: macos-13-xlarge
arch: arm64
pkg-type: onedir
include: ${{ fromJSON(needs.generate-matrix.outputs.matrix-include)['macos'] }}
steps:
@ -608,38 +479,29 @@ jobs:
- name: Upload Test Run Artifacts
if: always()
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
uses: actions/upload-artifact@v4
with:
name: pkg-testrun-artifacts-${{ matrix.distro-slug }}-${{ matrix.arch }}
name: pkg-testrun-artifacts-${{ matrix.distro-slug }}-${{ matrix.arch }}-${{ matrix.pkg-type }}
path: |
artifacts
artifacts/
!artifacts/salt/*
!artifacts/salt-*.tar.*
windows:
name: Windows
needs:
- generate-matrix
env:
USE_S3_CACHE: 'true'
runs-on:
- self-hosted
- linux
- bastion
- ubuntu-latest
environment: ${{ inputs.environment }}
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
strategy:
fail-fast: false
matrix:
include:
- distro-slug: windows-2022
arch: amd64
pkg-type: nsis
- distro-slug: windows-2022
arch: amd64
pkg-type: msi
- distro-slug: windows-2022
arch: amd64
pkg-type: onedir
include: ${{ fromJSON(needs.generate-matrix.outputs.matrix-include)['windows'] }}
steps:
- name: Checkout Source Code
@ -818,12 +680,10 @@ jobs:
- name: Upload Test Run Artifacts
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
uses: actions/upload-artifact@v4
with:
name: pkg-testrun-artifacts-${{ matrix.distro-slug }}-${{ matrix.arch }}
name: pkg-testrun-artifacts-${{ matrix.distro-slug }}-${{ matrix.arch }}-${{ matrix.pkg-type }}
path: |
artifacts
artifacts/
!artifacts/salt/*
!artifacts/salt-*.tar.*

View file

@ -1,260 +0,0 @@
name: Test Artifact
on:
workflow_call:
inputs:
distro-slug:
required: true
type: string
description: The OS slug to run tests against
platform:
required: true
type: string
description: The platform being tested
arch:
required: true
type: string
description: The platform arch being tested
pkg-type:
required: true
type: string
description: The platform arch being tested
salt-version:
type: string
required: true
description: The Salt version of the packages to install and test
cache-prefix:
required: true
type: string
description: Seed used to invalidate caches
testing-releases:
required: true
type: string
description: A JSON list of releases to test upgrades against
nox-version:
required: true
type: string
description: The nox version to install
python-version:
required: false
type: string
description: The python version to run tests with
default: "3.10"
fips:
required: false
type: boolean
default: false
description: Test run with FIPS enabled
package-name:
required: false
type: string
description: The onedir package name to use
default: salt
nox-session:
required: false
type: string
description: The nox session to run
default: ci-test-onedir
skip-code-coverage:
required: false
type: boolean
description: Skip code coverage
default: false
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
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
jobs:
generate-matrix:
name: Generate Matrix
runs-on:
# We need to run on our self-hosted runners because we need proper credentials
# for boto3 to scan through our repositories.
- self-hosted
- linux
- x86_64
outputs:
pkg-matrix-include: ${{ steps.generate-pkg-matrix.outputs.matrix }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: Generate Package Test Matrix
id: generate-pkg-matrix
run: |
tools ci pkg-matrix ${{ inputs.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \
${{ inputs.pkg-type }} --testing-releases ${{ join(fromJSON(inputs.testing-releases), ' ') }}
test:
name: Test
runs-on:
- self-hosted
- linux
- bastion
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
needs:
- generate-matrix
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(needs.generate-matrix.outputs.pkg-matrix-include) }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Download Packages
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-${{ inputs.arch }}-${{ inputs.pkg-type }}
path: artifacts/pkg/
- name: Download Onedir Tarball as an Artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
path: artifacts/
- name: Decompress Onedir Tarball
shell: bash
run: |
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
- name: List Packages
run: |
tree artifacts/pkg/
- name: Download nox.linux.${{ inputs.arch }}.tar.* artifact for session ${{ inputs.nox-session }}
uses: actions/download-artifact@v4
with:
name: nox-linux-${{ inputs.arch }}-${{ inputs.nox-session }}
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: Get Salt Project GitHub Actions Bot Environment
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
- name: Start VM
id: spin-up-vm
run: |
tools --timestamps vm create --environment "${SPB_ENVIRONMENT}" --retries=2 ${{ inputs.distro-slug }}
- name: List Free Space
run: |
tools --timestamps vm ssh ${{ inputs.distro-slug }} -- df -h || true
- name: Upload Checkout To VM
run: |
tools --timestamps vm rsync ${{ inputs.distro-slug }}
- name: Decompress .nox Directory
run: |
tools --timestamps vm decompress-dependencies ${{ inputs.distro-slug }}
- name: Downgrade importlib-metadata
if: ${{ contains(fromJSON('["amazonlinux-2", "centos-7", "debian-10"]'), inputs.distro-slug) && contains(fromJSON('["upgrade-classic", "downgrade-classic"]'), matrix.tests-chunk) }}
run: |
# This step can go away once we stop testing classic packages upgrade/downgrades to/from 3005.x
tools --timestamps vm ssh ${{ inputs.distro-slug }} -- "sudo python3 -m pip install -U 'importlib-metadata<=4.13.0' 'virtualenv<=20.21.1'"
- name: Show System Info
run: |
tools --timestamps --timeout-secs=1800 vm test --skip-requirements-install --print-system-information-only \
--nox-session=${{ inputs.nox-session }}-pkgs ${{ inputs.distro-slug }} -- ${{ matrix.tests-chunk }}
- name: Run Package Tests
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install ${{ matrix.fips && '--fips ' || '' }}\
--nox-session=${{ inputs.nox-session }}-pkgs --rerun-failures ${{ inputs.distro-slug }} -- ${{ matrix.tests-chunk }} \
${{ matrix.version && format('--prev-version {0}', matrix.version) || ''}}
- name: Download Test Run Artifacts
id: download-artifacts-from-vm
if: always() && steps.spin-up-vm.outcome == 'success'
run: |
tools --timestamps vm download-artifacts ${{ inputs.distro-slug }}
# Delete the salt onedir, we won't need it anymore and it will prevent
# from it showing in the tree command below
rm -rf artifacts/salt*
tree -a artifacts
- name: Destroy VM
if: always()
run: |
tools --timestamps vm destroy --no-wait ${{ inputs.distro-slug }} || true
- name: Upload Test Run Artifacts
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ matrix.tests-chunk }}
path: |
artifacts
!artifacts/pkg/*
!artifacts/salt/*
!artifacts/salt-*.tar.*
report:
name: Report
runs-on: ubuntu-latest
if: always() && inputs.skip-code-coverage == false && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
needs:
- test
- generate-matrix
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(needs.generate-matrix.outputs.pkg-matrix-include) }}
steps:
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Download Test Run Artifacts
id: download-test-run-artifacts
uses: actions/download-artifact@v3
# This needs to be actions/download-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ matrix.tests-chunk }}
path: artifacts
- name: Show Test Run Artifacts
if: always() && steps.download-test-run-artifacts.outcome == 'success'
run: |
tree -a artifacts

View file

@ -1,249 +0,0 @@
name: Test Artifact
on:
workflow_call:
inputs:
distro-slug:
required: true
type: string
description: The OS slug to run tests against
platform:
required: true
type: string
description: The platform being tested
arch:
required: true
type: string
description: The platform arch being tested
pkg-type:
required: true
type: string
description: The platform arch being tested
salt-version:
type: string
required: true
description: The Salt version of the packages to install and test
cache-prefix:
required: true
type: string
description: Seed used to invalidate caches
testing-releases:
required: true
type: string
description: A JSON list of releases to test upgrades against
nox-version:
required: true
type: string
description: The nox version to install
python-version:
required: false
type: string
description: The python version to run tests with
default: "3.10"
package-name:
required: false
type: string
description: The onedir package name to use
default: salt
nox-session:
required: false
type: string
description: The nox session to run
default: ci-test-onedir
skip-code-coverage:
required: false
type: boolean
description: Skip code coverage
default: false
env:
COLUMNS: 190
PIP_INDEX_URL: https://pypi-proxy.saltstack.net/root/local/+simple/
PIP_EXTRA_INDEX_URL: https://pypi.org/simple
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
jobs:
generate-matrix:
name: Generate Matrix
runs-on:
# We need to run on our self-hosted runners because we need proper credentials
# for boto3 to scan through our repositories.
- self-hosted
- linux
- x86_64
outputs:
pkg-matrix-include: ${{ steps.generate-pkg-matrix.outputs.matrix }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: Generate Package Test Matrix
id: generate-pkg-matrix
run: |
tools ci pkg-matrix ${{ inputs.distro-slug }} ${{ inputs.pkg-type }} --testing-releases ${{ join(fromJSON(inputs.testing-releases), ' ') }}
test:
name: Test
runs-on: ${{ inputs.distro-slug }}
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
needs:
- generate-matrix
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(needs.generate-matrix.outputs.pkg-matrix-include) }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Download Packages
uses: actions/download-artifact@v4
with:
name: salt-${{ inputs.salt-version }}-${{ inputs.arch }}-${{ inputs.pkg-type }}
path: artifacts/pkg/
- name: Install System Dependencies
run: |
brew install tree
- name: List Packages
run: |
tree artifacts/pkg/
- name: Download Onedir Tarball as an Artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
path: artifacts/
- name: Decompress Onedir Tarball
shell: bash
run: |
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
- name: Install Nox
run: |
python3 -m pip install 'nox==${{ inputs.nox-version }}'
- name: Download nox.macos.${{ inputs.arch }}.tar.* artifact for session ${{ inputs.nox-session }}
uses: actions/download-artifact@v4
with:
name: nox-macos-${{ inputs.arch }}-${{ inputs.nox-session }}
- name: Decompress .nox Directory
run: |
nox --force-color -e decompress-dependencies -- macos ${{ inputs.arch }}
- name: Show System Info
env:
SKIP_REQUIREMENTS_INSTALL: "1"
PRINT_SYSTEM_INFO_ONLY: "1"
run: |
sudo -E nox --force-color -e ${{ inputs.nox-session }}-pkgs -- ${{ matrix.tests-chunk }}
- name: Run Package Tests
env:
SKIP_REQUIREMENTS_INSTALL: "1"
PRINT_TEST_SELECTION: "0"
PRINT_TEST_PLAN_ONLY: "0"
PRINT_SYSTEM_INFO: "0"
RERUN_FAILURES: "1"
GITHUB_ACTIONS_PIPELINE: "1"
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
COVERAGE_CONTEXT: ${{ inputs.distro-slug }}
run: |
sudo -E nox --force-color -e ${{ inputs.nox-session }}-pkgs -- ${{ matrix.tests-chunk }} \
${{ matrix.version && format('--prev-version {0}', matrix.version) || ''}}
- name: Fix file ownership
run: |
sudo chown -R "$(id -un)" .
- name: Prepare Test Run Artifacts
id: download-artifacts-from-vm
if: always()
run: |
# Delete the salt onedir, we won't need it anymore and it will prevent
# from it showing in the tree command below
rm -rf artifacts/salt*
tree -a artifacts
- name: Upload Test Run Artifacts
if: always()
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ matrix.tests-chunk }}
path: |
artifacts
!artifacts/pkg/*
!artifacts/salt/*
!artifacts/salt-*.tar.*
report:
name: Report
runs-on: ubuntu-latest
if: always() && inputs.skip-code-coverage == false && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
needs:
- test
- generate-matrix
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(needs.generate-matrix.outputs.pkg-matrix-include) }}
steps:
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Download Test Run Artifacts
id: download-test-run-artifacts
uses: actions/download-artifact@v3
# This needs to be actions/download-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ matrix.tests-chunk }}
path: artifacts
- name: Show Test Run Artifacts
if: always() && steps.download-test-run-artifacts.outcome == 'success'
run: |
tree -a artifacts
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
- name: Install Nox
run: |
python3 -m pip install 'nox==${{ inputs.nox-version }}'

View file

@ -1,260 +0,0 @@
name: Test Artifact
on:
workflow_call:
inputs:
distro-slug:
required: true
type: string
description: The OS slug to run tests against
platform:
required: true
type: string
description: The platform being tested
arch:
required: true
type: string
description: The platform arch being tested
pkg-type:
required: true
type: string
description: The platform arch being tested
salt-version:
type: string
required: true
description: The Salt version of the packages to install and test
cache-prefix:
required: true
type: string
description: Seed used to invalidate caches
testing-releases:
required: true
type: string
description: A JSON list of releases to test upgrades against
nox-version:
required: true
type: string
description: The nox version to install
python-version:
required: false
type: string
description: The python version to run tests with
default: "3.10"
fips:
required: false
type: boolean
default: false
description: Test run with FIPS enabled
package-name:
required: false
type: string
description: The onedir package name to use
default: salt
nox-session:
required: false
type: string
description: The nox session to run
default: ci-test-onedir
skip-code-coverage:
required: false
type: boolean
description: Skip code coverage
default: false
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
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
jobs:
generate-matrix:
name: Generate Matrix
runs-on:
# We need to run on our self-hosted runners because we need proper credentials
# for boto3 to scan through our repositories.
- self-hosted
- linux
- x86_64
outputs:
pkg-matrix-include: ${{ steps.generate-pkg-matrix.outputs.matrix }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: Generate Package Test Matrix
id: generate-pkg-matrix
run: |
tools ci pkg-matrix ${{ inputs.fips && '--fips ' || '' }}${{ inputs.distro-slug }} \
${{ inputs.pkg-type }} --testing-releases ${{ join(fromJSON(inputs.testing-releases), ' ') }}
test:
name: Test
runs-on:
- self-hosted
- linux
- bastion
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
needs:
- generate-matrix
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(needs.generate-matrix.outputs.pkg-matrix-include) }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Download Packages
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-${{ inputs.arch }}-${{ inputs.pkg-type }}
path: artifacts/pkg/
- name: Download Onedir Tarball as an Artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
path: artifacts/
- name: Decompress Onedir Tarball
shell: bash
run: |
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ inputs.platform }}-${{ inputs.arch }}.tar.xz
- name: List Packages
run: |
tree artifacts/pkg/
- name: Download nox.windows.${{ inputs.arch }}.tar.* artifact for session ${{ inputs.nox-session }}
uses: actions/download-artifact@v4
with:
name: nox-windows-${{ inputs.arch }}-${{ inputs.nox-session }}
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: Get Salt Project GitHub Actions Bot Environment
run: |
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
- name: Start VM
id: spin-up-vm
run: |
tools --timestamps vm create --environment "${SPB_ENVIRONMENT}" --retries=2 ${{ inputs.distro-slug }}
- name: List Free Space
run: |
tools --timestamps vm ssh ${{ inputs.distro-slug }} -- df -h || true
- name: Upload Checkout To VM
run: |
tools --timestamps vm rsync ${{ inputs.distro-slug }}
- name: Decompress .nox Directory
run: |
tools --timestamps vm decompress-dependencies ${{ inputs.distro-slug }}
- name: Downgrade importlib-metadata
if: ${{ contains(fromJSON('["amazonlinux-2", "centos-7", "debian-10"]'), inputs.distro-slug) && contains(fromJSON('["upgrade-classic", "downgrade-classic"]'), matrix.tests-chunk) }}
run: |
# This step can go away once we stop testing classic packages upgrade/downgrades to/from 3005.x
tools --timestamps vm ssh ${{ inputs.distro-slug }} -- "sudo python3 -m pip install -U 'importlib-metadata<=4.13.0' 'virtualenv<=20.21.1'"
- name: Show System Info
run: |
tools --timestamps --timeout-secs=1800 vm test --skip-requirements-install --print-system-information-only \
--nox-session=${{ inputs.nox-session }}-pkgs ${{ inputs.distro-slug }} -- ${{ matrix.tests-chunk }}
- name: Run Package Tests
run: |
tools --timestamps --no-output-timeout-secs=1800 --timeout-secs=14400 vm test --skip-requirements-install ${{ matrix.fips && '--fips ' || '' }}\
--nox-session=${{ inputs.nox-session }}-pkgs --rerun-failures ${{ inputs.distro-slug }} -- ${{ matrix.tests-chunk }} \
${{ matrix.version && format('--prev-version {0}', matrix.version) || ''}}
- name: Download Test Run Artifacts
id: download-artifacts-from-vm
if: always() && steps.spin-up-vm.outcome == 'success'
run: |
tools --timestamps vm download-artifacts ${{ inputs.distro-slug }}
# Delete the salt onedir, we won't need it anymore and it will prevent
# from it showing in the tree command below
rm -rf artifacts/salt*
tree -a artifacts
- name: Destroy VM
if: always()
run: |
tools --timestamps vm destroy --no-wait ${{ inputs.distro-slug }} || true
- name: Upload Test Run Artifacts
if: always() && steps.download-artifacts-from-vm.outcome == 'success'
uses: actions/upload-artifact@v3
# This needs to be actions/upload-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ matrix.tests-chunk }}
path: |
artifacts
!artifacts/pkg/*
!artifacts/salt/*
!artifacts/salt-*.tar.*
report:
name: Report
runs-on: ubuntu-latest
if: always() && inputs.skip-code-coverage == false && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
needs:
- test
- generate-matrix
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(needs.generate-matrix.outputs.pkg-matrix-include) }}
steps:
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Download Test Run Artifacts
id: download-test-run-artifacts
uses: actions/download-artifact@v3
# This needs to be actions/download-artifact@v3 because we upload multiple artifacts
# under the same name something that actions/upload-artifact@v4 does not do.
with:
name: pkg-testrun-artifacts-${{ inputs.distro-slug }}-${{ matrix.tests-chunk }}
path: artifacts
- name: Show Test Run Artifacts
if: always() && steps.download-test-run-artifacts.outcome == 'success'
run: |
tree -a artifacts

View file

@ -0,0 +1,511 @@
---
name: Test Packages
on:
workflow_call:
inputs:
salt-version:
type: string
required: true
description: The Salt version of the packages to install and test
cache-prefix:
required: true
type: string
description: Seed used to invalidate caches
testing-releases:
required: true
type: string
description: A JSON list of releases to test upgrades against
nox-version:
required: true
type: string
description: The nox version to install
python-version:
required: false
type: string
description: The python version to run tests with
default: "3.10"
nox-session:
required: false
type: string
description: The nox session to run
default: ci-test-onedir
skip-code-coverage:
required: false
type: boolean
description: Skip code coverage
default: false
package-name:
required: false
type: string
description: The onedir package name to use
default: salt
matrix:
required: true
type: string
description: Json job matrix config
linux_arm_runner:
required: true
type: string
description: Json job matrix config
env:
COLUMNS: 190
AWS_MAX_ATTEMPTS: "10"
AWS_RETRY_MODE: "adaptive"
PIP_INDEX_URL: ${{ vars.PIP_INDEX_URL }}
PIP_TRUSTED_HOST: ${{ vars.PIP_TRUSTED_HOST }}
PIP_EXTRA_INDEX_URL: ${{ vars.PIP_EXTRA_INDEX_URL }}
PIP_DISABLE_PIP_VERSION_CHECK: "1"
RAISE_DEPRECATIONS_RUNTIME_ERRORS: "1"
USE_S3_CACHE: 'false'
jobs:
test-linux:
name: ${{ matrix.display_name }} ${{ matrix.tests-chunk }}
runs-on: ${{ matrix.arch == 'x86_64' && 'ubuntu-24.04' || inputs.linux_arm_runner }}
if: ${{ !cancelled() && toJSON(fromJSON(inputs.matrix)['linux']) != '[]' }}
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(inputs.matrix)['linux'] }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
- name: "Set `TIMESTAMP` environment variable"
shell: bash
run: |
echo "TIMESTAMP=$(date +%s)" | tee -a "$GITHUB_ENV"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
- name: Setup Python Tools Scripts
uses: ./.github/actions/setup-python-tools-scripts
with:
cache-prefix: ${{ inputs.cache-prefix }}
- name: Download Packages
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-${{ matrix.arch }}-${{ matrix.pkg_type }}
path: artifacts/pkg/
- name: Download Onedir Tarball as an Artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ matrix.platform }}-${{ matrix.arch }}.tar.xz
path: artifacts/
- name: Decompress Onedir Tarball
shell: bash
run: |
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ matrix.platform }}-${{ matrix.arch }}.tar.xz
- name: Install Nox
run: |
python3 -m pip install 'nox==${{ inputs.nox-version }}'
env:
PIP_INDEX_URL: https://pypi.org/simple
- name: List Packages
run: |
tree artifacts/pkg/
- name: Download nox.linux.${{ matrix.arch }}.tar.* artifact for session ${{ inputs.nox-session }}
uses: actions/download-artifact@v4
with:
name: nox-linux-${{ matrix.arch }}-${{ inputs.nox-session }}
- name: "Ensure docker is running"
run: |
sudo systemctl start containerd || exit 0
- name: "Pull container ${{ matrix.container }}"
run: |
docker pull ${{ matrix.container }}
- name: "Create container ${{ matrix.container }}"
run: |
tools container create ${{ matrix.container }} --name ${{ github.run_id }}_salt-test-pkg
- name: "Start container ${{ matrix.container }}"
run: |
/usr/bin/docker start ${{ github.run_id }}_salt-test-pkg
- name: Decompress .nox Directory
run: |
docker exec ${{ github.run_id}}_salt-test-pkg python3 -m nox --force-color -e decompress-dependencies -- linux ${{ matrix.arch }}
- name: List Free Space
run: |
df -h || true
- name: Show System Info
run: |
docker exec \
-e SKIP_REQUIREMENTS_INSTALL=1 \
-e PRINT_SYSTEM_INFO_ONLY=1 \
${{ github.run_id }}_salt-test-pkg python3 -m nox --force-color -e ${{ inputs.nox-session }}-pkgs -- ${{ matrix.tests-chunk }}
- name: Run Package Tests
run: |
docker exec \
${{ github.run_id }}_salt-test-pkg \
python3 -m nox --force-color -e ${{ inputs.nox-session }}-pkgs -- ${{ matrix.tests-chunk }} \
${{ matrix.version && format('--prev-version={0}', matrix.version) || ''}}
- name: Upload Test Run Log Artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: pkg-testrun-log-artifacts-${{ matrix.slug }}-${{ inputs.nox-session }}${{ matrix.fips && '-fips' || '' }}-${{ matrix.pkg_type }}-${{ matrix.arch }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}-${{ env.TIMESTAMP }}
path: |
artifacts/logs
include-hidden-files: true
- name: Upload Test Run Artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: pkg-testrun-artifacts-${{ matrix.slug }}${{ matrix.fips && '-fips' || '' }}-${{ matrix.pkg_type }}-${{ matrix.arch }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}-${{ env.TIMESTAMP }}
path: |
artifacts/
!artifacts/pkg/*
!artifacts/salt/*
!artifacts/salt-*.tar.*
include-hidden-files: true
test-macos:
name: ${{ matrix.display_name }} ${{ matrix.tests-chunk }}
runs-on: ${{ matrix.runner }}
if: ${{ !cancelled() && toJSON(fromJSON(inputs.matrix)['macos']) != '[]' }}
timeout-minutes: 150 # 2 & 1/2 Hours - More than this and something is wrong (MacOS needs a little more time)
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(inputs.matrix)['macos'] }}
steps:
- name: "Throttle Builds"
shell: bash
run: |
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
- name: "Set `TIMESTAMP` environment variable"
shell: bash
run: |
echo "TIMESTAMP=$(date +%s)" | tee -a "$GITHUB_ENV"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Download Packages
uses: actions/download-artifact@v4
with:
name: salt-${{ inputs.salt-version }}-${{ matrix.arch }}-macos
path: artifacts/pkg/
- name: Install System Dependencies
run: |
brew install tree pkg-config mysql
- name: List Packages
run: |
tree artifacts/pkg/
- name: Download Onedir Tarball as an Artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ matrix.platform }}-${{ matrix.arch }}.tar.xz
path: artifacts/
- name: Decompress Onedir Tarball
shell: bash
run: |
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ matrix.platform }}-${{ matrix.arch }}.tar.xz
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
- name: Install Nox
run: |
python3 -m pip install 'nox==${{ inputs.nox-version }}'
env:
PIP_INDEX_URL: https://pypi.org/simple
- name: Download nox.macos.${{ matrix.arch }}.tar.* artifact for session ${{ inputs.nox-session }}
uses: actions/download-artifact@v4
with:
name: nox-macos-${{ matrix.arch }}-${{ inputs.nox-session }}
- name: Decompress .nox Directory
run: |
nox --force-color -e decompress-dependencies -- macos ${{ matrix.arch }}
- name: Show System Info
env:
SKIP_REQUIREMENTS_INSTALL: "1"
PRINT_SYSTEM_INFO_ONLY: "1"
run: |
sudo -E nox --force-color -e ${{ inputs.nox-session }}-pkgs -- ${{ matrix.tests-chunk }}
- name: Run Package Tests
env:
SKIP_REQUIREMENTS_INSTALL: "1"
PRINT_TEST_SELECTION: "0"
PRINT_TEST_PLAN_ONLY: "0"
PRINT_SYSTEM_INFO: "0"
RERUN_FAILURES: "1"
GITHUB_ACTIONS_PIPELINE: "1"
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
COVERAGE_CONTEXT: ${{ matrix.slug }}
run: |
sudo -E nox --force-color -e ${{ inputs.nox-session }}-pkgs -- ${{ matrix.tests-chunk }} \
${{ matrix.version && format('--prev-version={0}', matrix.version) || ''}}
- name: Fix file ownership
run: |
sudo chown -R "$(id -un)" .
- name: Prepare Test Run Artifacts
id: download-artifacts-from-vm
if: always()
run: |
# Delete the salt onedir, we won't need it anymore and it will prevent
# from it showing in the tree command below
rm -rf artifacts/salt*
tree -a artifacts
- name: Upload Test Run Log Artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: pkg-testrun-log-artifacts-${{ matrix.slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}-${{ env.TIMESTAMP }}
path: |
artifacts/logs
include-hidden-files: true
- name: Upload Test Run Artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: pkg-testrun-artifacts-${{ matrix.slug }}-${{ matrix.pkg_type }}-${{ matrix.arch }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}-${{ env.TIMESTAMP }}
path: |
artifacts/
!artifacts/pkg/*
!artifacts/salt/*
!artifacts/salt-*.tar.*
include-hidden-files: true
test-windows:
name: ${{ matrix.display_name }} ${{ matrix.tests-chunk }}
runs-on: ${{ matrix.slug }}
timeout-minutes: 120 # 2 Hours - More than this and something is wrong
if: ${{ !cancelled() && toJSON(fromJSON(inputs.matrix)['windows']) != '[]' }}
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(inputs.matrix)['windows'] }}
steps:
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "${{ inputs.python-version }}"
- name: "Throttle Builds"
shell: bash
run: |
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
- name: "Set `TIMESTAMP` environment variable"
shell: bash
run: |
echo "TIMESTAMP=$(date +%s)" | tee -a "$GITHUB_ENV"
- name: Checkout Source Code
uses: actions/checkout@v4
- name: Download Packages
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-${{ matrix.arch }}-${{ matrix.pkg_type }}
path: ./artifacts/pkg/
- name: Download Onedir Tarball as an Artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ matrix.platform }}-${{ matrix.arch }}.tar.xz
path: ./artifacts/
- name: Decompress Onedir Tarball
shell: bash
run: |
python3 -c "import os; os.makedirs('artifacts', exist_ok=True)"
cd artifacts
tar xvf ${{ inputs.package-name }}-${{ inputs.salt-version }}-onedir-${{ matrix.platform }}-${{ matrix.arch }}.tar.xz
- name: Install Nox
run: |
python3 -m pip install 'nox==${{ inputs.nox-version }}'
env:
PIP_INDEX_URL: https://pypi.org/simple
- run: python3 --version
- name: Download nox.windows.${{ matrix.arch }}.tar.* artifact for session ${{ inputs.nox-session }}
uses: actions/download-artifact@v4
with:
name: nox-windows-${{ matrix.arch }}-${{ inputs.nox-session }}
- name: Decompress .nox Directory
run: |
nox --force-color -e decompress-dependencies -- windows ${{ matrix.arch }}
- name: List Important Directories
run: |
dir d:/
dir .
dir artifacts/
dir artifacts/pkg
dir .nox/ci-test-onedir/Scripts
- name: Check onedir python
continue-on-error: true
run: |
artifacts/salt/Scripts/python.exe --version
- name: Check nox python
continue-on-error: true
run: |
.nox/ci-test-onedir/Scripts/python.exe --version
- name: Show System Info
env:
SKIP_REQUIREMENTS_INSTALL: "1"
SKIP_CODE_COVERAGE: "1"
PRINT_SYSTEM_INFO_ONLY: "1"
PYTHONUTF8: "1"
run: |
nox --force-color -f noxfile.py -e "${{ inputs.nox-session }}-pkgs" -- '${{ matrix.tests-chunk }}' --log-cli-level=debug
- name: Run Package Tests
env:
SKIP_REQUIREMENTS_INSTALL: "1"
PRINT_TEST_SELECTION: "0"
PRINT_TEST_PLAN_ONLY: "0"
PRINT_SYSTEM_INFO: "0"
RERUN_FAILURES: "1"
GITHUB_ACTIONS_PIPELINE: "1"
SKIP_INITIAL_ONEDIR_FAILURES: "1"
SKIP_INITIAL_GH_ACTIONS_FAILURES: "1"
COVERAGE_CONTEXT: ${{ matrix.slug }}
OUTPUT_COLUMNS: "190"
PYTHONUTF8: "1"
run: >
nox --force-color -f noxfile.py -e ${{ inputs.nox-session }}-pkgs -- ${{ matrix.tests-chunk }}
${{ matrix.version && format('--prev-version={0}', matrix.version) || ''}}
- name: Prepare Test Run Artifacts
id: download-artifacts-from-vm
if: always()
shell: bash
run: |
# Delete the salt onedir, we won't need it anymore and it will prevent
# from it showing in the tree command below
rm -rf artifacts/salt*
if [ "${{ inputs.skip-code-coverage }}" != "true" ]; then
mv artifacts/coverage/.coverage artifacts/coverage/.coverage.${{ matrix.slug }}.${{ inputs.nox-session }}.${{ matrix.transport }}.${{ matrix.tests-chunk }}
fi
- name: Upload Test Run Log Artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: pkg-testrun-log-artifacts-${{ matrix.slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}-${{ env.TIMESTAMP }}
path: |
artifacts/logs
include-hidden-files: true
- name: Upload Test Run Artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: pkg-testrun-artifacts-${{ matrix.slug }}-${{ matrix.pkg_type }}-${{ matrix.arch }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}-${{ env.TIMESTAMP }}
path: |
artifacts/
!artifacts/pkg/*
!artifacts/salt/*
!artifacts/salt-*.tar.*
include-hidden-files: true
report:
name: Report
runs-on: ubuntu-22.04
if: ${{ false }}
needs:
- test-linux
- test-macos
- test-windows
strategy:
matrix:
include: ${{ fromJSON(inputs.matrix)['linux'] }}
steps:
- name: Checkout Source Code
uses: actions/checkout@v4
- name: "Throttle Builds"
shell: bash
run: |
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
- name: Wait For Artifacts
run: |
sleep 60
- name: Merge Test Run Artifacts
continue-on-error: true
uses: actions/upload-artifact/merge@v4
with:
name: pkg-testrun-artifacts-${{ matrix.slug }}${{ matrix.fips && '-fips' || '' }}-${{ matrix.pkg_type }}
pattern: pkg-testrun-artifacts-${{ matrix.slug }}${{ matrix.fips && '-fips' || '' }}-${{ matrix.pkg_type }}-*
separate-directories: true
delete-merged: true
- name: Wait For Artifacts 2
run: |
sleep 60
- name: Download Test Run Artifacts
id: download-test-run-artifacts
uses: actions/download-artifact@v4
with:
path: artifacts/
pattern: pkg-testrun-artifacts-${{ matrix.slug }}${{ matrix.fips && '-fips' || '' }}-${{ matrix.pkg_type }}*
merge-multiple: true
- name: Show Test Run Artifacts
if: always()
run: |
tree -a artifacts

View file

@ -38,7 +38,7 @@ jobs:
- name: Download last assignment cache
continue-on-error: true
uses: dawidd6/action-download-artifact@v2
uses: dawidd6/action-download-artifact@v8
with:
workflow: triage.yml
name: last-assignment

26
.github/workflows/workflow-finished.yml vendored Normal file
View file

@ -0,0 +1,26 @@
name: Workflow Finished
run-name: Workflow Finished ${{ github.event.workflow_run.display_title }} (${{ github.event.workflow_run.conclusion }})
on:
workflow_run:
workflows: [Nightly, Scheduled, Stage Release]
types:
- completed
permissions:
contents: read
pull-requests: read
actions: write
jobs:
restart-failed-jobs:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'failure' && github.event.workflow_run.run_attempt < 5 }}
steps:
- name: Restart failed jobs
env:
GH_REPO: ${{ github.repository }}
GH_TOKEN: ${{ github.token }}
run: |
gh run rerun ${{ github.event.workflow_run.id }} --failed

View file

@ -0,0 +1,27 @@
name: Workflow PR Finished
run-name: Workflow PR Finished ${{ github.event.workflow_run.display_title }} (${{ github.event.workflow_run.conclusion }})
on:
workflow_run:
workflows:
- CI
types:
- completed
permissions:
contents: read
pull-requests: read
actions: write
jobs:
restart-failed-jobs:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'failure' && github.event.workflow_run.run_attempt < 5 }}
steps:
- name: Restart failed jobs
env:
GH_REPO: ${{ github.repository }}
GH_TOKEN: ${{ github.token }}
run: |
gh run rerun ${{ github.event.workflow_run.id }} --failed

13
.gitignore vendored
View file

@ -16,13 +16,14 @@ MANIFEST
.pytest_cache
Pipfile.lock
.mypy_cache/*
.tools-venvs/
# virtualenv
# - ignores directories of a virtualenv when you create it right on
# top of salt such as
# - /some/path$ git clone https://github.com/thatch45/salt.git
# - /some/path$ virtualenv --python=/usr/bin/python2.6 salt
/env/
/.?env/
/bin/
/etc/
/include/
@ -35,7 +36,7 @@ Pipfile.lock
/tests/cachedir/
/tests/unit/templates/roots/
/var/
/venv/
/.?venv/
# setuptools stuff
*.egg-info
@ -89,6 +90,7 @@ tests/unit/templates/roots
# Pycharm
.idea
venv/
.venv/
# VS Code
.vscode
@ -110,12 +112,6 @@ tests/integration/cloud/providers/pki/minions
# Ignore pyenv files
.python-version
# Kitchen tests files
.kitchen.local.yml
kitchen.local.yml
.kitchen/
.bundle/
Gemfile.lock
/artifacts/
requirements/static/*/py*/*.log
@ -127,6 +123,7 @@ Session.vim
# Nox requirements archives
nox.*.tar.bzip2
nox.*.tar.gz
nox.*.tar.xz
# Debian packages

View file

@ -1,108 +0,0 @@
---
stages:
- lint
- test
include:
- local: 'cicd/kitchen_template.yml'
- local: 'cicd/kitchen_testruns.yml'
# pre-commit-run-all:
# image:
# name: registry.gitlab.com/saltstack/pop/cicd/containers/ubuntu1804:latest
# entrypoint: [""]
# stage: lint
# variables:
# PRE_COMMIT_HOME: "${CI_PROJECT_DIR}/pre-commit-cache"
# only:
# refs:
# - merge_requests
# cache:
# key: pre-commit-cache
# paths:
# - pre-commit-cache/
# script:
# - pip3 install pre-commit
# - pre-commit run -a -v --color always
lint-salt-full:
image: registry.gitlab.com/saltstack/pop/cicd/containers/ubuntu1804:latest
stage: lint
tags:
- saltstack-internal
cache:
key: nox-lint-cache
paths:
- .nox
only:
refs:
- schedules
script:
- python --version
- pip3 install -U nox-py2==2019.6.25
- nox --version
- nox --install-only -e lint-salt
- EC=254
- export PYLINT_REPORT=pylint-report-salt-full.log
- nox -e lint-salt
- EC=$?
- exit $EC
lint-tests-full:
image: registry.gitlab.com/saltstack/pop/cicd/containers/ubuntu1804:latest
stage: lint
tags:
- saltstack-internal
cache:
key: nox-lint-cache
paths:
- .nox
only:
refs:
- schedules
script:
- python --version
- pip3 install -U nox-py2==2019.6.25
- nox --version
- nox --install-only -e lint-tests
- EC=254
- export PYLINT_REPORT=pylint-report-tests-full.log
- nox -e lint-tests
- EC=$?
- exit $EC
docs-build-html:
image: registry.gitlab.com/saltstack/pop/cicd/containers/ubuntu1804:latest
stage: test
tags:
- saltstack-internal
cache:
key: nox-docs-cache
paths:
- .nox
only:
refs:
- schedules
script:
- python --version
- pip install -U nox-py2==2019.6.25
- nox --version
- nox -e 'docs-html(compress=True)'
docs-build-man-pages:
image: registry.gitlab.com/saltstack/pop/cicd/containers/ubuntu1804:latest
stage: test
tags:
- saltstack-internal
cache:
key: nox-docs-cache
paths:
- .nox
only:
refs:
- schedules
script:
- python --version
- pip install -U nox-py2==2019.6.25
- nox --version
- nox -e 'docs-man(compress=True, update=False)'

File diff suppressed because it is too large Load diff

1013
.pylintrc

File diff suppressed because it is too large Load diff

View file

@ -1,27 +0,0 @@
[rstcheck]
ignore_directives=
automodule,
autoclass,
autofunction,
conf_proxy,
conf_log,
conf_master,
conf_minion,
releasestree,
jinja_ref,
salt:event
ignore_roles=
conf_master,
conf_minion,
conf_proxy,
conf_log,
formula_url,
issue,
pull,
blob,
jinja_ref
ignore_substitutions=
saltrepo,
repo_primary_branch,
windownload,
osxdownloadpy3

112
AUTHORS
View file

@ -8,114 +8,28 @@ Whos Who in Salt
The Man With the Plan
----------------------------
Thomas S. Hatch is the main developer of Salt. He is the founder, owner,
maintainer and lead of the Salt project, as well as author of the majority
of the Salt code and documentation.
Thomas S. Hatch is the creator of Salt. He was the founder, owner,
maintainer that lead Salt project, as well as author of the majority
of initial Salt code and documentation.
SaltStack, Inc. was acquired by VMware in 2020. In 2023, VMware was
acquired by Broadcom.
The Salt Project core team of developers are employed by Broadcom.
Documentation System
----------------------------
The documentation system was put together by Seth House, much of the
documentation is being maintained by Seth.
Developers
----------------------------
Aaron Bull Schaefer <aaron@elasticdog.com>
Aaron Toponce <aaron.toponce@gmail.com>
Andrew Hammond <andrew.george.hammond@gmail.com>
Aditya Kulkarni <adi@saltstack.com>
Alexander Pyatkin <asp@thexyz.net>
Andre Sachs <andre@sachs.nom.za>
Andrew Colin Kissa <andrew@topdog.za.net>
Andrew Kuhnhausen <trane@errstr.com>
Antti Kaihola <akaihol+github@ambitone.com>
archme <archme.mail@gmail.com>
Brad Barden <brad@mifflinet.net>
Bret Palsson <bretep@gmail.com>
Brian Wagner <wags@wagsworld.net>
C. R. Oldham <cr@saltstack.com>
Carl Loa Odin <carlodin@gmail.com>
Carlo Pires <carlopires@gmail.com>
Chris Rebert <chris.rebert@hulu.com>
Chris Scheller <schelcj@umich.edu>
Christer Edwards <christer.edwards@gmail.com>
Clint Savage <herlo1@gmail.com>
Colton Myers <cmyers@saltstack.com>
Corey Quinn <corey@sequestered.net>
Corin Kochenower <ckochenower@saltstack.com>
Dan Garthwaite <dan@garthwaite.org>
Daniel Wallace <danielwallace at gtmanfred dot com>
David Boucha <boucha@gmail.com>
David Pravec <alekibango@pravec.tk>
deutsche
Dmitry Kuzmenko <dkuzmenko@saltstack.com>
Doug Renn <renn@nestegg.com>
Eivind Uggedal <eivind@uggedal.com>
epoelke@gmail.com <epoelke@heartflow.com>
Eric Poelke <epoelke@gmail.com>
Erik Nolte <enolte@beyondoblivion.com>
Evan Borgstrom <evan@fatbox.ca>
Forrest Alvarez <forrest.alvarez@gmail.com>
Fred Reimer <freimer@freimer.org>
Henrik Holmboe <henrik@holmboe.se>
Gareth J. Greenaway <gareth@wiked.org>
Jacob Albretsen <jakea@xmission.com>
Jed Glazner <jglazner@coldcrow.com>
Jeff Bauer <jbauer@rubic.com>
Jeff Hutchins <jhutchins@getjive.com>
Jeffrey C. Ollie <jeff@ocjtech.us>
Jeff Schroeder <jeffschroeder@computer.org>
Johnny Bergström
Jonas Buckner <buckner.jonas@gmail.com>
Jonathan Harker <k.jonathan.harker@hp.com>
Joseph Hall <joseph@saltstack.com>
Josmar Dias <josmarnet@gmail.com>
Kent Tenney <ktenney@gmail.com>
lexual
Marat Shakirov
Marc Abramowitz <marc+github@marc-abramowitz.com>
Martin Schnabel <mb0@mb0.org>
Mathieu Le Marec - Pasquet <kiorky@cryptelium.net>
Matt Black
Matthew Printz <hipokrit@gmail.com>
Matthias Teege <matthias-git@mteege.de>
Maxim Burgerhout <maxim@wzzrd.com>
Mickey Malone <mickey.malone@gmail.com>
Michael Steed <msteed@saltstack.com>
Mike Place <mp@saltstack.com>
Mircea Ulinic <ping@mirceaulinic.net>
Mitch Anderson <mitch@metauser.net>
Mostafa Hussein <mostafa.hussein91@gmail.com>
Nathaniel Whiteinge <seth@eseth.com>
Nicolas Delaby <nicolas.delaby@ezeep.com>
Nicole Thomas <nicole@saltstack.com>
Nigel Owen <nigelowen2.gmail.com>
Nitin Madhok <nmadhok@g.clemson.edu>
Oleg Anashkin <oleg.anashkin@gmail.com>
Pedro Algarvio <pedro@algarvio.me>
Peter Baumgartner
Pierre Carrier <pierre@spotify.com>
Rhys Elsmore <me@rhys.io>
Rafael Caricio <rafael@caricio.com>
Robert Fielding
Sean Channel <pentabular@gmail.com>
Seth House <seth@eseth.com>
Seth Vidal <skvidal@fedoraproject.org>
Stas Alekseev <stas.alekseev@gmail.com>
Thibault Cohen <titilambert@gmail.com>
Thomas Schreiber <tom@rizumu.us>
Thomas S Hatch <thatch45@gmail.com>
Tor Hveem <xt@bash.no>
Travis Cline <travis.cline@gmail.com>
Wieland Hoffmann <themineo+github@gmail.com>
The initial documentation system was put together by Seth House.
Documentation is now primarily maintained by the Salt Project core team and
community members.
Growing Community
--------------------------------
Salt is a rapidly growing project with a large community, to view all
contributors please check Github, this file can sometimes be out of date:
Salt is a rapidly growing project with a large community, and has had more than
2,400 contributors over the years. To view all contributors, please check Github:
https://github.com/saltstack/salt/graphs/contributors

View file

@ -7,6 +7,535 @@ Versions are `MAJOR.PATCH`.
# Changelog
## 3007.1 (2024-05-19)
### Removed
- The ``salt.utils.psutil_compat`` was deprecated and now removed in Salt 3008. Please use the ``psutil`` module directly. [#66160](https://github.com/saltstack/salt/issues/66160)
## 3006.9 (2024-07-29)
### Deprecated
- Drop CentOS 7 support [#66623](https://github.com/saltstack/salt/issues/66623)
- No longer build RPM packages with CentOS Stream 9 [#66624](https://github.com/saltstack/salt/issues/66624)
### Fixed
- Made slsutil.renderer work with salt-ssh [#50196](https://github.com/saltstack/salt/issues/50196)
- Fixed defaults.merge is not available when using salt-ssh [#51605](https://github.com/saltstack/salt/issues/51605)
- Fixed config.get does not support merge option with salt-ssh [#56441](https://github.com/saltstack/salt/issues/56441)
- Update to include croniter in pkg requirements [#57649](https://github.com/saltstack/salt/issues/57649)
- Fixed state.test does not work with salt-ssh [#61100](https://github.com/saltstack/salt/issues/61100)
- Made slsutil.findup work with salt-ssh [#61143](https://github.com/saltstack/salt/issues/61143)
- Fixes multiple issues with the cmd module on Windows. Scripts are called using
the ``-File`` parameter to the ``powershell.exe`` binary. ``CLIXML`` data in
stderr is now removed (only applies to encoded commands). Commands can now be
sent to ``cmd.powershell`` as a list. Makes sure JSON data returned is valid.
Strips whitespace from the return when using ``runas``. [#61166](https://github.com/saltstack/salt/issues/61166)
- Fixed the win_lgpo_netsh salt util to handle non-English systems. This was a
rewrite to use PowerShell instead of netsh to make the changes on the system [#61534](https://github.com/saltstack/salt/issues/61534)
- Fix typo in nftables module to ensure unique nft family values [#65295](https://github.com/saltstack/salt/issues/65295)
- Corrected x509_v2 CRL creation `last_update` and `next_update` values when system timezone is not UTC [#65837](https://github.com/saltstack/salt/issues/65837)
- Fix for NoneType can't be used in 'await' expression error. [#66177](https://github.com/saltstack/salt/issues/66177)
- Log "Publish server binding pub to" messages to debug instead of error level. [#66179](https://github.com/saltstack/salt/issues/66179)
- Fix syndic startup by making payload handler a coroutine [#66237](https://github.com/saltstack/salt/issues/66237)
- Fixed `aptpkg.remove` "unable to locate package" error for non-existent package [#66260](https://github.com/saltstack/salt/issues/66260)
- Fixed pillar.ls doesn't accept kwargs [#66262](https://github.com/saltstack/salt/issues/66262)
- Fix cache directory setting in Master Cluster tutorial [#66264](https://github.com/saltstack/salt/issues/66264)
- Change log level of successful master cluster key exchange from error to info. [#66266](https://github.com/saltstack/salt/issues/66266)
- Made `file.managed` skip download of a remote source if the managed file already exists with the correct hash [#66342](https://github.com/saltstack/salt/issues/66342)
- Fixed nftables.build_rule breaks ipv6 rules by using the wrong syntax for source and destination addresses [#66382](https://github.com/saltstack/salt/issues/66382)
- file.replace and file.search work properly with /proc files [#63102](https://github.com/saltstack/salt/issues/63102)
- Fix utf8 handling in 'pass' renderer [#64300](https://github.com/saltstack/salt/issues/64300)
- Fixed incorrect version argument will be ignored for multiple package targets warning when using pkgs argument to yumpkg module. [#64563](https://github.com/saltstack/salt/issues/64563)
- salt-cloud honors root_dir config setting for log_file location and fixes for root_dir locations on windows. [#64728](https://github.com/saltstack/salt/issues/64728)
- Fixed slsutil.update with salt-ssh during template rendering [#65067](https://github.com/saltstack/salt/issues/65067)
- Fix config.items when called on minion [#65251](https://github.com/saltstack/salt/issues/65251)
- Ensure on rpm and deb systems, that user and group for existing Salt, is maintained on upgrade [#65264](https://github.com/saltstack/salt/issues/65264)
- Fix typo in nftables module to ensure unique nft family values [#65295](https://github.com/saltstack/salt/issues/65295)
- pkg.installed state aggregate does not honors requires requisite [#65304](https://github.com/saltstack/salt/issues/65304)
- Added SSH wrapper for logmod [#65630](https://github.com/saltstack/salt/issues/65630)
- Fix for GitFS failure to unlock lock file, and resource cleanup for process SIGTERM [#65816](https://github.com/saltstack/salt/issues/65816)
- Corrected x509_v2 CRL creation `last_update` and `next_update` values when system timezone is not UTC [#65837](https://github.com/saltstack/salt/issues/65837)
- Make sure the root minion process handles SIGUSR1 and emits a traceback like it's child processes [#66095](https://github.com/saltstack/salt/issues/66095)
- Replaced pyvenv with builtin venv for virtualenv_mod [#66132](https://github.com/saltstack/salt/issues/66132)
- Made `file.managed` skip download of a remote source if the managed file already exists with the correct hash [#66342](https://github.com/saltstack/salt/issues/66342)
- Fix win_task ExecutionTimeLimit and result/error code interpretation [#66347](https://github.com/saltstack/salt/issues/66347), [#66441](https://github.com/saltstack/salt/issues/66441)
- Fixed nftables.build_rule breaks ipv6 rules by using the wrong syntax for source and destination addresses [#66382](https://github.com/saltstack/salt/issues/66382)
- Fixed x509_v2 certificate.managed crash for locally signed certificates if the signing policy defines signing_private_key [#66414](https://github.com/saltstack/salt/issues/66414)
- Fixed parallel state execution with Salt-SSH [#66514](https://github.com/saltstack/salt/issues/66514)
- Fix support for FIPS approved encryption and signing algorithms. [#66579](https://github.com/saltstack/salt/issues/66579)
- Fix relative file_roots paths [#66588](https://github.com/saltstack/salt/issues/66588)
- Fixed an issue with cmd.run with requirements when the shell is not the
default [#66596](https://github.com/saltstack/salt/issues/66596)
- Fix RPM package provides [#66604](https://github.com/saltstack/salt/issues/66604)
- Upgrade relAenv to 0.16.1. This release fixes several package installs for salt-pip [#66632](https://github.com/saltstack/salt/issues/66632)
- Upgrade relenv to 0.17.0 (https://github.com/saltstack/relenv/blob/v0.17.0/CHANGELOG.md) [#66663](https://github.com/saltstack/salt/issues/66663)
- Upgrade dependencies due to security issues:
- pymysql>=1.1.1
- requests>=2.32.0
- docker>=7.1.0 [#66666](https://github.com/saltstack/salt/issues/66666)
- Corrected missed line in branch 3006.x when backporting from PR 61620 and 65044 [#66683](https://github.com/saltstack/salt/issues/66683)
- Remove debug output from shell scripts for packaging [#66747](https://github.com/saltstack/salt/issues/66747)
### Added
- Added the ability to pass a version of chocolatey to install to the
chocolatey.bootstrap function. Also added states to bootstrap and
unbootstrap chocolatey. [#64722](https://github.com/saltstack/salt/issues/64722)
- Add Ubuntu 24.04 support [#66180](https://github.com/saltstack/salt/issues/66180)
- Add Fedora 40 support, replacing Fedora 39 [#66300](https://github.com/saltstack/salt/issues/66300)
- Add Ubuntu 24.04 support [#66180](https://github.com/saltstack/salt/issues/66180)
- Add Fedora 40 support, replacing Fedora 39 [#66300](https://github.com/saltstack/salt/issues/66300)
- Build RPM packages with Rocky Linux 9 (instead of CentOS Stream 9) [#66624](https://github.com/saltstack/salt/issues/66624)
### Security
- Bump to `pydantic==2.6.4` due to https://github.com/advisories/GHSA-mr82-8j83-vxmv [#66433](https://github.com/saltstack/salt/issues/66433)
- Bump to ``jinja2==3.1.4`` due to https://github.com/advisories/GHSA-h75v-3vvj-5mfj [#66488](https://github.com/saltstack/salt/issues/66488)
- Bump to ``jinja2==3.1.4`` due to https://github.com/advisories/GHSA-h75v-3vvj-5mfj [#66488](https://github.com/saltstack/salt/issues/66488)
- CVE-2024-37088 salt-call will fail with exit code 1 if bad pillar data is
encountered. [#66702](https://github.com/saltstack/salt/issues/66702)
## 3006.8 (2024-04-29)
### Removed
- Removed deprecated code scheduled to be removed on 2024-01-01:
* ``TemporaryLoggingHandler`` and ``QueueHandler`` in ``salt/_logging/handlers.py``
* All of the ``salt/log`` package.
* The ``salt/modules/cassandra_mod.py`` module.
* The ``salt/returners/cassandra_return.py`` returner.
* The ``salt/returners/django_return.py`` returner. [#66147](https://github.com/saltstack/salt/issues/66147)
### Deprecated
- Drop Fedora 37 and Fedora 38 support [#65860](https://github.com/saltstack/salt/issues/65860)
- Drop CentOS Stream 8 and 9 from CI/CD [#66104](https://github.com/saltstack/salt/issues/66104)
- Drop Photon OS 3 support [#66105](https://github.com/saltstack/salt/issues/66105)
- The ``salt.utils.psutil_compat`` module has been deprecated and will be removed in Salt 3008. Please use the ``psutil`` module directly. [#66139](https://github.com/saltstack/salt/issues/66139)
### Fixed
- ``user.add`` on Windows now allows you to add user names that contain all
numeric characters [#53363](https://github.com/saltstack/salt/issues/53363)
- Fix an issue with the win_system module detecting established connections on
non-Windows systems. Uses psutils instead of parsing the return of netstat [#60508](https://github.com/saltstack/salt/issues/60508)
- pkg.refresh_db on Windows now honors saltenv [#61807](https://github.com/saltstack/salt/issues/61807)
- Fixed an issue with adding new machine policies and applying those same
policies in the same state by adding a ``refresh_cache`` option to the
``lgpo.set`` state. [#62734](https://github.com/saltstack/salt/issues/62734)
- file.managed correctly handles file path with '#' [#63060](https://github.com/saltstack/salt/issues/63060)
- Fix master ip detection when DNS records change [#63654](https://github.com/saltstack/salt/issues/63654)
- Fix user and group management on Windows to handle the Everyone group [#63667](https://github.com/saltstack/salt/issues/63667)
- Fixes an issue in pkg.refresh_db on Windows where new package definition
files were not being picked up on the first run [#63848](https://github.com/saltstack/salt/issues/63848)
- Display a proper error when pki commands fail in the win_pki module [#64933](https://github.com/saltstack/salt/issues/64933)
- Prevent full system upgrade on single package install for Arch Linux [#65200](https://github.com/saltstack/salt/issues/65200)
- When using s3fs, if files are deleted from the bucket, they were not deleted in
the master or minion local cache, which could lead to unexpected file copies or
even state applications. This change makes the local cache consistent with the
remote bucket by deleting files locally that are deleted from the bucket.
**NOTE** this could lead to **breakage** on your affected systems if it was
inadvertently depending on previously deleted files. [#65611](https://github.com/saltstack/salt/issues/65611)
- Fixed an issue with file.directory state where paths would be modified in test
mode if backupname is used. [#66049](https://github.com/saltstack/salt/issues/66049)
- Execution modules have access to regular fileclient durring pillar rendering. [#66124](https://github.com/saltstack/salt/issues/66124)
- Fixed a issue with server channel where a minion's public key
would be rejected if it contained a final newline character. [#66126](https://github.com/saltstack/salt/issues/66126)
- Fix content type backwards compatablity with http proxy post requests in the http utils module. [#66127](https://github.com/saltstack/salt/issues/66127)
- Fix systemctl with "try-restart" instead of "retry-restart" within the RPM spec, properly restarting upgraded services [#66143](https://github.com/saltstack/salt/issues/66143)
- Auto discovery of ssh, scp and ssh-keygen binaries. [#66205](https://github.com/saltstack/salt/issues/66205)
- Add leading slash to salt helper file paths as per dh_links requirement [#66280](https://github.com/saltstack/salt/issues/66280)
- Fixed x509.certificate_managed - ca_server did not return a certificate [#66284](https://github.com/saltstack/salt/issues/66284)
- removed log line that did nothing. [#66289](https://github.com/saltstack/salt/issues/66289)
- Chocolatey: Make sure the return dictionary from ``chocolatey.version``
contains lowercase keys [#66290](https://github.com/saltstack/salt/issues/66290)
- fix cacheing inline pillar, by not rendering inline pillar during cache save function. [#66292](https://github.com/saltstack/salt/issues/66292)
- The file module correctly perserves file permissions on link target. [#66400](https://github.com/saltstack/salt/issues/66400)
- Upgrade relenv to 0.16.0 and python to 3.10.14 [#66402](https://github.com/saltstack/salt/issues/66402)
- backport the fix from #66164 to fix #65703. use OrderedDict to fix bad indexing. [#66705](https://github.com/saltstack/salt/issues/66705)
### Added
- Add Fedora 39 support [#65859](https://github.com/saltstack/salt/issues/65859)
### Security
- Upgrade to `cryptography==42.0.5` due to a few security issues:
* https://github.com/advisories/GHSA-9v9h-cgj8-h64p
* https://github.com/advisories/GHSA-3ww4-gg4f-jr7f
* https://github.com/advisories/GHSA-6vqw-3v5j-54x4 [#66141](https://github.com/saltstack/salt/issues/66141)
- Bump to `idna==3.7` due to https://github.com/advisories/GHSA-jjg7-2v4v-x38h [#66377](https://github.com/saltstack/salt/issues/66377)
- Bump to `aiohttp==3.9.4` due to https://github.com/advisories/GHSA-7gpw-8wmc-pm8g [#66411](https://github.com/saltstack/salt/issues/66411)
## 3007.0 (2024-03-03)
### Removed
- Removed RHEL 5 support since long since end-of-lifed [#62520](https://github.com/saltstack/salt/issues/62520)
- Removing Azure-Cloud modules from the code base. [#64322](https://github.com/saltstack/salt/issues/64322)
- Dropped Python 3.7 support since it's EOL in 27 Jun 2023 [#64417](https://github.com/saltstack/salt/issues/64417)
- Remove salt.payload.Serial [#64459](https://github.com/saltstack/salt/issues/64459)
- Remove netmiko_conn and pyeapi_conn from salt.modules.napalm_mod [#64460](https://github.com/saltstack/salt/issues/64460)
- Removed 'transport' arg from salt.utils.event.get_event [#64461](https://github.com/saltstack/salt/issues/64461)
- Removed the usage of retired Linode API v3 from Salt Cloud [#64517](https://github.com/saltstack/salt/issues/64517)
### Deprecated
- Deprecate all Proxmox cloud modules [#64224](https://github.com/saltstack/salt/issues/64224)
- Deprecate all the Vault modules in favor of the Vault Salt Extension https://github.com/salt-extensions/saltext-vault. The Vault modules will be removed in Salt core in 3009.0. [#64893](https://github.com/saltstack/salt/issues/64893)
- Deprecate all the Docker modules in favor of the Docker Salt Extension https://github.com/saltstack/saltext-docker. The Docker modules will be removed in Salt core in 3009.0. [#64894](https://github.com/saltstack/salt/issues/64894)
- Deprecate all the Zabbix modules in favor of the Zabbix Salt Extension https://github.com/salt-extensions/saltext-zabbix. The Zabbix modules will be removed in Salt core in 3009.0. [#64896](https://github.com/saltstack/salt/issues/64896)
- Deprecate all the Apache modules in favor of the Apache Salt Extension https://github.com/salt-extensions/saltext-apache. The Apache modules will be removed in Salt core in 3009.0. [#64909](https://github.com/saltstack/salt/issues/64909)
- Deprecation warning for Salt's backport of ``OrderedDict`` class which will be removed in 3009 [#65542](https://github.com/saltstack/salt/issues/65542)
- Deprecate Kubernetes modules for move to saltext-kubernetes in version 3009 [#65565](https://github.com/saltstack/salt/issues/65565)
- Deprecated all Pushover modules in favor of the Salt Extension at https://github.com/salt-extensions/saltext-pushover. The Pushover modules will be removed from Salt core in 3009.0 [#65567](https://github.com/saltstack/salt/issues/65567)
- Removed deprecated code:
* All of ``salt/log/`` which has been on a deprecation path for a long time.
* Some of the logging handlers found in ``salt/_logging/handlers`` have been removed since the standard library provides
them.
* Removed the deprecated ``salt/modules/cassandra_mod.py`` module and any tests for it.
* Removed the deprecated ``salt/returners/cassandra_return.py`` module and any tests for it.
* Removed the deprecated ``salt/returners/django_return.py`` module and any tests for it. [#65986](https://github.com/saltstack/salt/issues/65986)
### Changed
- Masquerade property will not default to false turning off masquerade if not specified. [#53120](https://github.com/saltstack/salt/issues/53120)
- Addressed Python 3.11 deprecations:
* Switch to `FullArgSpec` since Py 3.11 no longer has `ArgSpec`, deprecated since Py 3.0
* Stopped using the deprecated `cgi` module.
* Stopped using the deprecated `pipes` module
* Stopped using the deprecated `imp` module [#64457](https://github.com/saltstack/salt/issues/64457)
- changed 'gpg_decrypt_must_succeed' default from False to True [#64462](https://github.com/saltstack/salt/issues/64462)
### Fixed
- When an NFS or FUSE mount fails to unmount when mount options have changed, try again with a lazy umount before mounting again. [#18907](https://github.com/saltstack/salt/issues/18907)
- fix autoaccept gpg keys by supporting it in refresh_db module [#42039](https://github.com/saltstack/salt/issues/42039)
- Made cmd.script work with files from the fileserver via salt-ssh [#48067](https://github.com/saltstack/salt/issues/48067)
- Made slsutil.renderer work with salt-ssh [#50196](https://github.com/saltstack/salt/issues/50196)
- Fixed defaults.merge is not available when using salt-ssh [#51605](https://github.com/saltstack/salt/issues/51605)
- Fix extfs.mkfs missing parameter handling for -C, -d, and -e [#51858](https://github.com/saltstack/salt/issues/51858)
- Fixed Salt master does not renew token [#51986](https://github.com/saltstack/salt/issues/51986)
- Fixed salt-ssh continues state/pillar rendering with incorrect data when an exception is raised by a module on the target [#52452](https://github.com/saltstack/salt/issues/52452)
- Fix extfs.tune has 'reserved' documented twice and is missing the 'reserved_percentage' keyword argument [#54426](https://github.com/saltstack/salt/issues/54426)
- Fix the ability of the 'selinux.port_policy_present' state to modify. [#55687](https://github.com/saltstack/salt/issues/55687)
- Fixed config.get does not support merge option with salt-ssh [#56441](https://github.com/saltstack/salt/issues/56441)
- Removed an unused assignment in file.patch [#57204](https://github.com/saltstack/salt/issues/57204)
- Fixed vault module fetching more than one secret in one run with single-use tokens [#57561](https://github.com/saltstack/salt/issues/57561)
- Use brew path from which in mac_brew_pkg module and rely on _homebrew_bin() everytime [#57946](https://github.com/saltstack/salt/issues/57946)
- Fixed Vault verify option to work on minions when only specified in master config [#58174](https://github.com/saltstack/salt/issues/58174)
- Fixed vault command errors configured locally [#58580](https://github.com/saltstack/salt/issues/58580)
- Fixed issue with basic auth causing invalid header error and 401 Bad Request, by using HTTPBasicAuthHandler instead of header. [#58936](https://github.com/saltstack/salt/issues/58936)
- Make the LXD module work with pyLXD > 2.10 [#59514](https://github.com/saltstack/salt/issues/59514)
- Return error if patch file passed to state file.patch is malformed. [#59806](https://github.com/saltstack/salt/issues/59806)
- Handle failure and error information from tuned module/state [#60500](https://github.com/saltstack/salt/issues/60500)
- Fixed sdb.get_or_set_hash with Vault single-use tokens [#60779](https://github.com/saltstack/salt/issues/60779)
- Fixed state.test does not work with salt-ssh [#61100](https://github.com/saltstack/salt/issues/61100)
- Made slsutil.findup work with salt-ssh [#61143](https://github.com/saltstack/salt/issues/61143)
- Allow all primitive grain types for autosign_grains [#61416](https://github.com/saltstack/salt/issues/61416), [#63708](https://github.com/saltstack/salt/issues/63708)
- `ipset.new_set` no longer fails when creating a set type that uses the `family` create option [#61620](https://github.com/saltstack/salt/issues/61620)
- Fixed Vault session storage to allow unlimited use tokens [#62380](https://github.com/saltstack/salt/issues/62380)
- fix the efi grain on FreeBSD [#63052](https://github.com/saltstack/salt/issues/63052)
- Fixed gpg.receive_keys returns success on failed import [#63144](https://github.com/saltstack/salt/issues/63144)
- Fixed GPG state module always reports success without changes [#63153](https://github.com/saltstack/salt/issues/63153)
- Fixed GPG state module does not respect test mode [#63156](https://github.com/saltstack/salt/issues/63156)
- Fixed gpg.absent with gnupghome/user, fixed gpg.delete_key with gnupghome [#63159](https://github.com/saltstack/salt/issues/63159)
- Fixed service module does not handle enable/disable if systemd service is an alias [#63214](https://github.com/saltstack/salt/issues/63214)
- Made x509_v2 compound match detection use new runner instead of peer publishing [#63278](https://github.com/saltstack/salt/issues/63278)
- Need to make sure we update __pillar__ during a pillar refresh to ensure that process_beacons has the updated beacons loaded from pillar. [#63583](https://github.com/saltstack/salt/issues/63583)
- This implements the vpc_uuid parameter when creating a droplet. This parameter selects the correct virtual private cloud (private network interface). [#63714](https://github.com/saltstack/salt/issues/63714)
- pkg.installed no longer reports failure when installing packages that are installed via the task manager [#63767](https://github.com/saltstack/salt/issues/63767)
- mac_xattr.list and mac_xattr.read will replace undecode-able bytes to avoid raising CommandExecutionError. [#63779](https://github.com/saltstack/salt/issues/63779) [#63779](https://github.com/saltstack/salt/issues/63779)
- Fix aptpkg.latest_version performance, reducing number of times to 'shell out' [#63982](https://github.com/saltstack/salt/issues/63982)
- Added option to use a fresh connection for mysql cache [#63991](https://github.com/saltstack/salt/issues/63991)
- [lxd] Fixed a bug in `container_create` which prevented devices which are not of type `disk` to be correctly created and added to the container when passed via the `devices` parameter. [#63996](https://github.com/saltstack/salt/issues/63996)
- Skipped the `isfile` check to greatly increase speed of reading minion keys for systems with a large number of minions on slow file storage [#64260](https://github.com/saltstack/salt/issues/64260)
- Fix utf8 handling in 'pass' renderer [#64300](https://github.com/saltstack/salt/issues/64300)
- Upgade tornado to 6.3.2 [#64305](https://github.com/saltstack/salt/issues/64305)
- Prevent errors due missing 'transactional_update.apply' on SLE Micro and MicroOS. [#64369](https://github.com/saltstack/salt/issues/64369)
- Fix 'unable to unmount' failure to return False result instead of None [#64420](https://github.com/saltstack/salt/issues/64420)
- Fixed issue uninstalling duplicate packages in ``win_appx`` execution module [#64450](https://github.com/saltstack/salt/issues/64450)
- Clean up tech debt, IPC now uses tcp transport. [#64488](https://github.com/saltstack/salt/issues/64488)
- Made salt-ssh more strict when handling unexpected situations and state.* wrappers treat a remote exception as failure, excluded salt-ssh error returns from mine [#64531](https://github.com/saltstack/salt/issues/64531)
- Fix flaky test for LazyLoader with isolated mocking of threading.RLock [#64567](https://github.com/saltstack/salt/issues/64567)
- Fix possible `KeyError` exceptions in `salt.utils.user.get_group_dict`
while reading improper duplicated GID assigned for the user. [#64599](https://github.com/saltstack/salt/issues/64599)
- changed vm_config() to deep-merge vm_overrides of specific VM, instead of simple-merging the whole vm_overrides [#64610](https://github.com/saltstack/salt/issues/64610)
- Fix the way Salt tries to get the Homebrew's prefix
The first attempt to get the Homebrew's prefix is to look for
the `HOMEBREW_PREFIX` environment variable. If it's not set, then
Salt tries to get the prefix from the `brew` command. However, the
`brew` command can fail. So a last attempt is made to get the
prefix by guessing the installation path. [#64924](https://github.com/saltstack/salt/issues/64924)
- Add missing MySQL Grant SERVICE_CONNECTION_ADMIN to mysql module. [#64934](https://github.com/saltstack/salt/issues/64934)
- Fixed slsutil.update with salt-ssh during template rendering [#65067](https://github.com/saltstack/salt/issues/65067)
- Keep track when an included file only includes sls files but is a requisite. [#65080](https://github.com/saltstack/salt/issues/65080)
- Fixed `gpg.present` succeeds when the keyserver is unreachable [#65169](https://github.com/saltstack/salt/issues/65169)
- Fix typo in nftables module to ensure unique nft family values [#65295](https://github.com/saltstack/salt/issues/65295)
- Dereference symlinks to set proper __cli opt [#65435](https://github.com/saltstack/salt/issues/65435)
- Made salt-ssh merge master top returns for the same environment [#65480](https://github.com/saltstack/salt/issues/65480)
- Account for situation where the metadata grain fails because the AWS environment requires an authentication token to query the metadata URL. [#65513](https://github.com/saltstack/salt/issues/65513)
- Improve the condition of overriding target for pip with VENV_PIP_TARGET environment variable. [#65562](https://github.com/saltstack/salt/issues/65562)
- Added SSH wrapper for logmod [#65630](https://github.com/saltstack/salt/issues/65630)
- Include changes in the results when schedule.present state is run with test=True. [#65652](https://github.com/saltstack/salt/issues/65652)
- Fix extfs.tune doesn't pass retcode to module.run [#65686](https://github.com/saltstack/salt/issues/65686)
- Return an error message when the DNS plugin is not supported [#65739](https://github.com/saltstack/salt/issues/65739)
- Execution modules have access to regular fileclient durring pillar rendering. [#66124](https://github.com/saltstack/salt/issues/66124)
- Fixed a issue with server channel where a minion's public key
would be rejected if it contained a final newline character. [#66126](https://github.com/saltstack/salt/issues/66126)
### Added
- Allowed publishing to regular minions from the SSH wrapper [#40943](https://github.com/saltstack/salt/issues/40943)
- Added syncing of custom salt-ssh wrappers [#45450](https://github.com/saltstack/salt/issues/45450)
- Made salt-ssh sync custom utils [#53666](https://github.com/saltstack/salt/issues/53666)
- Add ability to use file.managed style check_cmd in file.serialize [#53982](https://github.com/saltstack/salt/issues/53982)
- Revised use of deprecated net-tools and added support for ip neighbour with IPv4 ip_neighs, IPv6 ip_neighs6 [#57541](https://github.com/saltstack/salt/issues/57541)
- Added password support to Redis returner. [#58044](https://github.com/saltstack/salt/issues/58044)
- Added a state (win_task) for managing scheduled tasks on Windows [#59037](https://github.com/saltstack/salt/issues/59037)
- Added keyring param to gpg modules [#59783](https://github.com/saltstack/salt/issues/59783)
- Added new grain to detect the Salt package type: onedir, pip or system [#62589](https://github.com/saltstack/salt/issues/62589)
- Added Vault AppRole and identity issuance to minions [#62823](https://github.com/saltstack/salt/issues/62823)
- Added Vault AppRole auth mount path configuration option [#62825](https://github.com/saltstack/salt/issues/62825)
- Added distribution of Vault authentication details via response wrapping [#62828](https://github.com/saltstack/salt/issues/62828)
- Add salt package type information. Either onedir, pip or system. [#62961](https://github.com/saltstack/salt/issues/62961)
- Added signature verification to file.managed/archive.extracted [#63143](https://github.com/saltstack/salt/issues/63143)
- Added signed_by_any/signed_by_all parameters to gpg.verify [#63166](https://github.com/saltstack/salt/issues/63166)
- Added match runner [#63278](https://github.com/saltstack/salt/issues/63278)
- Added Vault token lifecycle management [#63406](https://github.com/saltstack/salt/issues/63406)
- adding new call for openscap xccdf eval supporting new parameters [#63416](https://github.com/saltstack/salt/issues/63416)
- Added Vault lease management utility [#63440](https://github.com/saltstack/salt/issues/63440)
- implement removal of ptf packages in zypper pkg module [#63442](https://github.com/saltstack/salt/issues/63442)
- add JUnit output for saltcheck [#63463](https://github.com/saltstack/salt/issues/63463)
- Add ability for file.keyvalue to create a file if it doesn't exist [#63545](https://github.com/saltstack/salt/issues/63545)
- added cleanup of temporary mountpoint dir for macpackage installed state [#63905](https://github.com/saltstack/salt/issues/63905)
- Add pkg.installed show installable version in test mode [#63985](https://github.com/saltstack/salt/issues/63985)
- Added patch option to Vault SDB driver [#64096](https://github.com/saltstack/salt/issues/64096)
- Added flags to create local users and groups [#64256](https://github.com/saltstack/salt/issues/64256)
- Added inline specification of trusted CA root certificate for Vault [#64379](https://github.com/saltstack/salt/issues/64379)
- Add ability to return False result in test mode of configurable_test_state [#64418](https://github.com/saltstack/salt/issues/64418)
- Switched Salt's onedir Python version to 3.11 [#64457](https://github.com/saltstack/salt/issues/64457)
- Added support for dnf5 and its new command syntax [#64532](https://github.com/saltstack/salt/issues/64532)
- Adding a new decorator to indicate when a module is deprecated in favor of a Salt extension. [#64569](https://github.com/saltstack/salt/issues/64569)
- Add jq-esque to_entries and from_entries functions [#64600](https://github.com/saltstack/salt/issues/64600)
- Added ability to use PYTHONWARNINGS=ignore to silence deprecation warnings. [#64660](https://github.com/saltstack/salt/issues/64660)
- Add follow_symlinks to file.symlink exec module to switch to os.path.lexists when False [#64665](https://github.com/saltstack/salt/issues/64665)
- Strenghten Salt's HA capabilities with master clustering. [#64939](https://github.com/saltstack/salt/issues/64939)
- Added win_appx state and execution modules for managing Microsoft Store apps and deprovisioning them from systems [#64978](https://github.com/saltstack/salt/issues/64978)
- Add support for show_jid to salt-run
Adds support for show_jid master config option to salt-run, so its behaviour matches the salt cli command. [#65008](https://github.com/saltstack/salt/issues/65008)
- Add ability to remove packages by wildcard via apt execution module [#65220](https://github.com/saltstack/salt/issues/65220)
- Added support for master top modules on masterless minions [#65479](https://github.com/saltstack/salt/issues/65479)
- Allowed accessing the regular mine from the SSH wrapper [#65645](https://github.com/saltstack/salt/issues/65645)
- Allow enabling backup for Linode in Salt Cloud [#65697](https://github.com/saltstack/salt/issues/65697)
- Add a backup schedule setter fFunction for Linode VMs [#65713](https://github.com/saltstack/salt/issues/65713)
- Add acme support for manual plugin hooks [#65744](https://github.com/saltstack/salt/issues/65744)
### Security
- Upgrade to `tornado>=6.3.3` due to https://github.com/advisories/GHSA-qppv-j76h-2rpx [#64989](https://github.com/saltstack/salt/issues/64989)
- Update to `gitpython>=3.1.35` due to https://github.com/advisories/GHSA-wfm5-v35h-vwf4 and https://github.com/advisories/GHSA-cwvm-v4w8-q58c [#65137](https://github.com/saltstack/salt/issues/65137)
## 3007.0rc1 (2024-01-02)
### Removed
- Removed RHEL 5 support since long since end-of-lifed [#62520](https://github.com/saltstack/salt/issues/62520)
- Removing Azure-Cloud modules from the code base. [#64322](https://github.com/saltstack/salt/issues/64322)
- Dropped Python 3.7 support since it's EOL in 27 Jun 2023 [#64417](https://github.com/saltstack/salt/issues/64417)
- Remove salt.payload.Serial [#64459](https://github.com/saltstack/salt/issues/64459)
- Remove netmiko_conn and pyeapi_conn from salt.modules.napalm_mod [#64460](https://github.com/saltstack/salt/issues/64460)
- Removed 'transport' arg from salt.utils.event.get_event [#64461](https://github.com/saltstack/salt/issues/64461)
- Removed the usage of retired Linode API v3 from Salt Cloud [#64517](https://github.com/saltstack/salt/issues/64517)
### Deprecated
- Deprecate all Proxmox cloud modules [#64224](https://github.com/saltstack/salt/issues/64224)
- Deprecate all the Vault modules in favor of the Vault Salt Extension https://github.com/salt-extensions/saltext-vault. The Vault modules will be removed in Salt core in 3009.0. [#64893](https://github.com/saltstack/salt/issues/64893)
- Deprecate all the Docker modules in favor of the Docker Salt Extension https://github.com/saltstack/saltext-docker. The Docker modules will be removed in Salt core in 3009.0. [#64894](https://github.com/saltstack/salt/issues/64894)
- Deprecate all the Zabbix modules in favor of the Zabbix Salt Extension https://github.com/salt-extensions/saltext-zabbix. The Zabbix modules will be removed in Salt core in 3009.0. [#64896](https://github.com/saltstack/salt/issues/64896)
- Deprecate all the Apache modules in favor of the Apache Salt Extension https://github.com/salt-extensions/saltext-apache. The Apache modules will be removed in Salt core in 3009.0. [#64909](https://github.com/saltstack/salt/issues/64909)
- Deprecation warning for Salt's backport of ``OrderedDict`` class which will be removed in 3009 [#65542](https://github.com/saltstack/salt/issues/65542)
- Deprecate Kubernetes modules for move to saltext-kubernetes in version 3009 [#65565](https://github.com/saltstack/salt/issues/65565)
- Deprecated all Pushover modules in favor of the Salt Extension at https://github.com/salt-extensions/saltext-pushover. The Pushover modules will be removed from Salt core in 3009.0 [#65567](https://github.com/saltstack/salt/issues/65567)
### Changed
- Masquerade property will not default to false turning off masquerade if not specified. [#53120](https://github.com/saltstack/salt/issues/53120)
- Addressed Python 3.11 deprecations:
* Switch to `FullArgSpec` since Py 3.11 no longer has `ArgSpec`, deprecated since Py 3.0
* Stopped using the deprecated `cgi` module.
* Stopped using the deprecated `pipes` module
* Stopped using the deprecated `imp` module [#64457](https://github.com/saltstack/salt/issues/64457)
- changed 'gpg_decrypt_must_succeed' default from False to True [#64462](https://github.com/saltstack/salt/issues/64462)
### Fixed
- When an NFS or FUSE mount fails to unmount when mount options have changed, try again with a lazy umount before mounting again. [#18907](https://github.com/saltstack/salt/issues/18907)
- fix autoaccept gpg keys by supporting it in refresh_db module [#42039](https://github.com/saltstack/salt/issues/42039)
- Made cmd.script work with files from the fileserver via salt-ssh [#48067](https://github.com/saltstack/salt/issues/48067)
- Made slsutil.renderer work with salt-ssh [#50196](https://github.com/saltstack/salt/issues/50196)
- Fixed defaults.merge is not available when using salt-ssh [#51605](https://github.com/saltstack/salt/issues/51605)
- Fix extfs.mkfs missing parameter handling for -C, -d, and -e [#51858](https://github.com/saltstack/salt/issues/51858)
- Fixed Salt master does not renew token [#51986](https://github.com/saltstack/salt/issues/51986)
- Fixed salt-ssh continues state/pillar rendering with incorrect data when an exception is raised by a module on the target [#52452](https://github.com/saltstack/salt/issues/52452)
- Fix extfs.tune has 'reserved' documented twice and is missing the 'reserved_percentage' keyword argument [#54426](https://github.com/saltstack/salt/issues/54426)
- Fix the ability of the 'selinux.port_policy_present' state to modify. [#55687](https://github.com/saltstack/salt/issues/55687)
- Fixed config.get does not support merge option with salt-ssh [#56441](https://github.com/saltstack/salt/issues/56441)
- Removed an unused assignment in file.patch [#57204](https://github.com/saltstack/salt/issues/57204)
- Fixed vault module fetching more than one secret in one run with single-use tokens [#57561](https://github.com/saltstack/salt/issues/57561)
- Use brew path from which in mac_brew_pkg module and rely on _homebrew_bin() everytime [#57946](https://github.com/saltstack/salt/issues/57946)
- Fixed Vault verify option to work on minions when only specified in master config [#58174](https://github.com/saltstack/salt/issues/58174)
- Fixed vault command errors configured locally [#58580](https://github.com/saltstack/salt/issues/58580)
- Fixed issue with basic auth causing invalid header error and 401 Bad Request, by using HTTPBasicAuthHandler instead of header. [#58936](https://github.com/saltstack/salt/issues/58936)
- Make the LXD module work with pyLXD > 2.10 [#59514](https://github.com/saltstack/salt/issues/59514)
- Return error if patch file passed to state file.patch is malformed. [#59806](https://github.com/saltstack/salt/issues/59806)
- Handle failure and error information from tuned module/state [#60500](https://github.com/saltstack/salt/issues/60500)
- Fixed sdb.get_or_set_hash with Vault single-use tokens [#60779](https://github.com/saltstack/salt/issues/60779)
- Fixed state.test does not work with salt-ssh [#61100](https://github.com/saltstack/salt/issues/61100)
- Made slsutil.findup work with salt-ssh [#61143](https://github.com/saltstack/salt/issues/61143)
- Allow all primitive grain types for autosign_grains [#61416](https://github.com/saltstack/salt/issues/61416), [#63708](https://github.com/saltstack/salt/issues/63708)
- `ipset.new_set` no longer fails when creating a set type that uses the `family` create option [#61620](https://github.com/saltstack/salt/issues/61620)
- Fixed Vault session storage to allow unlimited use tokens [#62380](https://github.com/saltstack/salt/issues/62380)
- fix the efi grain on FreeBSD [#63052](https://github.com/saltstack/salt/issues/63052)
- Fixed gpg.receive_keys returns success on failed import [#63144](https://github.com/saltstack/salt/issues/63144)
- Fixed GPG state module always reports success without changes [#63153](https://github.com/saltstack/salt/issues/63153)
- Fixed GPG state module does not respect test mode [#63156](https://github.com/saltstack/salt/issues/63156)
- Fixed gpg.absent with gnupghome/user, fixed gpg.delete_key with gnupghome [#63159](https://github.com/saltstack/salt/issues/63159)
- Fixed service module does not handle enable/disable if systemd service is an alias [#63214](https://github.com/saltstack/salt/issues/63214)
- Made x509_v2 compound match detection use new runner instead of peer publishing [#63278](https://github.com/saltstack/salt/issues/63278)
- Need to make sure we update __pillar__ during a pillar refresh to ensure that process_beacons has the updated beacons loaded from pillar. [#63583](https://github.com/saltstack/salt/issues/63583)
- This implements the vpc_uuid parameter when creating a droplet. This parameter selects the correct virtual private cloud (private network interface). [#63714](https://github.com/saltstack/salt/issues/63714)
- pkg.installed no longer reports failure when installing packages that are installed via the task manager [#63767](https://github.com/saltstack/salt/issues/63767)
- mac_xattr.list and mac_xattr.read will replace undecode-able bytes to avoid raising CommandExecutionError. [#63779](https://github.com/saltstack/salt/issues/63779) [#63779](https://github.com/saltstack/salt/issues/63779)
- Fix aptpkg.latest_version performance, reducing number of times to 'shell out' [#63982](https://github.com/saltstack/salt/issues/63982)
- Added option to use a fresh connection for mysql cache [#63991](https://github.com/saltstack/salt/issues/63991)
- [lxd] Fixed a bug in `container_create` which prevented devices which are not of type `disk` to be correctly created and added to the container when passed via the `devices` parameter. [#63996](https://github.com/saltstack/salt/issues/63996)
- Skipped the `isfile` check to greatly increase speed of reading minion keys for systems with a large number of minions on slow file storage [#64260](https://github.com/saltstack/salt/issues/64260)
- Fix utf8 handling in 'pass' renderer [#64300](https://github.com/saltstack/salt/issues/64300)
- Upgade tornado to 6.3.2 [#64305](https://github.com/saltstack/salt/issues/64305)
- Prevent errors due missing 'transactional_update.apply' on SLE Micro and MicroOS. [#64369](https://github.com/saltstack/salt/issues/64369)
- Fix 'unable to unmount' failure to return False result instead of None [#64420](https://github.com/saltstack/salt/issues/64420)
- Fixed issue uninstalling duplicate packages in ``win_appx`` execution module [#64450](https://github.com/saltstack/salt/issues/64450)
- Clean up tech debt, IPC now uses tcp transport. [#64488](https://github.com/saltstack/salt/issues/64488)
- Made salt-ssh more strict when handling unexpected situations and state.* wrappers treat a remote exception as failure, excluded salt-ssh error returns from mine [#64531](https://github.com/saltstack/salt/issues/64531)
- Fix flaky test for LazyLoader with isolated mocking of threading.RLock [#64567](https://github.com/saltstack/salt/issues/64567)
- Fix possible `KeyError` exceptions in `salt.utils.user.get_group_dict`
while reading improper duplicated GID assigned for the user. [#64599](https://github.com/saltstack/salt/issues/64599)
- changed vm_config() to deep-merge vm_overrides of specific VM, instead of simple-merging the whole vm_overrides [#64610](https://github.com/saltstack/salt/issues/64610)
- Fix the way Salt tries to get the Homebrew's prefix
The first attempt to get the Homebrew's prefix is to look for
the `HOMEBREW_PREFIX` environment variable. If it's not set, then
Salt tries to get the prefix from the `brew` command. However, the
`brew` command can fail. So a last attempt is made to get the
prefix by guessing the installation path. [#64924](https://github.com/saltstack/salt/issues/64924)
- Add missing MySQL Grant SERVICE_CONNECTION_ADMIN to mysql module. [#64934](https://github.com/saltstack/salt/issues/64934)
- Fixed slsutil.update with salt-ssh during template rendering [#65067](https://github.com/saltstack/salt/issues/65067)
- Keep track when an included file only includes sls files but is a requisite. [#65080](https://github.com/saltstack/salt/issues/65080)
- Fixed `gpg.present` succeeds when the keyserver is unreachable [#65169](https://github.com/saltstack/salt/issues/65169)
- Fix issue with openscap when the error was outside the expected scope. It now
returns failed with the error code and the error [#65193](https://github.com/saltstack/salt/issues/65193)
- Fix typo in nftables module to ensure unique nft family values [#65295](https://github.com/saltstack/salt/issues/65295)
- Dereference symlinks to set proper __cli opt [#65435](https://github.com/saltstack/salt/issues/65435)
- Made salt-ssh merge master top returns for the same environment [#65480](https://github.com/saltstack/salt/issues/65480)
- Account for situation where the metadata grain fails because the AWS environment requires an authentication token to query the metadata URL. [#65513](https://github.com/saltstack/salt/issues/65513)
- Improve the condition of overriding target for pip with VENV_PIP_TARGET environment variable. [#65562](https://github.com/saltstack/salt/issues/65562)
- Added SSH wrapper for logmod [#65630](https://github.com/saltstack/salt/issues/65630)
- Include changes in the results when schedule.present state is run with test=True. [#65652](https://github.com/saltstack/salt/issues/65652)
- Fixed Salt-SSH pillar rendering and state rendering with nested SSH calls when called via saltutil.cmd or in an orchestration [#65670](https://github.com/saltstack/salt/issues/65670)
- Fix extfs.tune doesn't pass retcode to module.run [#65686](https://github.com/saltstack/salt/issues/65686)
- Fix boto execution module loading [#65691](https://github.com/saltstack/salt/issues/65691)
- Removed PR 65185 changes since incomplete solution [#65692](https://github.com/saltstack/salt/issues/65692)
- Return an error message when the DNS plugin is not supported [#65739](https://github.com/saltstack/salt/issues/65739)
### Added
- Allowed publishing to regular minions from the SSH wrapper [#40943](https://github.com/saltstack/salt/issues/40943)
- Added syncing of custom salt-ssh wrappers [#45450](https://github.com/saltstack/salt/issues/45450)
- Made salt-ssh sync custom utils [#53666](https://github.com/saltstack/salt/issues/53666)
- Add ability to use file.managed style check_cmd in file.serialize [#53982](https://github.com/saltstack/salt/issues/53982)
- Revised use of deprecated net-tools and added support for ip neighbour with IPv4 ip_neighs, IPv6 ip_neighs6 [#57541](https://github.com/saltstack/salt/issues/57541)
- Added password support to Redis returner. [#58044](https://github.com/saltstack/salt/issues/58044)
- Added keyring param to gpg modules [#59783](https://github.com/saltstack/salt/issues/59783)
- Added new grain to detect the Salt package type: onedir, pip or system [#62589](https://github.com/saltstack/salt/issues/62589)
- Added Vault AppRole and identity issuance to minions [#62823](https://github.com/saltstack/salt/issues/62823)
- Added Vault AppRole auth mount path configuration option [#62825](https://github.com/saltstack/salt/issues/62825)
- Added distribution of Vault authentication details via response wrapping [#62828](https://github.com/saltstack/salt/issues/62828)
- Add salt package type information. Either onedir, pip or system. [#62961](https://github.com/saltstack/salt/issues/62961)
- Added signature verification to file.managed/archive.extracted [#63143](https://github.com/saltstack/salt/issues/63143)
- Added signed_by_any/signed_by_all parameters to gpg.verify [#63166](https://github.com/saltstack/salt/issues/63166)
- Added match runner [#63278](https://github.com/saltstack/salt/issues/63278)
- Added Vault token lifecycle management [#63406](https://github.com/saltstack/salt/issues/63406)
- adding new call for openscap xccdf eval supporting new parameters [#63416](https://github.com/saltstack/salt/issues/63416)
- Added Vault lease management utility [#63440](https://github.com/saltstack/salt/issues/63440)
- implement removal of ptf packages in zypper pkg module [#63442](https://github.com/saltstack/salt/issues/63442)
- add JUnit output for saltcheck [#63463](https://github.com/saltstack/salt/issues/63463)
- Add ability for file.keyvalue to create a file if it doesn't exist [#63545](https://github.com/saltstack/salt/issues/63545)
- added cleanup of temporary mountpoint dir for macpackage installed state [#63905](https://github.com/saltstack/salt/issues/63905)
- Add pkg.installed show installable version in test mode [#63985](https://github.com/saltstack/salt/issues/63985)
- Added patch option to Vault SDB driver [#64096](https://github.com/saltstack/salt/issues/64096)
- Added flags to create local users and groups [#64256](https://github.com/saltstack/salt/issues/64256)
- Added inline specification of trusted CA root certificate for Vault [#64379](https://github.com/saltstack/salt/issues/64379)
- Add ability to return False result in test mode of configurable_test_state [#64418](https://github.com/saltstack/salt/issues/64418)
- Switched Salt's onedir Python version to 3.11 [#64457](https://github.com/saltstack/salt/issues/64457)
- Added support for dnf5 and its new command syntax [#64532](https://github.com/saltstack/salt/issues/64532)
- Adding a new decorator to indicate when a module is deprecated in favor of a Salt extension. [#64569](https://github.com/saltstack/salt/issues/64569)
- Add jq-esque to_entries and from_entries functions [#64600](https://github.com/saltstack/salt/issues/64600)
- Added ability to use PYTHONWARNINGS=ignore to silence deprecation warnings. [#64660](https://github.com/saltstack/salt/issues/64660)
- Add follow_symlinks to file.symlink exec module to switch to os.path.lexists when False [#64665](https://github.com/saltstack/salt/issues/64665)
- Added win_appx state and execution modules for managing Microsoft Store apps and deprovisioning them from systems [#64978](https://github.com/saltstack/salt/issues/64978)
- Add support for show_jid to salt-run
Adds support for show_jid master config option to salt-run, so its behaviour matches the salt cli command. [#65008](https://github.com/saltstack/salt/issues/65008)
- Add ability to remove packages by wildcard via apt execution module [#65220](https://github.com/saltstack/salt/issues/65220)
- Added support for master top modules on masterless minions [#65479](https://github.com/saltstack/salt/issues/65479)
- Allowed accessing the regular mine from the SSH wrapper [#65645](https://github.com/saltstack/salt/issues/65645)
- Allow enabling backup for Linode in Salt Cloud [#65697](https://github.com/saltstack/salt/issues/65697)
- Add a backup schedule setter fFunction for Linode VMs [#65713](https://github.com/saltstack/salt/issues/65713)
- Add acme support for manual plugin hooks [#65744](https://github.com/saltstack/salt/issues/65744)
### Security
- Upgrade to `tornado>=6.3.3` due to https://github.com/advisories/GHSA-qppv-j76h-2rpx [#64989](https://github.com/saltstack/salt/issues/64989)
- Update to `gitpython>=3.1.35` due to https://github.com/advisories/GHSA-wfm5-v35h-vwf4 and https://github.com/advisories/GHSA-cwvm-v4w8-q58c [#65137](https://github.com/saltstack/salt/issues/65137)
## 3006.7 (2024-02-20)

View file

@ -60,7 +60,7 @@ representative at an online or offline event.
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
conduct@saltstack.com.
saltproject.pdl@broadcom.com.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the

View file

@ -1,30 +1,56 @@
============
Contributing
============
==============================================
Contributing to Salt: A Guide for Contributors
==============================================
So you want to contribute to the Salt project? Excellent! You can help
in a number of ways:
So, you want to contribute to the Salt project? That's fantastic! There are many
ways you can help improve Salt:
- Use Salt and open well-written bug reports.
- Join a `working group <https://github.com/saltstack/community>`__.
- Answer questions on `irc <https://web.libera.chat/#salt>`__,
the `community Slack <https://via.vmw.com/salt-slack>`__,
the `salt-users mailing
list <https://groups.google.com/forum/#!forum/salt-users>`__,
`Server Fault <https://serverfault.com/questions/tagged/saltstack>`__,
or `r/saltstack on Reddit <https://www.reddit.com/r/saltstack/>`__.
- Fix bugs.
- `Improve the documentation <https://saltstack.gitlab.io/open/docs/docs-hub/topics/contributing.html>`__.
- Provide workarounds, patches, or other code without tests.
- Tell other people about problems you solved using Salt.
- Use Salt and report bugs with clear, detailed descriptions.
- Join a `working group <https://github.com/saltstack/community>`__ to
collaborate with other contributors.
- Answer questions on platforms like
the `community Discord <https://discord.com/invite/J7b7EscrAs>`__,
the `salt-users mailing list <https://groups.google.com/forum/#!forum/salt-users>`__,
`Server Fault <https://serverfault.com/questions/tagged/saltstack>`__,
or `r/saltstack on Reddit <https://www.reddit.com/r/saltstack/>`__.
- Fix bugs or contribute to the `documentation <https://saltstack.gitlab.io/open/docs/docs-hub/topics/contributing.html>`__.
- Submit workarounds, patches, or code (even without tests).
- Share your experiences and solutions to problems you've solved using Salt.
If you'd like to update docs or fix an issue, you're going to need the
Salt repo. The best way to contribute is using
`Git <https://git-scm.com/>`__.
Choosing the Right Branch for Your Pull Request
===============================================
We appreciate your contributions to the project! To ensure a smooth and
efficient workflow, please follow these guidelines when submitting a Pull
Request. Each type of contribution—whether it's fixing a bug, adding a feature,
updating documentation, or fixing tests—should be targeted at the appropriate
branch. This helps us manage changes effectively and maintain stability across
versions.
- **Bug Fixes:**
Create your Pull Request against the oldest supported branch where the bug
exists. This ensures that the fix can be applied to all relevant versions.
- **New Features**:
For new features or enhancements, create your Pull Request against the master
branch.
- **Documentation Updates:**
Documentation changes should be made against the master branch, unless they
are related to a bug fix, in which case they should follow the same branch as
the bug fix.
- **Test Fixes:**
Pull Requests that fix broken or failing tests should be created against the
oldest supported branch where the issue occurs.
Setting Up Your Salt Development Environment
============================================
Environment setup
=================
To hack on Salt or the docs you're going to need to set up your
development environment. If you already have a workflow that you're
comfortable with, you can use that, but otherwise this is an opinionated
@ -109,7 +135,7 @@ Then activate it:
Sweet! Now you're ready to clone Salt so you can start hacking away! If
you get stuck at any point, check out the resources at the beginning of
this guide. IRC and Slack are particularly helpful places to go.
this guide. Discord and GitHub Discussions are particularly helpful places to go.
Get the source!
@ -562,12 +588,12 @@ But that advice is backwards for the changelog. We follow the
`keepachangelog <https://keepachangelog.com/en/1.0.0/>`__ approach for
our changelog, and use towncrier to generate it for each release. As a
contributor, all that means is that you need to add a file to the
``salt/changelog`` directory, using the ``<issue #>.<type>`` format. For
``salt/changelog`` directory, using the ``<issue #>.<type>.md`` format. For
instance, if you fixed issue 123, you would do:
::
echo "Made sys.doc inform when no minions return" > changelog/123.fixed
echo "Made sys.doc inform when no minions return" > changelog/123.fixed.md
And that's all that would go into your file. When it comes to your
commit message, it's usually a good idea to add other information, such as
@ -605,7 +631,7 @@ your PR is submitted during the week you should be able to expect some
kind of communication within that business day. If your tests are
passing and we're not in a code freeze, ideally your code will be merged
that week or month. If you haven't heard from your assigned reviewer, ping them
on GitHub, `irc <https://web.libera.chat/#salt>`__, or Community Slack.
on GitHub or `Community Discord <https://discord.com/invite/J7b7EscrAs>`__.
It's likely that your reviewer will leave some comments that need
addressing - it may be a style change, or you forgot a changelog entry,

View file

@ -1,210 +1,125 @@
| **OSS Software Name** | **Version** | **Primary License** | **Source Code Download URL** | **Author** | **Copyright Year** |
| --- | :--- | --- | --- | --- | ---: |
| | | | | | |
| Cheetah3 | 3.1.0 | MIT/X11 | https://pypi.org/project/Cheetah3/ | Travis Rudd | 2017-2019 |
| CherryPy | 17.3.0 | BSD | https://pypi.org/project/CherryPy/ | CherryPy Team | 2004-2019 |
| Genshi | 0.7.3 | BSD | https://pypi.org/project/Genshi/ | Edgewall Software | 2006-2010 |
| GitPython | 3.1.3 | BSD | https://pypi.org/project/GitPython/ | Sebastian Thiel, Michael Trier | 2008, 2009 |
| Jinja2 | 2.11.2 | BSD | https://pypi.org/project/Jinja2 | Armin Ronacher | 2007 |
| Mako | 1.1.3 | MIT/X11 | https://pypi.org/project/Mako/ | Mike Bayer | 2006-2020 |
| MarkupSafe | 1.1.1 | BSD | https://pypi.org/project/MarkupSafe/ | Armin Ronacher | 2010 |
| PyJWT | 1.7.1 | MIT/X11 | https://pypi.org/project/PyJWT/ | Jose Padilla | 2015 |
| PyNaCl | 1.4.0 | Apache License, V2.0 | https://pypi.org/project/PyNaCl/ | The PyNaCl developers | 2004 |
| PyYAML | 5.3.1 | MIT/X11 | https://pypi.org/project/PyYAML/ | Kirill Simonov | 2006-2019 |
| WerkZeug | 1.0.1 | BSD | https://pypi.org/project/Werkzeug/ | Armin Ronacher | 2007 |
| adal | 1.2.4 | MIT/X11 | https://pypi.org/project/adal | Microsoft Corporation | 2015 |
| apache-libcloud | 2.0.0 | Apache License, V2.0 | https://pypi.org/project/apache-libcloud/ | Apache Software Foundation | 2004 |
| appdirs | 1.4.4 | MIT/X11 | https://pypi.org/project/appdirs/ | Trent Mick | 2010 |
| asn1crypto | 1.3.0 | MIT/X11 | https://pypi.org/project/asn1crypto/ | wbond | 2015-2019 |
| attrs | 19.3.1 | MIT/X11 | https://pypi.org/project/attrs/ | Hynek Schlawack | 2015 |
| aws-sam-translator | 1.25.0 | Apache License, V2.0 | https://pypi.org/project/aws-sam-translator/ | Amazon Web Services | 2004 |
| aws-xray-sdk | 2.6.0 | Apache License, V2.0 | https://pypi.org/project/aws-xray-sdk/ | Amazon Web Services | 2004 |
| azure | 4.0.0 | MIT/X11 | https://pypi.org/project/azure | Microsoft Corporation | 2016 |
| azure-applicationinsights | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-applicationinsights/ | Microsoft Corporation | 2016 |
| azure-batch | 4.1.3 | MIT/X11 | https://pypi.org/project/azure-batch/ | Microsoft Corporation | 2016 |
| azure-common | 1.1.25 | MIT/X11 | https://pypi.org/project/azure-common/ | Microsoft Corporation | 2016 |
| azure-cosmosdb-nspkg | 2.0.2 | Apache License, V2.0 | https://pypi.org/project/azure-cosmosdb-nspkg | Microsoft Corporation | 2004 |
| azure-cosmosdb-table | 1.0.6 | Apache License, V2.0 | https://pypi.org/project/azure-cosmosdb-table/ | Microsoft Corporation | 2004 |
| azure-datalake-store | 0.0.48 | MIT/X11 | https://pypi.org/project/azure-datalake-store/ | Microsoft Corporation | 2016 |
| azure-eventgrid | 1.3.0 | MIT/X11 | https://pypi.org/project/azure-eventgrid/ | Microsoft Corporation | 2016 |
| azure-graphrbac | 0.40.0 | MIT/X11 | https://pypi.org/project/azure-graphrbac/ | Microsoft Corporation | 2016 |
| azure-keyvault | 1.1.0 | MIT/X11 | https://pypi.org/project/azure-keyvault/ | Microsoft Corporation | 2016 |
| azure-loganalytics | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-loganalytics/ | Microsoft Corporation | 2016 |
| azure-mgmt | 4.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt/ | Microsoft Corporation | 2016 |
| azure-mgmt-advisor | 1.0.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-advisor/ | Microsoft Corporation | 2016 |
| azure-mgmt-applicationinsights | 0.1.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-applicationinsights/ | Microsoft Corporation | 2016 |
| azure-mgmt-authorization | 0.50.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-authorization/ | Microsoft Corporation | 2016 |
| azure-mgmt-batch | 5.0.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-batch/ | Microsoft Corporation | 2016 |
| azure-mgmt-batchai | 2.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-batchai/ | Microsoft Corporation | 2016 |
| azure-mgmt-billing | 0.2.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-billing/ | Microsoft Corporation | 2016 |
| azure-mgmt-cdn | 3.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-cdn/ | Microsoft Corporation | 2016 |
| azure-mgmt-cognitiveservices | 3.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-cognitiveservices/ | Microsoft Corporation | 2016 |
| azure-mgmt-commerce | 1.0.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-commerce/ | Microsoft Corporation | 2016 |
| azure-mgmt-compute | 4.6.2 | MIT/X11 | https://pypi.org/project/azure-mgmt-compute/ | Microsoft Corporation | 2016 |
| azure-mgmt-consumption | 2.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-consumption/ | Microsoft Corporation | 2016 |
| azure-mgmt-containerinstance | 1.5.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-containerinstance/ | Microsoft Corporation | 2016 |
| azure-mgmt-containerregistry | 2.8.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-containerregistry/ | Microsoft Corporation | 2016 |
| azure-mgmt-containerservice | 4.4.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-containerservice/ | Microsoft Corporation | 2016 |
| azure-mgmt-cosmosdb | 0.4.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-cosmosdb/ | Microsoft Corporation | 2016 |
| azure-mgmt-datafactory | 0.6.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-datafactory/ | Microsoft Corporation | 2016 |
| azure-mgmt-datalake-analytics | 0.6.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-datalake-analytics/ | Microsoft Corporation | 2016 |
| azure-mgmt-datalake-nspkg | 3.0.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-datalake-nspkg/ | Microsoft Corporation | 2016 |
| azure-mgmt-datalake-store | 0.5.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-datalake-store/ | Microsoft Corporation | 2016 |
| azure-mgmt-datamigration | 1.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-datamigration/ | Microsoft Corporation | 2016 |
| azure-mgmt-devspaces | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-devspaces/ | Microsoft Corporation | 2016 |
| azure-mgmt-devtestlabs | 2.2.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-devtestlabs/ | Microsoft Corporation | 2016 |
| azure-mgmt-dns | 2.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-dns/ | Microsoft Corporation | 2016 |
| azure-mgmt-eventgrid | 1.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-eventgrid/ | Microsoft Corporation | 2016 |
| azure-mgmt-eventhub | 2.6.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-eventhub/ | Microsoft Corporation | 2016 |
| azure-mgmt-hanaonazure | 0.1.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-hanaonazure/ | Microsoft Corporation | 2016 |
| azure-mgmt-iotcentral | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-iotcentral/ | Microsoft Corporation | 2016 |
| azure-mgmt-iothub | 0.5.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-iothub/ | Microsoft Corporation | 2016 |
| azure-mgmt-iothubprovisioningservices | 0.2.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-iothubprovisioningservices/ | Microsoft Corporation | 2016 |
| azure-mgmt-keyvault | 1.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-keyvault/ | Microsoft Corporation | 2016 |
| azure-mgmt-loganalytics | 0.2.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-loganalytics/ | Microsoft Corporation | 2016 |
| azure-mgmt-logic | 3.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-logic/ | Microsoft Corporation | 2016 |
| azure-mgmt-machinelearningcompute | 0.4.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-machinelearningcompute/ | Microsoft Corporation | 2016 |
| azure-mgmt-managementgroups | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-managementgroups/ | Microsoft Corporation | 2016 |
| azure-mgmt-managementpartner | 0.1.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-managementpartner/ | Microsoft Corporation | 2016 |
| azure-mgmt-maps | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-maps/ | Microsoft Corporation | 2016 |
| azure-mgmt-marketplaceordering | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-marketplaceordering/ | Microsoft Corporation | 2016 |
| azure-mgmt-media | 1.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-media/ | Microsoft Corporation | 2016 |
| azure-mgmt-monitor | 0.5.2 | MIT/X11 | https://pypi.org/project/azure-mgmt-monitor/ | Microsoft Corporation | 2016 |
| azure-mgmt-msi | 0.2.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-msi/ | Microsoft Corporation | 2016 |
| azure-mgmt-network | 2.7.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-network/ | Microsoft Corporation | 2016 |
| azure-mgmt-notificationhubs | 2.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-notificationhubs/ | Microsoft Corporation | 2016 |
| azure-mgmt-nspkg | 3.0.2 | MIT/X11 | https://pypi.org/project/azure-mgmt-nspkg/ | Microsoft Corporation | 2016 |
| azure-mgmt-policyinsights | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-policyinsights/ | Microsoft Corporation | 2016 |
| azure-mgmt-powerbiembedded | 2.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-powerbiembedded/ | Microsoft Corporation | 2016 |
| azure-mgmt-rdbms | 1.9.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-rdbms/ | Microsoft Corporation | 2016 |
| azure-mgmt-recoveryservices | 0.3.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-recoveryservices/ | Microsoft Corporation | 2016 |
| azure-mgmt-recoveryservicesbackup | 0.3.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-recoveryservicesbackup/ | Microsoft Corporation | 2016 |
| azure-mgmt-redis | 5.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-redis/ | Microsoft Corporation | 2016 |
| azure-mgmt-relay | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-relay/ | Microsoft Corporation | 2016 |
| azure-mgmt-reservations | 0.2.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-reservations/ | Microsoft Corporation | 2016 |
| azure-mgmt-resource | 2.2.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-resource/ | Microsoft Corporation | 2016 |
| azure-mgmt-scheduler | 2.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-scheduler/ | Microsoft Corporation | 2016 |
| azure-mgmt-search | 2.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-search/ | Microsoft Corporation | 2016 |
| azure-mgmt-servicebus | 0.5.3 | MIT/X11 | https://pypi.org/project/azure-mgmt-servicebus/ | Microsoft Corporation | 2016 |
| azure-mgmt-servicefabric | 0.2.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-servicefabric/ | Microsoft Corporation | 2016 |
| azure-mgmt-signalr | 0.1.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-signalr/ | Microsoft Corporation | 2016 |
| azure-mgmt-sql | 0.9.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-sql/ | Microsoft Corporation | 2016 |
| azure-mgmt-storage | 2.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-storage/ | Microsoft Corporation | 2016 |
| azure-mgmt-subscription | 0.2.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-subscription/ | Microsoft Corporation | 2016 |
| azure-mgmt-trafficmanager | 0.50.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-trafficmanager/ | Microsoft Corporation | 2016 |
| azure-mgmt-web | 0.35.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-web/ | Microsoft Corporation | 2016 |
| azure-nspkg | 3.0.2 | MIT/X11 | https://pypi.org/project/azure-nspkg/ | Microsoft Corporation | 2016 |
| azure-servicebus | 0.21.1 | MIT/X11 | https://pypi.org/project/azure-servicebus/ | Microsoft Corporation | 2016 |
| azure-servicefabric | 6.3.0.0 | MIT/X11 | https://pypi.org/project/azure-servicefabric/ | Microsoft Corporation | 2016 |
| azure-servicemanagement-legacy | 0.20.7 | Apache License, V2.0 | https://pypi.org/project/azure-servicemanagement-legacy/ | Microsoft Corporation | 2016 |
| azure-storage-blob | 1.5.0 | MIT/X11 | https://pypi.org/project/azure-storage-blob/ | Microsoft Corporation | 2017 |
| azure-storage-common | 1.4.2 | MIT/X11 | https://pypi.org/project/azure-storage-common/ | Microsoft Corporation | 2017 |
| azure-storage-file | 1.4.0 | MIT/X11 | https://pypi.org/project/azure-storage-file/ | Microsoft Corporation | 2016 |
| azure-storage-queue | 1.4.0 | MIT/X11 | https://pypi.org/project/azure-storage-queue/ | Microsoft Corporation | 2017 |
| bcrypt | 3.1.7 | Apache License, V2.0 | https://pypi.org/project/bcrypt/ | The Python Cryptographic Authority | 2013 |
| boto | 2.49.0 | MIT/X11 | https://pypi.org/project/boto/ | Mitch Garnaatt | 2013 |
| boto3 | 1.14.16 | Apache License, V2.0 | https://pypi.org/project/boto3/ | AWS | 2019 |
| botocore | 1.17.16 | Apache License, V2.0 | https://pypi.org/project/botocore/ | AWS | 2019 |
| cachetools | 4.1.1 | MIT/X11 | https://pypi.org/project/cachetools/ | tkem | 2014-2020 |
| cassandra-driver | 3.24.0 | Apache License, V2.0 | https://pypi.org/project/cassandra-driver/ | DataStax | 2013 |
| certifi | 2020.6.20 | Mozilla Public License, V2.0 | https://pypi.org/project/certifi/ | Kenneth Reitz | 2013 |
| certvalidator | 0.11.1 | MIT/X11 | https://pypi.org/project/certvalidator/ | wbond | 2015-2018 |
| cffi | 1.14.0 | MIT/X11 | https://pypi.org/project/cffi/ | Armin Rigo, Maciej Fijalkowski | 2005-2007 |
| cfn-lint | 0.33.2 | MIT/X11 | https://pypi.org/project/cfn-lint/ | kddejong | 2018 |
| chardet | 3.0.4 | GNU Lesser General Public License, V2.1 | https://pypi.org/project/chardet/ | Daniel Blanchard | 2012 |
| cheroot | 8.3.0 | BSD | https://pypi.org/project/cheroot/ | CherryPy Team | 2004-2020 |
| click | 7.1.2 | BSD | https://pypi.org/project/click/ | Pallets | 2014 |
| contextlib2 | 0.6.0.post1 | Python License | https://pypi.org/project/contextlib2/ | Nick Coghlan | 2015 |
| croniter | 0.3.34 | MIT/X11 | https://pypi.org/project/croniter/ | Matsumoto Taichi, kiorky | 2014 |
| cryptography | 2.9.2 | BSD | https://pypi.org/project/cryptography/ | The cryptography developers | 2014 |
| decorator | 4.4.2 | BSD | https://pypi.org/project/decorator/ | Michele Simionato | 2005-2018 |
| distlib | 0.3.1 | Python License | https://pypi.org/project/distlib/ | Vinay Sajip | 2012 |
| dnspython | 1.16.0 | BSD | https://pypi.org/project/dnspython/ | Bob Halley | 2001-2017 |
| docker | 4.2.2 | Apache License, V2.0 | https://pypi.org/project/docker/ | Joffery F | 2016 |
| docutils | 0.15.2 | BSD | https://pypi.org/project/docutils/ | David Goodger | 2011 |
| ecdsa | 0.15 | MIT/X11 | https://pypi.org/project/ecdsa/ | Brian Warner | 2010 |
| filelock | 3.0.12 | Public Domain | https://pypi.org/project/filelock/ | Benedikt Schmitt | 2018 |
| future | 0.18.2 | MIT/X11 | https://pypi.org/project/future/ | Ed Schofield | 2013-2019 |
| geomet | 0.2.1.post1 | Apache License, V2.0 | https://pypi.org/project/geomet/ | Lars Butler | 2014 |
| gitdb | 4.0.5 | BSD | https://pypi.org/project/gitdb/ | Sebastian Thiel | 2010, 2011 |
| google-auth | 1.18.0 | Apache License, V2.0 | https://pypi.org/project/google-auth/ | Google Cloud Platform | 2016 |
| hgtools | 8.2.0 | MIT/X11 | https://pypi.org/project/hgtools/ | Jason R. Coombs | 2019 |
| idna | 2.8 | BSD | https://pypi.org/project/idna/ | Kim Davies | 2013-2020 |
| importlib-metadata | 1.7.0 | Apache License, V2.0 | https://pypi.org/project/importlib-metadata/ | Barry Warsaw | 2017-2019 |
| ipaddress | 1.0.23 | Python License | https://pypi.org/project/ipaddress/ | Philipp Hagemeister | 2014 |
| isodate | 0.6.0 | BSD | https://pypi.org/project/isodate/ | Gerhard Weis | 2009 |
| jaraco.functools | 3.0.1 | MIT/X11 | https://pypi.org/project/jaraco.functools/ | Jason R. Coombs | 2020 |
| jmespath | 0.10.0 | MIT/X11 | https://pypi.org/project/jmespath/ | James Saryerwinnie | 2013 |
| jsondiff | 1.1.2 | MIT/X11 | https://pypi.org/project/jsondiff/ | Zoomer Analytics LLC | 2015 |
| jsonpatch | 1.26 | BSD | https://pypi.org/project/jsonpatch/ | Stefan Kögl | 2011 |
| jsonpickle | 1.4.1 | BSD | https://pypi.org/project/jsonpickle/ | David Aguilar | 2009-2018 |
| jsonpointer | 2 | BSD | https://pypi.org/project/jsonpointer/ | Stefan Kögl | 2017 |
| jsonschema | 3.2.0 | MIT/X11 | https://pypi.org/project/jsonschema/ | Julian Berman | 2013 |
| junit-xml | 1.9 | MIT/X11 | https://pypi.org/project/junit-xml/ | Brian Beyer | 2013 |
| junos-eznc | 2.4.0 | Apache License, V2.0 | https://pypi.org/project/junos-eznc/ | Jeremy Schulman, Nitin Kumar, Rick Sherman, Stacy Smith | 2018 |
| jxmlease | 1.0.3 | MIT/X11 | https://pypi.org/project/jxmlease/ | Juniper Networks | 2015-2016 |
| kazoo | 2.7.0 | Apache License, V2.0 | https://pypi.org/project/kazoo/ | Kazoo team | 2012 |
| keyring | 5.7.1 | MIT/X11 | https://pypi.org/project/keyring/ | Kang Zhang | 2019 |
| kubernetes | 3.0.0 | Apache License, V2.0 | https://pypi.org/project/kubernetes/ | Kubernetes | 2016 |
| libnacl | 1.7.1 | Apache License, V2.0 | https://pypi.org/project/libnacl/ | Thomas S Hatch | 2014 |
| lxml | 4.5.1 | BSD | https://pypi.org/project/lxml/ | lxml dev team | 2019 |
| mock | 4.0.2 | BSD | https://pypi.org/project/mock/ | Testing Cabal | 2003-2013 |
| more-itertools | 5.0.0 | MIT/X11 | https://pypi.org/project/more-itertools/ | Eric Rose | 2012 |
| moto | 1.3.14 | Apache License, V2.0 | https://pypi.org/project/moto/ | Steve Pulec | 2004 |
| msrest | 0.6.17 | MIT/X11 | https://pypi.org/project/msrest/ | Microsoft | 2016 |
| msrestazure | 0.6.4 | MIT/X11 | https://pypi.org/project/msrestazure/ | Microsoft | 2016 |
| natsort | 7.0.1 | MIT/X11 | https://pypi.org/project/natsort/ | Seth M. Morton | 2012-2020 |
| ncclient | 0.6.7 | Apache License, V2.0 | https://pypi.org/project/ncclient/ | Shikhar Bhushan, Leonidas Poulopoulos, Ebben Aries, Einar Nilsen-Nygaard | 2004 |
| netaddr | 0.8.0 | BSD | https://pypi.org/project/netaddr/ | Author: David P. D. Moss, Stefan Nordhausen et al | 2008 |
| networkx | 2.4 | BSD | https://pypi.org/project/networkx/ | Aric Hagberg | 2004-2020 |
| ntc-templates | 1.5.0 | Apache License, V2.0 | https://pypi.org/project/ntc-templates/ | Jason Edelman | 2015 |
| oauthlib | 3.1.0 | BSD | https://pypi.org/project/oauthlib/ | The OAuthlib Community | 2019 |
| oscrypto | 1.2.0 | MIT/X11 | https://pypi.org/project/oscrypto/ | wbond | 2015-2019 |
| paramiko | 2.7.1 | GNU Lesser General Public License, V2.1 | https://pypi.org/project/paramiko/ | Jeff Forcier | 1999 |
| passlib | 1.7.2 | BSD | https://pypi.org/project/passlib/ | Eli Collins | 2004 |
| pathtools | 0.1.2 | MIT/X11 | https://pypi.org/project/pathtools/ | Yesudeep Mangalapilly | 2010 |
| portend | 2.6 | MIT/X11 | https://pypi.org/project/portend/ | Jason R Coombs | 2018 |
| psutil | 5.7.0 | BSD | https://pypi.org/project/psutil/ | Giampaolo Rodola | 2009 |
| pyOpenSSL | 19.1.0 | Apache License, V2.0 | https://pypi.org/project/pyOpenSSL/ | The pyopenssl Developers | 2004 |
| pyasn1 | 0.4.8 | BSD | https://pypi.org/project/pyasn1/ | Ilya Etingof | 2005-2020 |
| pyasn1-modules | 0.2.8 | BSD | https://pypi.org/project/pyasn1-modules/ | Ilya Etingof | 2005-2020 |
| pycparser | 2.20 | BSD | https://pypi.org/project/pycparser/ | Eli Bendersky | 2008-2017 |
| pygit2 | 1.2.1 | GNU General Public License, V2.0 | https://pypi.org/project/pygit2/ | J. David Ibáñez | 2012 |
| pyinotify | 0.9.6 | MIT/X11 | https://pypi.org/project/pyinotify/ | Sebastien Martini | 2010 |
| pyparsing | 2.4.7 | MIT/X11 | https://pypi.org/project/pyparsing/ | Paul McGuire | 2018 |
| pyrsistent | 0.16.0 | MIT/X11 | https://pypi.org/project/pyrsistent/ | Tobias Gustafsson | 2019 |
| pyserial | 3.4 | BSD | https://pypi.org/project/pyserial/ | Chris Liechti | 2001-2016 |
| python-dateutil | 2.8.1 | Apache License, V2.0 | https://pypi.org/project/python-dateutil/ | Gustavo Niemeyer | 2017 |
| python-etcd | 0.4.5 | MIT/X11 | https://pypi.org/project/python-etcd/ | Jose Plana | 2015 |
| python-gnupg | 0.4.6 | BSD | https://pypi.org/project/python-gnupg/ | Vinay Sajip | 2008-2019 |
| python-jose[cryptography] | 3.2.0 | MIT/X11 | https://pypi.org/project/python-jose/ | Michael Davis | 2015 |
| pytz | 2020.1 | MIT/X11 | https://pypi.org/project/pytz/ | Stuart Bishop | 2015 |
| pyvmomi | 7 | Apache License, V2.0 | https://pypi.org/project/pyvmomi/ | VMware, Inc. | 2004 |
| requests | 2.24.0 | Apache License, V2.0 | https://pypi.org/project/requests/ | Kenneth Reitz | 2004 |
| requests-oauthlib | 1.3.0 | BSD | https://pypi.org/project/requests-oauthlib/ | Kenneth Reitz | 2014 |
| responses | 0.10.15 | Apache License, V2.0 | https://pypi.org/project/responses/ | David Cramer | 2004 |
| rfc3987 | 1.3.8 | GNU General Public License, V3.0 | https://pypi.org/project/rfc3987/ | Daniel Gerber | 2007 |
| rsa | 4.6 | Apache License, V2.0 | https://pypi.org/project/rsa/ | Sybren A. Stuvel | 2011 |
| s3transfer | 0.3.3 | Apache License, V2.0 | https://pypi.org/project/s3transfer/ | Amazon Web Services | 2004 |
| scp | 0.13.2 | GNU Lesser General Public License, V2.1 | https://pypi.org/project/scp/ | James Bardin | 2013 |
| setproctitle | 1.1.10 | BSD | https://pypi.org/project/setproctitle/ | Daniele Varrazzo | 2009-2020 |
| setuptools-scm | 4.1.2 | MIT/X11 | https://pypi.org/project/setuptools-scm/ | Ronny Pfannschmidt | 2010 |
| six | 1.15.0 | MIT/X11 | https://pypi.org/project/six/ | Benjamin Peterson | 2010-2020 |
| smmap | 3.0.4 | BSD | https://pypi.org/project/smmap/ | Sebastian Thiel | 2010, 2011 |
| sshpubkeys | 3.1.0 | BSD | https://pypi.org/project/sshpubkeys/ | Olli Jarva | 2014 |
| strict-rfc3339 | 0.7 | GNU General Public License, V3.0 | https://pypi.org/project/strict-rfc3339/ | Daniel Richman, Adam Greig | 2007 |
| tempora | 3.0.0 | MIT/X11 | https://pypi.org/project/tempora/ | Jason R. Coombs | 2020 |
| textfsm | 1.1.0 | Apache License, V2.0 | https://pypi.org/project/textfsm/ | Google | 2004 |
| timelib | 0.2.4 | BSD | https://pypi.org/project/timelib/ | Ralf Schmitt | 2009-2011 |
| toml | 0.10.1 | MIT/X11 | https://pypi.org/project/toml/ | William Pearson | 2013-2019 |
| transitions | 0.8.2 | MIT/X11 | https://pypi.org/project/transitions/ | Tal Yarkoni | 2014 - 2020 |
| urllib3 | 1.25.9 | MIT/X11 | https://pypi.org/project/urllib3/ | Andrey Petrov | 2008-2020 |
| vcert | 0.7.4 | ASL | https://pypi.org/project/vcert | Denis Subbotin | 2018 |
| virtualenv | 20.0.25 | MIT | https://pypi.org/project/virtualenv | Bernat Gabor | 2020-202x |
| watchdog | 0.10.3 | Apache License 2.0 | https://pypi.org/project/watchdog | Yesudeep Mangalapilly | 2012 |
| websocket-client | 0.57.0 | BSD | https://pypi.org/project/websocket-client | liris | 2018 |
| wrapt | 1.12.1 | BSD | https://pypi.org/project/wrapt | Graham Dumpleton | 2013-2019 |
| xmltodict | 0.12.0 | MIT | https://pypi.org/project/xmltodict | Martin Blech | 2010 |
| yamlordereddictloader | 0.4.0 | MIT License | https://pypi.org/project/yamlordereddictloader | François Ménabé | 2017 |
| zc.lockfile | 2 | ZPL 2.1 | https://pypi.org/project/zc.lockfile | Zope Foundation | 2010 |
| zipp | 3.1.0 | MIT | https://pypi.org/project/zipp | Jason R. Coombs | 2019 |
| **OSS Software Name** | **Version** | **Primary License** | **Source Code Download URL** | **Author** | **Copyright Year** |
| ------------------------- | :---------- | --------------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------ | -----------------: |
| | | | | | |
| Cheetah3 | 3.1.0 | MIT/X11 | https://pypi.org/project/Cheetah3/ | Travis Rudd | 2017-2019 |
| CherryPy | 17.3.0 | BSD | https://pypi.org/project/CherryPy/ | CherryPy Team | 2004-2019 |
| Genshi | 0.7.3 | BSD | https://pypi.org/project/Genshi/ | Edgewall Software | 2006-2010 |
| GitPython | 3.1.3 | BSD | https://pypi.org/project/GitPython/ | Sebastian Thiel, Michael Trier | 2008, 2009 |
| Jinja2 | 2.11.2 | BSD | https://pypi.org/project/Jinja2 | Armin Ronacher | 2007 |
| Mako | 1.1.3 | MIT/X11 | https://pypi.org/project/Mako/ | Mike Bayer | 2006-2020 |
| MarkupSafe | 1.1.1 | BSD | https://pypi.org/project/MarkupSafe/ | Armin Ronacher | 2010 |
| PyJWT | 1.7.1 | MIT/X11 | https://pypi.org/project/PyJWT/ | Jose Padilla | 2015 |
| PyNaCl | 1.4.0 | Apache License, V2.0 | https://pypi.org/project/PyNaCl/ | The PyNaCl developers | 2004 |
| PyYAML | 5.3.1 | MIT/X11 | https://pypi.org/project/PyYAML/ | Kirill Simonov | 2006-2019 |
| WerkZeug | 1.0.1 | BSD | https://pypi.org/project/Werkzeug/ | Armin Ronacher | 2007 |
| apache-libcloud | 2.0.0 | Apache License, V2.0 | https://pypi.org/project/apache-libcloud/ | Apache Software Foundation | 2004 |
| appdirs | 1.4.4 | MIT/X11 | https://pypi.org/project/appdirs/ | Trent Mick | 2010 |
| asn1crypto | 1.3.0 | MIT/X11 | https://pypi.org/project/asn1crypto/ | wbond | 2015-2019 |
| attrs | 19.3.1 | MIT/X11 | https://pypi.org/project/attrs/ | Hynek Schlawack | 2015 |
| aws-sam-translator | 1.25.0 | Apache License, V2.0 | https://pypi.org/project/aws-sam-translator/ | Amazon Web Services | 2004 |
| aws-xray-sdk | 2.6.0 | Apache License, V2.0 | https://pypi.org/project/aws-xray-sdk/ | Amazon Web Services | 2004 |
| bcrypt | 3.1.7 | Apache License, V2.0 | https://pypi.org/project/bcrypt/ | The Python Cryptographic Authority | 2013 |
| boto | 2.49.0 | MIT/X11 | https://pypi.org/project/boto/ | Mitch Garnaatt | 2013 |
| boto3 | 1.14.16 | Apache License, V2.0 | https://pypi.org/project/boto3/ | AWS | 2019 |
| botocore | 1.17.16 | Apache License, V2.0 | https://pypi.org/project/botocore/ | AWS | 2019 |
| cachetools | 4.1.1 | MIT/X11 | https://pypi.org/project/cachetools/ | tkem | 2014-2020 |
| cassandra-driver | 3.24.0 | Apache License, V2.0 | https://pypi.org/project/cassandra-driver/ | DataStax | 2013 |
| certifi | 2020.6.20 | Mozilla Public License, V2.0 | https://pypi.org/project/certifi/ | Kenneth Reitz | 2013 |
| certvalidator | 0.11.1 | MIT/X11 | https://pypi.org/project/certvalidator/ | wbond | 2015-2018 |
| cffi | 1.14.0 | MIT/X11 | https://pypi.org/project/cffi/ | Armin Rigo, Maciej Fijalkowski | 2005-2007 |
| cfn-lint | 0.33.2 | MIT/X11 | https://pypi.org/project/cfn-lint/ | kddejong | 2018 |
| chardet | 3.0.4 | GNU Lesser General Public License, V2.1 | https://pypi.org/project/chardet/ | Daniel Blanchard | 2012 |
| cheroot | 8.3.0 | BSD | https://pypi.org/project/cheroot/ | CherryPy Team | 2004-2020 |
| click | 7.1.2 | BSD | https://pypi.org/project/click/ | Pallets | 2014 |
| contextlib2 | 0.6.0.post1 | Python License | https://pypi.org/project/contextlib2/ | Nick Coghlan | 2015 |
| croniter | 0.3.34 | MIT/X11 | https://pypi.org/project/croniter/ | Matsumoto Taichi, kiorky | 2014 |
| cryptography | 2.9.2 | BSD | https://pypi.org/project/cryptography/ | The cryptography developers | 2014 |
| decorator | 4.4.2 | BSD | https://pypi.org/project/decorator/ | Michele Simionato | 2005-2018 |
| distlib | 0.3.1 | Python License | https://pypi.org/project/distlib/ | Vinay Sajip | 2012 |
| dnspython | 1.16.0 | BSD | https://pypi.org/project/dnspython/ | Bob Halley | 2001-2017 |
| docker | 4.2.2 | Apache License, V2.0 | https://pypi.org/project/docker/ | Joffery F | 2016 |
| docutils | 0.15.2 | BSD | https://pypi.org/project/docutils/ | David Goodger | 2011 |
| ecdsa | 0.15 | MIT/X11 | https://pypi.org/project/ecdsa/ | Brian Warner | 2010 |
| filelock | 3.0.12 | Public Domain | https://pypi.org/project/filelock/ | Benedikt Schmitt | 2018 |
| future | 0.18.2 | MIT/X11 | https://pypi.org/project/future/ | Ed Schofield | 2013-2019 |
| geomet | 0.2.1.post1 | Apache License, V2.0 | https://pypi.org/project/geomet/ | Lars Butler | 2014 |
| gitdb | 4.0.5 | BSD | https://pypi.org/project/gitdb/ | Sebastian Thiel | 2010, 2011 |
| google-auth | 1.18.0 | Apache License, V2.0 | https://pypi.org/project/google-auth/ | Google Cloud Platform | 2016 |
| hgtools | 8.2.0 | MIT/X11 | https://pypi.org/project/hgtools/ | Jason R. Coombs | 2019 |
| idna | 2.8 | BSD | https://pypi.org/project/idna/ | Kim Davies | 2013-2020 |
| importlib-metadata | 1.7.0 | Apache License, V2.0 | https://pypi.org/project/importlib-metadata/ | Barry Warsaw | 2017-2019 |
| ipaddress | 1.0.23 | Python License | https://pypi.org/project/ipaddress/ | Philipp Hagemeister | 2014 |
| isodate | 0.6.0 | BSD | https://pypi.org/project/isodate/ | Gerhard Weis | 2009 |
| jaraco.functools | 3.0.1 | MIT/X11 | https://pypi.org/project/jaraco.functools/ | Jason R. Coombs | 2020 |
| jmespath | 0.10.0 | MIT/X11 | https://pypi.org/project/jmespath/ | James Saryerwinnie | 2013 |
| jsondiff | 1.1.2 | MIT/X11 | https://pypi.org/project/jsondiff/ | Zoomer Analytics LLC | 2015 |
| jsonpatch | 1.26 | BSD | https://pypi.org/project/jsonpatch/ | Stefan Kögl | 2011 |
| jsonpickle | 1.4.1 | BSD | https://pypi.org/project/jsonpickle/ | David Aguilar | 2009-2018 |
| jsonpointer | 2 | BSD | https://pypi.org/project/jsonpointer/ | Stefan Kögl | 2017 |
| jsonschema | 3.2.0 | MIT/X11 | https://pypi.org/project/jsonschema/ | Julian Berman | 2013 |
| junit-xml | 1.9 | MIT/X11 | https://pypi.org/project/junit-xml/ | Brian Beyer | 2013 |
| junos-eznc | 2.4.0 | Apache License, V2.0 | https://pypi.org/project/junos-eznc/ | Jeremy Schulman, Nitin Kumar, Rick Sherman, Stacy Smith | 2018 |
| jxmlease | 1.0.3 | MIT/X11 | https://pypi.org/project/jxmlease/ | Juniper Networks | 2015-2016 |
| kazoo | 2.7.0 | Apache License, V2.0 | https://pypi.org/project/kazoo/ | Kazoo team | 2012 |
| keyring | 5.7.1 | MIT/X11 | https://pypi.org/project/keyring/ | Kang Zhang | 2019 |
| kubernetes | 3.0.0 | Apache License, V2.0 | https://pypi.org/project/kubernetes/ | Kubernetes | 2016 |
| libnacl | 1.7.1 | Apache License, V2.0 | https://pypi.org/project/libnacl/ | Thomas S Hatch | 2014 |
| lxml | 4.5.1 | BSD | https://pypi.org/project/lxml/ | lxml dev team | 2019 |
| mock | 4.0.2 | BSD | https://pypi.org/project/mock/ | Testing Cabal | 2003-2013 |
| more-itertools | 5.0.0 | MIT/X11 | https://pypi.org/project/more-itertools/ | Eric Rose | 2012 |
| moto | 1.3.14 | Apache License, V2.0 | https://pypi.org/project/moto/ | Steve Pulec | 2004 |
| natsort | 7.0.1 | MIT/X11 | https://pypi.org/project/natsort/ | Seth M. Morton | 2012-2020 |
| ncclient | 0.6.7 | Apache License, V2.0 | https://pypi.org/project/ncclient/ | Shikhar Bhushan, Leonidas Poulopoulos, Ebben Aries, Einar Nilsen-Nygaard | 2004 |
| netaddr | 0.8.0 | BSD | https://pypi.org/project/netaddr/ | Author: David P. D. Moss, Stefan Nordhausen et al | 2008 |
| networkx | 2.4 | BSD | https://pypi.org/project/networkx/ | Aric Hagberg | 2004-2020 |
| ntc-templates | 1.5.0 | Apache License, V2.0 | https://pypi.org/project/ntc-templates/ | Jason Edelman | 2015 |
| oauthlib | 3.1.0 | BSD | https://pypi.org/project/oauthlib/ | The OAuthlib Community | 2019 |
| oscrypto | 1.2.0 | MIT/X11 | https://pypi.org/project/oscrypto/ | wbond | 2015-2019 |
| paramiko | 2.7.1 | GNU Lesser General Public License, V2.1 | https://pypi.org/project/paramiko/ | Jeff Forcier | 1999 |
| passlib | 1.7.2 | BSD | https://pypi.org/project/passlib/ | Eli Collins | 2004 |
| pathtools | 0.1.2 | MIT/X11 | https://pypi.org/project/pathtools/ | Yesudeep Mangalapilly | 2010 |
| portend | 2.6 | MIT/X11 | https://pypi.org/project/portend/ | Jason R Coombs | 2018 |
| psutil | 5.7.0 | BSD | https://pypi.org/project/psutil/ | Giampaolo Rodola | 2009 |
| pyOpenSSL | 19.1.0 | Apache License, V2.0 | https://pypi.org/project/pyOpenSSL/ | The pyopenssl Developers | 2004 |
| pyasn1 | 0.4.8 | BSD | https://pypi.org/project/pyasn1/ | Ilya Etingof | 2005-2020 |
| pyasn1-modules | 0.2.8 | BSD | https://pypi.org/project/pyasn1-modules/ | Ilya Etingof | 2005-2020 |
| pycparser | 2.20 | BSD | https://pypi.org/project/pycparser/ | Eli Bendersky | 2008-2017 |
| pygit2 | 1.2.1 | GNU General Public License, V2.0 | https://pypi.org/project/pygit2/ | J. David Ibáñez | 2012 |
| pyinotify | 0.9.6 | MIT/X11 | https://pypi.org/project/pyinotify/ | Sebastien Martini | 2010 |
| pyparsing | 2.4.7 | MIT/X11 | https://pypi.org/project/pyparsing/ | Paul McGuire | 2018 |
| pyrsistent | 0.16.0 | MIT/X11 | https://pypi.org/project/pyrsistent/ | Tobias Gustafsson | 2019 |
| pyserial | 3.4 | BSD | https://pypi.org/project/pyserial/ | Chris Liechti | 2001-2016 |
| python-dateutil | 2.8.1 | Apache License, V2.0 | https://pypi.org/project/python-dateutil/ | Gustavo Niemeyer | 2017 |
| python-etcd | 0.4.5 | MIT/X11 | https://pypi.org/project/python-etcd/ | Jose Plana | 2015 |
| python-gnupg | 0.4.6 | BSD | https://pypi.org/project/python-gnupg/ | Vinay Sajip | 2008-2019 |
| python-jose[cryptography] | 3.2.0 | MIT/X11 | https://pypi.org/project/python-jose/ | Michael Davis | 2015 |
| pytz | 2020.1 | MIT/X11 | https://pypi.org/project/pytz/ | Stuart Bishop | 2015 |
| pyvmomi | 7 | Apache License, V2.0 | https://pypi.org/project/pyvmomi/ | VMware, Inc. | 2004 |
| requests | 2.24.0 | Apache License, V2.0 | https://pypi.org/project/requests/ | Kenneth Reitz | 2004 |
| requests-oauthlib | 1.3.0 | BSD | https://pypi.org/project/requests-oauthlib/ | Kenneth Reitz | 2014 |
| responses | 0.10.15 | Apache License, V2.0 | https://pypi.org/project/responses/ | David Cramer | 2004 |
| rfc3987 | 1.3.8 | GNU General Public License, V3.0 | https://pypi.org/project/rfc3987/ | Daniel Gerber | 2007 |
| rsa | 4.6 | Apache License, V2.0 | https://pypi.org/project/rsa/ | Sybren A. Stuvel | 2011 |
| s3transfer | 0.3.3 | Apache License, V2.0 | https://pypi.org/project/s3transfer/ | Amazon Web Services | 2004 |
| scp | 0.13.2 | GNU Lesser General Public License, V2.1 | https://pypi.org/project/scp/ | James Bardin | 2013 |
| setproctitle | 1.1.10 | BSD | https://pypi.org/project/setproctitle/ | Daniele Varrazzo | 2009-2020 |
| setuptools-scm | 4.1.2 | MIT/X11 | https://pypi.org/project/setuptools-scm/ | Ronny Pfannschmidt | 2010 |
| six | 1.15.0 | MIT/X11 | https://pypi.org/project/six/ | Benjamin Peterson | 2010-2020 |
| smmap | 3.0.4 | BSD | https://pypi.org/project/smmap/ | Sebastian Thiel | 2010, 2011 |
| sshpubkeys | 3.1.0 | BSD | https://pypi.org/project/sshpubkeys/ | Olli Jarva | 2014 |
| strict-rfc3339 | 0.7 | GNU General Public License, V3.0 | https://pypi.org/project/strict-rfc3339/ | Daniel Richman, Adam Greig | 2007 |
| tempora | 3.0.0 | MIT/X11 | https://pypi.org/project/tempora/ | Jason R. Coombs | 2020 |
| textfsm | 1.1.0 | Apache License, V2.0 | https://pypi.org/project/textfsm/ | Google | 2004 |
| timelib | 0.2.4 | BSD | https://pypi.org/project/timelib/ | Ralf Schmitt | 2009-2011 |
| toml | 0.10.1 | MIT/X11 | https://pypi.org/project/toml/ | William Pearson | 2013-2019 |
| transitions | 0.8.2 | MIT/X11 | https://pypi.org/project/transitions/ | Tal Yarkoni | 2014 - 2020 |
| urllib3 | 1.25.9 | MIT/X11 | https://pypi.org/project/urllib3/ | Andrey Petrov | 2008-2020 |
| vcert | 0.7.4 | ASL | https://pypi.org/project/vcert | Denis Subbotin | 2018 |
| virtualenv | 20.0.25 | MIT | https://pypi.org/project/virtualenv | Bernat Gabor | 2020-202x |
| watchdog | 0.10.3 | Apache License 2.0 | https://pypi.org/project/watchdog | Yesudeep Mangalapilly | 2012 |
| websocket-client | 0.57.0 | BSD | https://pypi.org/project/websocket-client | liris | 2018 |
| wrapt | 1.12.1 | BSD | https://pypi.org/project/wrapt | Graham Dumpleton | 2013-2019 |
| xmltodict | 0.12.0 | MIT | https://pypi.org/project/xmltodict | Martin Blech | 2010 |
| yamlordereddictloader | 0.4.0 | MIT License | https://pypi.org/project/yamlordereddictloader | François Ménabé | 2017 |
| zc.lockfile | 2 | ZPL 2.1 | https://pypi.org/project/zc.lockfile | Zope Foundation | 2010 |
| zipp | 3.1.0 | MIT | https://pypi.org/project/zipp | Jason R. Coombs | 2019 |

27
Gemfile
View file

@ -1,27 +0,0 @@
# This file is only used for running the test suite with kitchen-salt.
source 'https://rubygems.org'
gem 'test-kitchen', '>=2.11.1'
gem 'kitchen-salt', :git => 'https://github.com/saltstack/kitchen-salt.git'
gem 'kitchen-sync'
gem 'git'
group :docker do
gem 'kitchen-docker', :git => 'https://github.com/test-kitchen/kitchen-docker.git', :branch => 'main'
end
group :windows do
gem 'winrm', '~>2.0'
# gem 'winrm-fs', '~>1.3.1'
gem 'winrm-fs', :git => 'https://github.com/s0undt3ch/winrm-fs.git', :branch => 'hotfix/saltstack-ci'
end
group :ec2 do
gem 'kitchen-ec2', '>=3.8'
end
group :vagrant do
gem 'vagrant-wrapper'
gem 'kitchen-vagrant'
end

View file

@ -6,17 +6,9 @@
:alt: PyPi Package Downloads
:target: https://pypi.org/project/salt
.. image:: https://img.shields.io/lgtm/grade/python/github/saltstack/salt
:alt: PyPi Package Downloads
:target: https://lgtm.com/projects/g/saltstack/salt/context:python
.. image:: https://img.shields.io/badge/slack-SaltProject-blue.svg?logo=slack
:alt: Salt Project Slack Community
:target: https://via.vmw.com/salt-slack
.. image:: https://img.shields.io/twitch/status/saltprojectoss
:alt: Salt Project Twitch Channel
:target: https://www.twitch.tv/saltprojectoss
.. image:: https://img.shields.io/badge/discord-SaltProject-blue.svg?logo=discord
:alt: Salt Project Discord Community
:target: https://discord.com/invite/J7b7EscrAs
.. image:: https://img.shields.io/reddit/subreddit-subscribers/saltstack?style=social
:alt: Salt Project subreddit
@ -71,20 +63,21 @@ In addition to configuration management Salt can also:
About our sponsors
==================
Salt powers VMware's `VMware Aria Automation Config`_
(previously vRealize Automation SaltStack Config / SaltStack Enterprise), and can be found
Salt powers VMware by Broadcom's `Tanzu Salt`_
(previously Aria Automation Config / vRealize Automation SaltStack Config / SaltStack Enterprise), and can be found
under the hood of products from Juniper, Cisco, Cloudflare, Nutanix, SUSE, and
Tieto, to name a few.
The original sponsor of our community, SaltStack, was `acquired by VMware in 2020 <https://www.vmware.com/company/acquisitions/saltstack.html>`_.
The Salt Project remains an open source ecosystem that VMware supports and
contributes to. VMware ensures the code integrity and quality of the Salt
The original sponsor of our community, SaltStack, was acquired by VMware in 2020.
`VMware was later acquired by Broadcom in 2023 <https://investors.broadcom.com/news-releases/news-release-details/broadcom-completes-acquisition-vmware>`__.
The Salt Project remains an open source ecosystem that Broadcom supports and
contributes to. Broadcom ensures the code integrity and quality of the Salt
modules by acting as the official sponsor and manager of the Salt project. Many
of the core Salt Project contributors are also VMware employees. This team
of the core Salt Project contributors are also Broadcom employees. This team
carefully reviews and enhances the Salt modules to ensure speed, quality, and
security.
Download and install Salt
=========================
Salt is tested and packaged to run on CentOS, Debian, RHEL, Ubuntu, MacOS,
@ -93,9 +86,11 @@ Windows, and more. Download Salt and get started now. See
for more information.
To download and install Salt, see:
* `The Salt install guide <https://docs.saltproject.io/salt/install-guide/en/latest/index.html>`_
* `Salt Project repository <https://repo.saltproject.io/>`_
* `The Salt install guide <https://docs.saltproject.io/salt/install-guide/en/latest/index.html>`_
* `Salt Project Repository: Linux (RPM) <https://packages.broadcom.com/artifactory/saltproject-rpm>`__ - Where Salt ``rpm`` packages are officially stored and distributed.
* `Salt Project Repository: Linux (DEB) <https://packages.broadcom.com/artifactory/saltproject-deb>`__ - Where Salt ``deb`` packages are officially stored and distributed.
* `Salt Project Repository: GENERIC <https://packages.broadcom.com/artifactory/saltproject-generic>`__ - Where Salt Windows, macOS, etc. (non-rpm, non-deb) packages are officially stored and distributed.
Technical support
=================
@ -103,7 +98,8 @@ Report bugs or problems using Salt by opening an issue: `<https://github.com/sal
To join our community forum where you can exchange ideas, best practices,
discuss technical support questions, and talk to project maintainers, join our
Slack workspace: `Salt Project Community Slack`_
Discord server: `Salt Project Community Discord`_
Salt Project documentation
@ -127,7 +123,7 @@ announcements.
Other channels to receive security announcements include the
`Salt Community mailing list <https://groups.google.com/forum/#!forum/salt-users>`_
and the `Salt Project Community Slack`_.
and the `Salt Project Community Discord`_.
Responsibly reporting security vulnerabilities
@ -152,11 +148,9 @@ Please be sure to review our
`Code of Conduct <https://github.com/saltstack/salt/blob/master/CODE_OF_CONDUCT.md>`_.
Also, check out some of our community resources including:
* `Salt Project Community Wiki <https://github.com/saltstack/community/wiki>`_
* `Salt Project Community Slack`_
* `Salt Project: IRC on LiberaChat <https://web.libera.chat/#salt>`_
* `Salt Project Community Discord`_
* `Salt Project YouTube channel <https://www.youtube.com/channel/UCpveTIucFx9ljGelW63-BWg>`_
* `Salt Project Twitch channel <https://www.twitch.tv/saltprojectoss>`_
* `Salt Project Community Notes and Wiki <https://github.com/saltstack/community/>`_
There are lots of ways to get involved in our community. Every month, there are
around a dozen opportunities to meet with other contributors and the Salt Core
@ -164,10 +158,8 @@ team and collaborate in real time. The best way to keep track is by subscribing
to the **Salt Project Community Events Calendar** on the main
`<https://saltproject.io>`_ website.
If you have additional questions, email us at saltproject@vmware.com or reach out
directly to the Community Manager, Jimmy Chunga via Slack. We'd be glad to
have you join our community!
If you have additional questions, email us at saltproject.pdl@broadcom.com or reach out
directly to the Community Discord. We'd be glad to have you join our community!
License
=======
@ -180,10 +172,8 @@ used by external modules.
A complete list of attributions and dependencies can be found here:
`salt/DEPENDENCIES.md <https://github.com/saltstack/salt/blob/master/DEPENDENCIES.md>`_
.. _Salt Project Community Slack: https://via.vmw.com/salt-slack
.. _VMware Aria Automation Config: https://www.vmware.com/products/vrealize-automation/saltstack-config.html
.. _Salt Project Community Discord: https://discord.com/invite/J7b7EscrAs
.. _Tanzu Salt: https://www.vmware.com/products/app-platform/tanzu-salt
.. _Latest Salt Documentation: https://docs.saltproject.io/en/latest/
.. _Open an issue: https://github.com/saltstack/salt/issues/new/choose
.. _SECURITY.md: https://github.com/saltstack/salt/blob/master/SECURITY.md
.. _Calendar html: https://outlook.office365.com/owa/calendar/105f69bacd4541baa849529aed37eb2d@vmware.com/434ec2155b2b4cce90144c87f0dd03d56626754050155294962/calendar.html
.. _Calendar ics: https://outlook.office365.com/owa/calendar/105f69bacd4541baa849529aed37eb2d@vmware.com/434ec2155b2b4cce90144c87f0dd03d56626754050155294962/calendar.ics

View file

@ -4,77 +4,65 @@
- saltproject-security.pdl@broadcom.com
**GPG key ID:**
- 4EA0793D
- 37654A06
**GPG key fingerprint:**
- `8ABE 4EFC F0F4 B24B FF2A AF90 D570 F2D3 4EA0 793D`
- `99EF 26F2 6469 2D24 973A 7007 E8BF 76A7 3765 4A06`
**GPG Public Key**
```
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFO15mMBEADa3CfQwk5ED9wAQ8fFDku277CegG3U1hVGdcxqKNvucblwoKCb
hRK6u9ihgaO9V9duV2glwgjytiBI/z6lyWqdaD37YXG/gTL+9Md+qdSDeaOa/9eg
7y+g4P+FvU9HWUlujRVlofUn5Dj/IZgUywbxwEybutuzvvFVTzsn+DFVwTH34Qoh
QIuNzQCSEz3Lhh8zq9LqkNy91ZZQO1ZIUrypafspH6GBHHcE8msBFgYiNBnVcUFH
u0r4j1Rav+621EtD5GZsOt05+NJI8pkaC/dDKjURcuiV6bhmeSpNzLaXUhwx6f29
Vhag5JhVGGNQxlRTxNEM86HEFp+4zJQ8m/wRDrGX5IAHsdESdhP+ljDVlAAX/ttP
/Ucl2fgpTnDKVHOA00E515Q87ZHv6awJ3GL1veqi8zfsLaag7rw1TuuHyGLOPkDt
t5PAjsS9R3KI7pGnhqI6bTOi591odUdgzUhZChWUUX1VStiIDi2jCvyoOOLMOGS5
AEYXuWYP7KgujZCDRaTNqRDdgPd93Mh9JI8UmkzXDUgijdzVpzPjYgFaWtyK8lsc
Fizqe3/Yzf9RCVX/lmRbiEH+ql/zSxcWlBQd17PKaL+TisQFXcmQzccYgAxFbj2r
QHp5ABEu9YjFme2Jzun7Mv9V4qo3JF5dmnUk31yupZeAOGZkirIsaWC3hwARAQAB
tDBTYWx0U3RhY2sgU2VjdXJpdHkgVGVhbSA8c2VjdXJpdHlAc2FsdHN0YWNrLmNv
bT6JAj4EEwECACgFAlO15mMCGwMFCQeGH4AGCwkIBwMCBhUIAgkKCwQWAgMBAh4B
AheAAAoJENVw8tNOoHk9z/MP/2vzY27fmVxU5X8joiiturjlgEqQw41IYEmWv1Bw
4WVXYCHP1yu/1MC1uuvOmOd5BlI8YO2C2oyW7d1B0NorguPtz55b7jabCElekVCh
h/H4ZVThiwqgPpthRv/2npXjIm7SLSs/kuaXo6Qy2JpszwDVFw+xCRVL0tH9KJxz
HuNBeVq7abWD5fzIWkmGM9hicG/R2D0RIlco1Q0VNKy8klG+pOFOW886KnwkSPc7
JUYp1oUlHsSlhTmkLEG54cyVzrTP/XuZuyMTdtyTc3mfgW0adneAL6MARtC5UB/h
q+v9dqMf4iD3wY6ctu8KWE8Vo5MUEsNNO9EA2dUR88LwFZ3ZnnXdQkizgR/Aa515
dm17vlNkSoomYCo84eN7GOTfxWcq+iXYSWcKWT4X+h/ra+LmNndQWQBRebVUtbKE
ZDwKmiQz/5LY5EhlWcuU4lVmMSFpWXt5FR/PtzgTdZAo9QKkBjcv97LYbXvsPI69
El1BLAg+m+1UpE1L7zJT1il6PqVyEFAWBxW46wXCCkGssFsvz2yRp0PDX8A6u4yq
rTkt09uYht1is61joLDJ/kq3+6k8gJWkDOW+2NMrmf+/qcdYCMYXmrtOpg/wF27W
GMNAkbdyzgeX/MbUBCGCMdzhevRuivOI5bu4vT5s3KdshG+yhzV45bapKRd5VN+1
mZRqiQJVBBMBCAA/AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgBYhBIq+Tvzw
9LJL/yqvkNVw8tNOoHk9BQJe1uRXBQkPoTz0AAoJENVw8tNOoHk9akAQANKIDIBY
J3DmWH3g6rWURdREQcBVfMkw6j5MHlIEwlGrN3whSaPv2KR3tatRccBCQ0olQeYb
ZeFtPuf0Du+LqGaAePo5DkPNU7GHoba2+ZE/sJ4wZ4CzAQM6+LvH2iLHeLZ1VLlu
ZEftxD1RFKTqpnav8KiyYGkeFuEn4eMSIhbudp/8wkN40sCWL22D141EhVSRvLlO
BMUpTWdtSYTg0F2pgQL5U2A56syuiwUwPXzQb45JEJILmG8zkeJB9s8kGtErypIH
P+qxJXq24woGUFeJjiLdiOhI6/YoVBACUkKmig36CGf/DH5NAeQECeZq3YBNp7XK
tsF1dPitxuTM/UkOHoHUnGhDlBcQMWe9WuBK4rA+7GH9NT8o7M6+2OKhk181tJ+s
Y2kP7RSXOV162thRsNvVImXajAIFTR3ksEDFGVq/4jh85jFoIbNH3x27NxOu6e2p
OIkXNXmSFXLUmwbfEfIk06gqP3xzkaj+eWHcLDkn9bUKblBJhHdhf9Vsy/N2NRW2
23c64qDutw1NX7msDuN3KXisim+isBzPVVzymkkhkXK+UpjrRR0ePvph3fnGf1bc
NipVtn1KKM7kurSrSjFVLwLi52SGnEHKJnbbhh+AKV09SNYi6IaKL8yw8c1d0K80
PlBaJEvkC6myzaaRtYcna4pbiIysBaZtwDOOuQINBFO15mMBEAC5UuLii9ZLz6qH
fIJp35IOW9U8SOf7QFhzXR7NZ3DmJsd3f6Nb/habQFIHjm3K9wbpj+FvaW2oWRlF
VvYdzjUq6c82GUUjW1dnqgUvFwdmM8351n0YQ2TonmyaF882RvsRZrbJ65uvy7SQ
xlouXaAYOdqwLsPxBEOyOnMPSktW5V2UIWyxsNP3sADchWIGq9p5D3Y/loyIMsS1
dj+TjoQZOKSj7CuRT98+8yhGAY8YBEXu9r3I9o6mDkuPpAljuMc8r09Im6az2egt
K/szKt4Hy1bpSSBZU4W/XR7XwQNywmb3wxjmYT6Od3Mwj0jtzc3gQiH8hcEy3+BO
+NNmyzFVyIwOLziwjmEcw62S57wYKUVnHD2nglMsQa8Ve0e6ABBMEY7zGEGStva5
9rfgeh0jUMJiccGiUDTMs0tdkC6knYKbu/fdRqNYFoNuDcSeLEw4DdCuP01l2W4y
Y+fiK6hAcL25amjzc+yYo9eaaqTn6RATbzdhHQZdpAMxY+vNT0+NhP1Zo5gYBMR6
5Zp/VhFsf67ijb03FUtdw9N8dHwiR2m8vVA8kO/gCD6wS2p9RdXqrJ9JhnHYWjiV
uXR+f755ZAndyQfRtowMdQIoiXuJEXYw6XN+/BX81gJaynJYc0uw0MnxWQX+A5m8
HqEsbIFUXBYXPgbwXTm7c4IHGgXXdwARAQABiQI8BBgBCAAmAhsMFiEEir5O/PD0
skv/Kq+Q1XDy006geT0FAl7W5K0FCQ+hPUoACgkQ1XDy006geT1Q0Q//atnw1D4J
13nL8Mygk+ANY4Xljub/TeZqKtzmnWGso843XysErLH1adCu1KDX1Dj4/o3WoPOt
0O78uSS81N428ocOPKx+fA63n7q1mRqHHy6pLLVKoT66tmvE1ZN0ObaiPK9IxZkB
ThGlHJk9VaUg0vzAaRznogWeBh1dyZktVrtbUO5u4xDX9iql/unVmCWm+U1R7t4q
fqPEbk8ZnWc7x4bAZf8/vSQ93mAbpnRRuJdDK9tsiuhl8pRz7OyzvMS81rVF75ja
7CcShPofrW4yZ7FqAUMwTbfrvsAraWmDjW17Ao7C2dUA9ViwSKJ6u6Pd5no/hwbm
jVoxtO2RvjGOBxKneD36uENAUMBExjDTkSHmOxUYSknrEKUy7P1OL2ZHLG8/rouN
5ZvIxHiMkz12ukSt29IHvCngn1UB4/7+tvDHqug4ZAZPuwH7TC5Hk6WO0OoK8Eb2
sQa2QoehQjwK0IakGd5kFEqKgbrwYPPa3my7l58nOZmPHdMcTOzgKvUEYAITjsT4
oOtocs9Nj+cfCfp6YUn6JeYfiHs+Xhze5igdWIl0ZO5rTmbqcD8A1URKBds0WA+G
FLP9shPC0rS/L3Y1fKhqAc0h+znWBU6xjipTkmzh3FdM8gGT6g9YwGQNbi/x47k5
vtBIWO4LPeGEvb2Gs65PL2eouOqU6yvBr5Y=
=F/97
mQINBGZpxDsBEACz8yoRBXaJiifaWz3wd4FLSO18mgH7H/+0iNTbV1ZwhgGEtWTF
Z31HfrsbxVgICoMgFYt8WKnc4MHZLIgDfTuCFQpf7PV/VqRBAknZwQKEAjHfrYNz
Q1vy3CeKC1qcKQISEQr7VFf58sOC8GJ54jLLc2rCsg9cXI6yvUFtGwL9Qv7g/NZn
rtLjc4NZIKdIvSt+/PtooQtsz0jfLMdMpMFa41keH3MknIbydBUnGj7eC8ANN/iD
Re2QHAW2KfQh3Ocuh/DpJ0/dwbzXmXfMWHk30E+s31TfdLiFt1Iz5kZDF8iHrDMq
x39/GGmF10y5rfq43V1Ucxm+1tl5Km0JcX6GpPUtgRpfUYAxwxfGfezt4PjYRYH2
mNxXXPLsnVTvdWPTvS0msSrcTHmnU5His38I6goXI7dLZm0saqoWi3sqEQ8TPS6/
DkLtYjpb/+dql+KrXD7erd3j8KKflIXn7AEsv+luNk6czGOKgdG9agkklzOHfEPc
xOGmaFfe/1mu8HxgaCuhNAQWlk79ZC+GAm0sBZIQAQRtABgag5vWr16hVix7BPMG
Fp8+caOVv6qfQ7gBmJ3/aso6OzyOxsluVxQRt94EjPTm0xuwb1aYNJOhEj9cPkjQ
XBjo3KN0rwcAViR/fdUzrIV1sn2hms0v5WZ+TDtz1w0OpLZOwe23BDE1+QARAQAB
tEJTYWx0IFByb2plY3QgU2VjdXJpdHkgVGVhbSA8c2FsdHByb2plY3Qtc2VjdXJp
dHkucGRsQGJyb2FkY29tLmNvbT6JAlcEEwEKAEEWIQSZ7ybyZGktJJc6cAfov3an
N2VKBgUCZmnEOwIbAwUJB4TOAAULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAK
CRDov3anN2VKBk7rD/9QdcYdNGfk96W906HlVpb3JCwT0t9T7ElP97Ot0YN6LqMj
vVQpxWYi7riUSyt1FtlCAM+hmghImzILF9LKDRCZ1H5UStI/u9T53cZpUZtVW/8R
bUNBCl495UcgioIZG5DsfZ/GdBOgY+hQfdgh7HC8a8A/owCt2hHbnth970NQ+LHb
/0ERLfOHRxozgPBhze8Vqf939KlteM5ljgTw/IkJJIsxJi4C6pQntSHvB3/Bq/Nw
Kf3vk3XYFtVibeQODSVvc6useo+SNGV/wsK/6kvh/vfP9Trv/GMOn/89Bj2aL1PR
M382E6sDB9d22p4ehVgbcOpkwHtr9DGerK9xzfG4aUjLu9qVD5Ep3gqKSsCe+P8z
bpADdVCnk+Vdp3Bi+KI7buSkqfbZ0m9vCY3ei1fMiDiTTjvNliL5QCO6PvYNYiDw
+LLImrQThv55ZRQsRRT7J6A94kwDoI6zcBEalv/aPws0nQHJtgWRUpmy5RcbVu9Z
QBXlUpCzCB+gGaGRE1u0hCfuvkbcG1pXFFBdSUuAK4o4ktiRALVUndELic/PU1nR
jwo/+j0SGw/jTwqVChUfLDZbiAQ2JICoVpZ+e1zQfsxa/yDu2e4D543SvNFHDsxh
bsBeCsopzJSA0n2HAdYvPxOPoWVvZv+U8ZV3EEVOUgsO5//cRJddCgLU89Q4DrkC
DQRmacQ7ARAAsz8jnpfw3DCRxdCVGiqWAtgj8r2gx5n1wJsKsgvyGQdKUtPwlX04
7w13lIDT2DwoXFozquYsTn9XkIoWbVckqo0NN/V7/QxIZIYTqRcFXouHTbXDJm5C
tsvfDlnTsaplyRawPU2mhYg39/lzIt8zIjvy5zo/pElkRP5m03nG+ItrsHN6CCvf
ZiRxme6EQdn+aoHh2GtICL8+c3HvQzTHYKxFn84Ibt3uNxwt+Mu6YhG9tkYMQQk5
SkYA4CYAaw2Lc/g0ee36iqw/5d79M8YcQtHhy5zzqgdEvExjFPdowV1hhFIEkNkM
uqIAknXVesqLLw2hPeYmyhYQqeBKIrWmBhBKX9c0vMYkDDH3T/sSylVhH0QAXP6E
WmLja3E1ov6pt6j7j/wWzC9LSMFDJI2yWCeOE1oea5D89tH6XvsGRTiog62zF/9a
77197iIa0+o91chp4iLkzDvuK8pVujPx8bNsK8jlJ+OW73NmliCVg+hecoFLNsri
/TsBngFNVcu79Q1XfyvoDdR2C09ItCBEZGt6LOlq/+ATUw1aBz6L1hvLBtiR3Hfu
X31YlbxdvVPjlzg6O6GXSfnokNTWv2mVXWTRIrP0RrKvMyiNPXVW7EunUuXI0Axk
Xg3E5kAjKXkBXzoCTCVz/sXPLjvjI0x3Z7obgPpcTi9h5DIX6PFyK/kAEQEAAYkC
PAQYAQoAJhYhBJnvJvJkaS0klzpwB+i/dqc3ZUoGBQJmacQ7AhsMBQkHhM4AAAoJ
EOi/dqc3ZUoGDeAQAKbyiHA1sl0fnvcZxoZ3mWA/Qesddp7Nv2aEW8I3hAJoTVml
ZvMxk8leZgsQJtSsVDNnxeyW+WCIUkhxmd95UlkTTj5mpyci1YrxAltPJ2TWioLe
F2doP8Y+4iGnaV+ApzWG33sLr95z37RKVdMuGk/O5nLMeWnSPA7HHWJCxECMm0SH
uI8aby8w2aBZ1kOMFB/ToEEzLBu9fk+zCzG3uH8QhdciMENVhsyBSULIrmwKglyI
VQwj2dXHyekQh7QEHV+CdKMfs3ZOANwm52OwjaK0dVb3IMFGvlUf4UXXfcXwLAkj
vW+Ju4kLGxVQpOlh1EBain9WOaHZGh6EGuTpjJO32PyRq8iSMNb8coeonoPFWrE/
A5dy3z5x5CZhJ6kyNwYs/9951r30Ct9qNZo9WZwp8AGQVs+J9XEYnZIWXnO1hdKs
dRStPvY7VqS500t8eWqWRfCLgofZAb9Fv7SwTPQ2G7bOuTXmQKAIEkU9vzo5XACu
AtR/9bC9ghNnlNuH4xiViBclrq2dif/I2ZwItpQHjuCDeMKz9kdADRI0tuNPpRHe
QP1YpURW+I+PYZzNgbnwzl6Bxo7jCHFgG6BQ0ih5sVwEDhlXjSejd8CNMYEy3ElL
xJLUpltwXLZSrJEXYjtJtnh0om71NXes0OyWE1cL4+U6WA9Hho6xedjk2bai
=pPmt
-----END PGP PUBLIC KEY BLOCK-----
```

View file

@ -1,17 +1,10 @@
Get SaltStack Support and Help
==============================
Get Salt Project Support and Help
=================================
**IRC Chat** - Join the vibrant, helpful and positive SaltStack chat room in
LiberaChat at #salt. There is no need to introduce yourself, or ask permission
to join in, just help and be helped! Make sure to wait for an answer, sometimes
it may take a few moments for someone to reply.
**Salt Project Discord** - Join the Salt Project Community Discord!
Use the following link to join the Discord server:
`<https://web.libera.chat/#salt>`_
**SaltStack Slack** - Alongside IRC is our SaltStack Community Slack for the
SaltStack Working groups. Use the following link to request an invitation.
`<https://via.vmw.com/salt-slack>`_
`<https://discord.com/invite/J7b7EscrAs>`_
**Mailing List** - The SaltStack community users mailing list is hosted by
Google groups. Anyone can post to ask questions about SaltStack products and
@ -20,13 +13,13 @@ anyone can help answer. Join the conversation!
`<https://groups.google.com/forum/#!forum/salt-users>`_
You may subscribe to the list without a Google account by emailing
salt-users+subscribe@googlegroups.com and you may post to the list by emailing
salt-users@googlegroups.com
``salt-users+subscribe@googlegroups.com`` and you may post to the list by emailing
``salt-users@googlegroups.com``
**Reporting Issues** - To report an issue with Salt, please follow the
guidelines for filing bug reports:
`<https://docs.saltproject.io/en/master/topics/development/reporting_bugs.html>`_
**SaltStack Support** - If you need dedicated, prioritized support, please
consider a SaltStack Support package that fits your needs:
`<http://www.saltstack.com/support>`_
**Salt Project Support** - If you need dedicated, prioritized support, please
consider taking a look at the Enterprise product:
`Tanzu Salt <https://www.vmware.com/products/app-platform/tanzu-salt>`__

3
changelog/33669.added.md Normal file
View file

@ -0,0 +1,3 @@
Issue #33669: Fixes an issue with the ``ini_managed`` execution module
where it would always wrap the separator with spaces. Adds a new parameter
named ``no_spaces`` that will not warp the separator with spaces.

1
changelog/41794.fixed.md Normal file
View file

@ -0,0 +1 @@
Fixed `salt.*.get` shorthand via Salt-SSH

2
changelog/44736.fixed.md Normal file
View file

@ -0,0 +1,2 @@
Commands on Windows are now prefixed with ``cmd /c`` so that compound
commands (commands separated by ``&&``) run properly when using ``runas``

1
changelog/47154.fixed.md Normal file
View file

@ -0,0 +1 @@
Fixed erroneous recursive requisite error when a prereq is used in combination with onchanges_any.

1
changelog/58931.added.md Normal file
View file

@ -0,0 +1 @@
Added metalink to mod_repo in yumpkg and documented in pkgrepo state

Some files were not shown because too many files have changed in this diff Show more