Skip to content

Latest commit

 

History

History
338 lines (250 loc) · 15.5 KB

File metadata and controls

338 lines (250 loc) · 15.5 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to PEP 440 and uses Semantic Versioning.

[0.21.0]

Added

  • A reusable-pypi workflow to build source and binary distributions of Python package and distribute them on PyPI.org.

[0.20.0]

Added

  • The reusable-docker-ecr.yml workflow now accepts a file input for specifying the name of the dockerfile to build.

Changed

  • The update-examples.yml workflow no longer used the reusable-git-object-name.yml workflow.

  • The reusable-docker-ecr.yml and reusable-docker-ghcr.yml workflows have changed substantially! These workflows are now version-centric instead of branch-centric and their usage has changed. Please make these changes to any calling workflow:

     on:
       push:
         branches:
    -      - main
           - develop
    +    tags:
    +      - 'v*'
       pull_request:
         branches:
           - main
           - develop

    and:

         uses: ASFHyP3/actions/.github/workflows/reusable-docker-ghcr.yml@v0.19.0
         ...
         with:
    -      release_branch: main
    -      develop_branch: develop
           ...

    For current usage, see the README and for more details about these changes, see #288.

Fixed

  • latest tag will now be applied to release-tagged Docker images correctly. Fixes #278

Removed

  • The reusable-git-object-name.yml workflow has been removed. We recommend using the reusable-version-info.yml workflow instead.

[0.19.0]

Added

[0.18.1]

Added

  • Added permissions field for every job in the README examples to address #220

Changed

  • Changed the default value for the reusable-release.yml workflow's sync_pr_label input from tools-bot to bumpless.

Fixed

  • Removed unnecessary actions/checkout step from reusable-release-checklist-comment.yml so that it does not require the contents: read permission for private repos.
  • Replaced the conda_env_name input parameter with python_version for the reusable-version-info job in the docker build README examples.
  • The use or requirements of GitHub issue/pull request labels in the reusable workflows are now described in the README.

[0.18.0]

Added

Changed

  • Updated our recommended ruff settings to suppress type annotation warnings for dummy function parameters (e.g. _) and ignore all D1 rules (missing docstring warnings) for tests/:

    +[tool.ruff.lint.flake8-annotations]
    +suppress-dummy-args = true
    +
     [tool.ruff.lint.extend-per-file-ignores]
    -"tests/*" = ["D100", "D103", "ANN"]
    +"tests/*" = ["D1", "ANN"]

Fixed

[0.17.1]

Fixed

  • Fixed ruff: command not found bug in reusable-ruff, introduced by the previous release.

[0.17.0]

Changed

  • The reusable-ruff workflow now runs inside a mamba environment and assumes the presence of an environment.yml file.

  • We now recommend pinning to an exact version for both ruff and mypy in your project dependencies, to avoid unexpected static analysis errors due to unpinned dependency upgrades.

  • We now recommend adding the following lines to pyproject.toml, to bring our recommended ruff settings in line with hyp3-cookiecutter:

    [tool.ruff.lint.extend-per-file-ignores]
    "tests/*" = ["D100", "D103", "ANN"]

[0.16.0]

Changed

  • The reusable-ruff workflow will now run the ruff format step whether or not the ruff check step failed.

[0.15.0]

Removed

  • The reusable-mypy workflow no longer passes any optional arguments to the mypy command. This makes it easier to run mypy locally, because the command is just:

    mypy .
    

    If you want to preserve the removed options for your project, you must now add them to [tool.mypy] in pyproject.toml:

    install_types = true
    non_interactive = true
    pretty = true
    ignore_missing_imports = true

    Note that we discourage enabling ignore_missing_imports as a global option (see #225). You can always find our currently recommended configuration options in the README.

[0.14.0]

Added

  • reusable-mypy reusable workflow for performing static type checking with mypy.
  • reusable-ruff now prints the suggested commands for automatically fixing errors.

Removed

  • reusable-flake8.yml has been removed. We recommend reusable-ruff instead.

[0.13.2]

Fixed

  • Fix a bug in which reusable-ruff errors did not cause the action to fail.

[0.13.1]

Changed

  • Reverts the addition of --select I to reusable-ruff, as this option is already included in the recommended pyproject.toml settings given in the README.

[0.13.0]

Changed

Fixed

[0.12.0]

Added

  • Releases of ASFHyP3/actions will now trigger updates to the ASFHyP3/hyp3-cookiecutter
  • Optional ability to specify the name of the dockerfile to build with the reusable-docker-ghcr action.

[0.11.2]

Changed

[0.11.1]

Fixed

  • Modified the reusable-changelog-check workflow to remove its dependency on a third-party action. The workflow behavior should remain unchanged except that applying the bumpless label now results in the workflow being skipped rather than succeeding. Fixes #156
    • When upgrading this reusable action in your repository, remove the following lines from the calling workflow:
      -    secrets:
      -      USER_TOKEN: ${{ secrets.GITHUB_TOKEN }}

[0.11.0]

Fixed

  • update-examples workflow will now strip distance and hash (longest -* match) from the input or calculated version numbers.
  • reusable-secrets-analysis.yml now uses the Trufflehog Github Action to scan for only verified secrets, which should reduce or eliminate false positives.

Removed

[0.10.0]

Added

  • Added items to the release checklist comment to remind developer to verify changes in test deployment.

Changed

  • update-examples workflow is now triggerable with a workflow_dispatch event

[0.9.0]

Added

  • reusable-ruff reusable workflow for perform linting and static analysis with Ruff.
  • update-examples workflow to keep the pinned version number in the README examples up to date.

[0.8.3]

Added

  • reusable-pytest now tests Python 3.9--3.12 by default.

[0.8.2]

Changed

  • reusable-pytest and reusable-version-info now use setup-micromamba rather than provision-with-micromamba which has been deprecated.

[0.8.1]

Added

[0.8.0]

Added

[0.7.1]

Fixed

[0.7.0]

Changed

  • conda environments are now provisioned with micromamba in all reusable workflows
  • reusable-pytest.yml and reusable-pytest.yml no longer accept a conda_env_name input and will use the environment named in the calling repo's environment.yml

[0.6.0]

Changed

Fixed

  • All uses of the GitHub Action set-output command have been upgraded, due to forthcoming depreciation

[0.5.0]

Added

Changed

  • reusable-pytest.yml now accepts (only) a JSON list of python version strings and will setup a matrix of test jobs for multiple python versions. python_version usage has changed from
      python_version: "3.9"            # Optional; default shown  
    to
        # Optional; default shown
        python_versions: >-
          ["3.8", "3.9", "3.10"]
    Note: A single python version can be specified like ["3.9"].

Removed

  • Removed support for secret scanning with gitleaks-action, which now requires a paid license to use the latest version.

Added

Fixed

Removed

Added

Deprecated

These actions are being depreciated and will be removed in the next release:

Added

  • A trufflehog action that looks for secrets in the git commit history back to the last tag
  • A bump-version action that creates a new tag for a repository based on Pull Request labels using bump2version