Repository: saltstack/pytest-salt-factories (language: python)

Issue:
sdist is unusable
The sdist package at PyPI is unusable because it basically contains almost no files.  The sdist contains several directories but all of them are empty:
```
$ wget https://files.pythonhosted.org/packages/67/98/87d7a4f2a14681ee10e7032c8be0871e966037d650a4c8dfd7b6b75a0d40/pytest-salt-factories-0.912.2.tar.gz
$ tar xf pytest-salt-factories-0.912.2.tar.gz
$ find pytest-salt-factories-0.912.2 -type d
pytest-salt-factories-0.912.2
pytest-salt-factories-0.912.2/requirements
pytest-salt-factories-0.912.2/docs
pytest-salt-factories-0.912.2/tests
pytest-salt-factories-0.912.2/examples
pytest-salt-factories-0.912.2/src
pytest-salt-factories-0.912.2/.github
pytest-salt-factories-0.912.2/changelog
$ find pytest-salt-factories-0.912.2 -type f
pytest-salt-factories-0.912.2/CHANGELOG.rst
pytest-salt-factories-0.912.2/LICENSE
pytest-salt-factories-0.912.2/MANIFEST.in
pytest-salt-factories-0.912.2/README.rst
pytest-salt-factories-0.912.2/setup.cfg
pytest-salt-factories-0.912.2/.readthedocs.yaml
pytest-salt-factories-0.912.2/pytest.ini
pytest-salt-factories-0.912.2/setup.py
pytest-salt-factories-0.912.2/PKG-INFO
pytest-salt-factories-0.912.2/pyproject.toml
pytest-salt-factories-0.912.2/.gitignore
$
```


Discussion / hints:
I tried github tarball and it does not work either:
```
$ /usr/bin/python3.9 -m build --wheel --no-isolation
Traceback (most recent call last):
  File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/usr/lib/python3.9/vendor-packages/build/__main__.py", line 24, in <module>
    from build.env import IsolatedEnvBuilder
  File "/usr/lib/python3.9/vendor-packages/build/env.py", line 26, in <module>
    import virtualenv
  File "/usr/lib/python3.9/vendor-packages/virtualenv/__init__.py", line 3, in <module>
    from .run import cli_run, session_via_cli
  File "/usr/lib/python3.9/vendor-packages/virtualenv/run/__init__.py", line 15, in <module>
    from .plugin.creators import CreatorSelector
  File "/usr/lib/python3.9/vendor-packages/virtualenv/run/plugin/creators.py", line 6, in <module>
    from virtualenv.create.via_global_ref.builtin.builtin_way import VirtualenvBuiltin
  File "/usr/lib/python3.9/vendor-packages/virtualenv/create/via_global_ref/builtin/builtin_way.py", line 5, in <module>
    from virtualenv.create.creator import Creator
  File "/usr/lib/python3.9/vendor-packages/virtualenv/create/creator.py", line 13, in <module>
    from virtualenv.discovery.cached_py_info import LogCmd
  File "/usr/lib/python3.9/vendor-packages/virtualenv/discovery/cached_py_info.py", line 25, in <module>
    _CACHE[Path(sys.executable)] = PythonInfo()
  File "/usr/lib/python3.9/vendor-packages/virtualenv/discovery/py_info.py", line 100, in __init__
    self.distutils_install = self._distutils_install().copy()
  File "/usr/lib/python3.9/vendor-packages/virtualenv/discovery/py_info.py", line 183, in _distutils_install
    d = dist.Distribution({"script_args": "--no-user-cfg"})  # conf files not parsed so they do not hijack paths
  File "/usr/lib/python3.9/vendor-packages/setuptools/dist.py", line 486, in __init__
    _Distribution.__init__(
  File "/usr/lib/python3.9/vendor-packages/setuptools/_distutils/dist.py", line 283, in __init__
    self.finalize_options()
  File "/usr/lib/python3.9/vendor-packages/setuptools/dist.py", line 925, in finalize_options
    ep(self)
  File "/usr/lib/python3.9/vendor-packages/setuptools_scm/integration.py", line 127, in infer_version
    _assign_version(dist, config)
  File "/usr/lib/python3.9/vendor-packages/setuptools_scm/integration.py", line 63, in _assign_version
    _version_missing(config)
  File "/usr/lib/python3.9/vendor-packages/setuptools_scm/__init__.py", line 108, in _version_missing
    raise LookupError(
LookupError: setuptools-scm was unable to detect version for /tmp/pytest-salt-factories-0.912.2.

Make sure you're either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub's tarballs, a git checkout without the .git folder) don't contain the necessary metadata and will not work.
$
```
I'd suggest trying the latest RC, that's what the salt test suite is using. It's not 1.0.0 yet but it's close.
If the latest rc is both close to 1.0.0 and used by the salt test suite then what blocks the 1.0.0 release?  The development process is very slow.  Exactly as one would expect from a production release.  Thank you.
> If the latest rc is both close to 1.0.0 and used by the salt test suite then what blocks the 1.0.0 release? The development process is very slow. Exactly as one would expect from a production release. Thank you.

We need to expand docs and refine some usage regarding testing salt packages, then I think we'll make a 1.0.0

Fix patch:
diff --git a/.github/actions/setup-actionlint/action.yml b/.github/actions/setup-actionlint/action.yml
index 425669d9..faafc59d 100644
--- a/.github/actions/setup-actionlint/action.yml
+++ b/.github/actions/setup-actionlint/action.yml
@@ -11,7 +11,7 @@ runs:
   steps:
 
     - name: Cache actionlint Binary
-      uses: actions/cache@v3
+      uses: actions/cache@v4
       with:
         path: /usr/local/bin/actionlint
         key: ${{ runner.os }}|${{ runner.arch }}|actionlint|${{ inputs.version }}
diff --git a/.github/actions/setup-shellcheck/action.yml b/.github/actions/setup-shellcheck/action.yml
index 986404f2..3c36119a 100644
--- a/.github/actions/setup-shellcheck/action.yml
+++ b/.github/actions/setup-shellcheck/action.yml
@@ -11,7 +11,7 @@ runs:
   steps:
 
     - name: Cache shellcheck Binary
-      uses: actions/cache@v3
+      uses: actions/cache@v4
       with:
         path: /usr/local/bin/shellcheck
         key: ${{ runner.os }}|${{ runner.arch }}|shellcheck|${{ inputs.version }}
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 74123b45..b9007c9b 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -20,6 +20,26 @@ Backward incompatible (breaking) changes will only be introduced in major versio
 
 .. towncrier release notes start
 
+1.0.0 (2024-03-21)
+==================
+
+Improvements
+------------
+
+- The `SSHD` daemon implementation now has a `get_host_keys` method which returns the host keys that can then be written to a ``known_hosts`` file. (`#176 <https://github.com/saltstack/pytest-salt-factories/issues/176>`_)
+
+
+Trivial/Internal Changes
+------------------------
+
+- CI pipeline changes:
+
+  * Stop testing against Pytest 8.0.0rc2 and instead test against 8.0.x
+  * Stop testing against Salt 3005.x
+  * Add Salt 3007.x to the versions to test
+  * Stop testing against Pytest 7.3.x and add 8.1.x to the list of versions to test (`#177 <https://github.com/saltstack/pytest-salt-factories/issues/177>`_)
+
+
 1.0.0rc29 (2024-01-23)
 ======================
 
diff --git a/changelog/176.bugfix.rst b/changelog/176.bugfix.rst
deleted file mode 100644
index ddef0a5a..00000000
--- a/changelog/176.bugfix.rst
+++ /dev/null
@@ -1,1 +0,0 @@
-The `SSHD` daemon implementation now has a `get_host_keys` method which returns the host keys that can then be written to a ``known_hosts`` file.
diff --git a/changelog/177.trivial.rst b/changelog/177.trivial.rst
deleted file mode 100644
index e7d22477..00000000
--- a/changelog/177.trivial.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-CI pipeline changes:
-
-* Stop testing against Pytest 8.0.0rc2 and instead test against 8.0.x
-* Stop testing against Salt 3005.x
-* Add Salt 3007.x to the versions to test
-* Stop testing against Pytest 7.3.x and add 8.1.x to the list of versions to test


Test patch:
diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml
index 4ff9b0d6..7144dfac 100644
--- a/.github/workflows/testing.yml
+++ b/.github/workflows/testing.yml
@@ -150,7 +150,7 @@ jobs:
         sudo -E nox --force-color -e tests --no-venv -- -vv --system-service tests/
 
     - name: Upload coverage to Codecov
-      uses: codecov/codecov-action@v3
+      uses: codecov/codecov-action@v4
       with:
         token: ${{ secrets.CODECOV_TOKEN }}
         directory: artifacts/
@@ -161,7 +161,7 @@ jobs:
         verbose: true
 
     - name: Upload coverage to Codecov
-      uses: codecov/codecov-action@v3
+      uses: codecov/codecov-action@v4
       with:
         token: ${{ secrets.CODECOV_TOKEN }}
         directory: artifacts/
@@ -241,7 +241,7 @@ jobs:
         nox --force-color -e tests-${{ matrix.python-version }} -- -vv tests/
 
     - name: Upload coverage to Codecov
-      uses: codecov/codecov-action@v3
+      uses: codecov/codecov-action@v4
       with:
         token: ${{ secrets.CODECOV_TOKEN }}
         directory: artifacts/
@@ -252,7 +252,7 @@ jobs:
         verbose: true
 
     - name: Upload coverage to Codecov
-      uses: codecov/codecov-action@v3
+      uses: codecov/codecov-action@v4
       with:
         token: ${{ secrets.CODECOV_TOKEN }}
         directory: artifacts/
@@ -323,7 +323,7 @@ jobs:
         nox --force-color -e tests-${{ matrix.python-version }} -- -vv tests/
 
     - name: Upload coverage to Codecov
-      uses: codecov/codecov-action@v3
+      uses: codecov/codecov-action@v4
       with:
         token: ${{ secrets.CODECOV_TOKEN }}
         directory: artifacts/
@@ -334,7 +334,7 @@ jobs:
         verbose: true
 
     - name: Upload coverage to Codecov
-      uses: codecov/codecov-action@v3
+      uses: codecov/codecov-action@v4
       with:
         token: ${{ secrets.CODECOV_TOKEN }}
         directory: artifacts/
@@ -414,7 +414,7 @@ jobs:
         nox --force-color -e tests-${{ matrix.python-version }} -- -vv --sys-stats tests/
 
     - name: Upload coverage to Codecov
-      uses: codecov/codecov-action@v3
+      uses: codecov/codecov-action@v4
       with:
         token: ${{ secrets.CODECOV_TOKEN }}
         directory: artifacts/
@@ -425,7 +425,7 @@ jobs:
         verbose: true
 
     - name: Upload coverage to Codecov
-      uses: codecov/codecov-action@v3
+      uses: codecov/codecov-action@v4
       with:
         token: ${{ secrets.CODECOV_TOKEN }}
         directory: artifacts/