diff --git a/.github/workflows/reusable-mqt-core-update.yml b/.github/workflows/reusable-mqt-core-update.yml index 56dc652..aa5827f 100644 --- a/.github/workflows/reusable-mqt-core-update.yml +++ b/.github/workflows/reusable-mqt-core-update.yml @@ -11,10 +11,17 @@ on: workflow_call: inputs: update-to-head: - description: "Whether to update to the latest commit on the main branch or the latest release" + description: Whether to update to the latest commit on the main branch or the latest release default: false type: boolean required: false + secrets: + APP_ID: + description: ID of the GitHub App with permission to create and update pull requests + required: true + APP_PRIVATE_KEY: + description: Private key of the GitHub App with permission to create and update pull requests + required: true jobs: update-mqt-core: name: ⬆️ Update MQT Core @@ -23,6 +30,12 @@ jobs: contents: write pull-requests: write steps: + # Create a GitHub App token + - id: create-token + uses: actions/create-github-app-token@v1 + with: + app-id: ${{ secrets.APP_ID }} + private-key: ${{ secrets.APP_PRIVATE_KEY }} # Check out the repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: @@ -147,17 +160,13 @@ jobs: if: steps.compare-versions.outputs.update == 'true' uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7 with: - token: ${{ github.token }} + token: ${{ steps.create-token.outputs.token }} commit-message: "⬆️ Update `munich-quantum-toolkit/core`" title: "⬆️ Update `munich-quantum-toolkit/core`" body: | This pull request updates the [munich-quantum-toolkit/core](https://github.com/munich-quantum-toolkit/core) dependency from munich-quantum-toolkit/core@${{ steps.get-used-version.outputs.revision }} (version v${{ steps.get-used-version.outputs.version }}) to munich-quantum-toolkit/core@${{ steps.determine-new-version-and-revision.outputs.new_revision }} (version v${{ steps.determine-new-version-and-revision.outputs.new_version }}). **Full Changelog**: https://github.com/munich-quantum-toolkit/core/compare/${{ steps.get-used-version.outputs.revision }}...${{ steps.determine-new-version-and-revision.outputs.new_revision }} - - > [!NOTE] - > This pull request was automatically created by a GitHub Actions workflow, which does not have permissions to trigger other workflows. - > Manually close and reopen this pull request to trigger the dependent workflows. branch: "update-mqt-core-${{ steps.determine-new-version-and-revision.outputs.new_revision }}" labels: "dependencies,c++" base: "main" diff --git a/CHANGELOG.md b/CHANGELOG.md index 124cd31..9de964d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,12 +9,17 @@ This project adheres to [Semantic Versioning], with the exception that minor rel ## [Unreleased] +## [1.12.0] - 2025-07-08 + +_If you are upgrading: please see [`UPGRADING.md`](UPGRADING.md#1120)._ + ### Added - 🐍🚨 Add support for running Astral's `ty` type checker as part of the `reusable-python-linter.yml` workflow ([#128]) ([**@burgholzer**]) ### Changed +- 👷 Use GitHub App token for workflow that updates MQT Core ([#142]) ([**@denialhaag**]) - 🐍🚨 Update `reusable-python-linter.yml` to allow disabling the `mypy` type checker ([#128]) ([**@burgholzer**]) ## [1.11.0] - 2025-06-15 @@ -57,7 +62,8 @@ _📚 Refer to the [GitHub Release Notes] for previous changelogs._ -[unreleased]: https://github.com/munich-quantum-toolkit/workflows/compare/v1.11.0...HEAD +[unreleased]: https://github.com/munich-quantum-toolkit/workflows/compare/v1.12.0...HEAD +[1.12.0]: https://github.com/munich-quantum-toolkit/workflows/releases/tag/v1.12.0 [1.11.0]: https://github.com/munich-quantum-toolkit/workflows/releases/tag/v1.11.0 [1.10.0]: https://github.com/munich-quantum-toolkit/workflows/releases/tag/v1.10.0 [1.9.0]: https://github.com/munich-quantum-toolkit/workflows/releases/tag/v1.9.0 @@ -65,6 +71,7 @@ _📚 Refer to the [GitHub Release Notes] for previous changelogs._ +[#142]: https://github.com/munich-quantum-toolkit/workflows/pull/142 [#126]: https://github.com/munich-quantum-toolkit/workflows/pull/126 [#119]: https://github.com/munich-quantum-toolkit/workflows/pull/119 [#114]: https://github.com/munich-quantum-toolkit/workflows/pull/114 @@ -77,6 +84,7 @@ _📚 Refer to the [GitHub Release Notes] for previous changelogs._ [**@burgholzer**]: https://github.com/burgholzer [**@ystade**]: https://github.com/ystade +[**@denialhaag**]: https://github.com/denialhaag diff --git a/UPGRADING.md b/UPGRADING.md index 7e13e3c..15759de 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -4,6 +4,8 @@ This document describes breaking changes and how to upgrade. For a complete list ## [Unreleased] +## [1.12.0] + This release adds support for running Astral's `ty` type checker as part of the `reusable-python-linter.yml` workflow. To enable this, you can set the `run-ty` option to `true` in the workflow configuration. Additionally, the `mypy` type checker can now be disabled by setting the `run-mypy` option to `false`. @@ -16,6 +18,23 @@ Project may want to add `ty` to their development dependencies to ensure that th uv add --dev ty ``` +Furthermore, this release changes the `reusable-mqt-core-update.yml` workflow to use a GitHub App token for creating and editing pull requests. +This token has permissions to trigger workflows in the created pull requests, which is not the case for the default GitHub token used previously. +When using the `reusable-mqt-core-update.yml` workflow, it is now necessary to pass the `APP_ID` and `APP_PRIVATE_KEY` as secrets. + +```yaml +update-mqt-core: + name: ⬆️ Update MQT Core + uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-mqt-core-update.yml@v1.12 + with: + update-to-head: ${{ github.event.inputs.update-to-head == 'true' }} + secrets: + APP_ID: ${{ secrets.APP_ID }} + APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} +``` + +Both variables are stored as organization-wide secrets and do not need to be explicitly added to each repository. + ## [1.11.0] This release adapts the file filter for the change detection to the new project structure regarding the Python bindings. @@ -75,7 +94,8 @@ While initial testing has shown minimal impact, this is still a breaking change. For example, it seems like using Ninja as a generator will lead to the wrong compiler being used. Consider removing any `-G Ninja` flags from your CMake invocations under Windows. -[unreleased]: https://github.com/munich-quantum-toolkit/workflows/compare/v1.11.0...HEAD +[unreleased]: https://github.com/munich-quantum-toolkit/workflows/compare/v1.12.0...HEAD +[1.12.0]: https://github.com/munich-quantum-toolkit/workflows/compare/v1.11.0...v1.12.0 [1.11.0]: https://github.com/munich-quantum-toolkit/workflows/compare/v1.10.0...v1.11.0 [1.10.0]: https://github.com/munich-quantum-toolkit/workflows/compare/v1.9.0...v1.10.0 [1.9.0]: https://github.com/munich-quantum-toolkit/workflows/compare/v1.8.1...v1.9.0