From d95e60b61e0d4476394ba4e4cdbf8e78eaa752a2 Mon Sep 17 00:00:00 2001 From: Philipp Martens Date: Wed, 15 Jan 2025 13:53:17 +0100 Subject: [PATCH 1/8] add CONTRIBUTORS.md file --- CONTRIBUTORS.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 CONTRIBUTORS.md diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md new file mode 100644 index 0000000..b23b623 --- /dev/null +++ b/CONTRIBUTORS.md @@ -0,0 +1,20 @@ + + +# Contributors (sorted alphabetically) + +- **[Adrian Braemer](https://github.com/abraemer)** () +- **[Alexander zur Bonsen](https://github.com/alexzurbonsen)** +- **[Dominikus Hellgartner](https://github.com/Hellgartner)** () +- **[Jakob Schubert](https://github.com/JakobSchubert)** +- **[Max Huneshagen](https://github.com/MaxHun)** +- **[Maxim Stykow](https://github.com/mstykow)** +- **[Maximilian Huber](https://github.com/maxhbr)** () +- **[Meret Behrens](https://github.com/meretp)** +- **[Philipp Martens](https://github.com/PhilippMa)** () + +[Contributors list on GitHub](https://github.com/opossum-tool/OpossumUI/contributors). \ No newline at end of file From 029498fa2f1147ec77fb097c8e5da10d5a374b58 Mon Sep 17 00:00:00 2001 From: Philipp Martens Date: Wed, 15 Jan 2025 13:58:44 +0100 Subject: [PATCH 2/8] append release procedure to README.md --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index cd767c4..29912e9 100644 --- a/README.md +++ b/README.md @@ -82,3 +82,13 @@ uv run python build.py opossum-file ``` This will create a self-contained executable file `dist/opossum-file` (`dist/opossum-file.exe` on Windows). + +# Creating a new release + +Note: You will need the "maintain" role in order to create a new release. + +1. Go to the [GitHub releases page](https://github.com/opossum-tool/opossum.lib.py/releases/new) and use the UI to create a new release. +2. The tag should have the format "opossum-file-$YEAR-$MONTH-$DAY" (in case of an Nth release on the same day "opossum-file-$YEAR-$MONTH-$DAY.N"). +3. The title of the release equals the tag. +4. Click the button "Generate release notes" to get the description for the release. Then, remove all the contributions from @renovate which are just dependency upgrades. +5. Click "Publish release". This will trigger the CI/CD pipeline which will build the release for all three OSs and upload the artifacts to the release. \ No newline at end of file From f7371a2eacefa305620527dffaf87e58fe6d1a4d Mon Sep 17 00:00:00 2001 From: Philipp Martens Date: Wed, 15 Jan 2025 14:30:15 +0100 Subject: [PATCH 3/8] add release badge to README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 29912e9..8c3b803 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ SPDX-License-Identifier: Apache-2.0 # opossum.lib.py [![REUSE status](https://api.reuse.software/badge/git.fsfe.org/reuse/api)](https://api.reuse.software/info/git.fsfe.org/reuse/api) +[![GitHub release (latest by date)](https://img.shields.io/github/v/release/opossum-tool/opossum.lib.py)](https://github.com/opossum-tool/opossum.lib.py/releases/latest) ![Lint and test](https://github.com/opossum-tool/opossum.lib.py/actions/workflows/lint_and_run_tests.yml/badge.svg) ![build workflow](https://github.com/opossum-tool/opossum.lib.py/actions/workflows/build-and-e2e-test.yml/badge.svg) From 694d341271e7b75b03bff27ff03c0599398ba784 Mon Sep 17 00:00:00 2001 From: Philipp Martens Date: Wed, 15 Jan 2025 14:31:32 +0100 Subject: [PATCH 4/8] add publish release workflow * we want to automatically build and publish executable assets on release --- .github/workflows/publish-release.yml | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/workflows/publish-release.yml diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml new file mode 100644 index 0000000..ad7871e --- /dev/null +++ b/.github/workflows/publish-release.yml @@ -0,0 +1,47 @@ +# SPDX-FileCopyrightText: Meta Platforms, Inc. and its affiliates +# SPDX-FileCopyrightText: TNG Technology Consulting GmbH +# +# SPDX-License-Identifier: Apache-2.0 + +name: Publish release + +on: + release: + types: [published] + +jobs: + publish-release: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + python-version: ['3.13'] + include: + - os: ubuntu-latest + asset-name: opossum-file-for-ubuntu + - os: macos-latest + asset-name: opossum-file-for-mac + - os: windows-latest + asset-name: opossum-file-for-windows.exe + + steps: + - uses: actions/checkout@v4 + + - name: Install uv and set the python version + uses: astral-sh/setup-uv@v5 + with: + python-version: ${{ matrix.python-version }} + enable-cache: true + cache-dependency-glob: "uv.lock" + + - name: Install the project + run: uv sync --locked + + - name: Run build script + run: uv run python build.py ${{ matrix.asset-name }} + + - name: Upload release asset + uses: softprops/action-gh-release@v2 + with: + files: ${{ matrix.asset-name }} From 621a80d216ef75fab91171a3b39305ebc0e1a770 Mon Sep 17 00:00:00 2001 From: Philipp Martens Date: Wed, 15 Jan 2025 14:51:29 +0100 Subject: [PATCH 5/8] fix file path for asset upload --- .github/workflows/publish-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index ad7871e..8c68ec2 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -44,4 +44,4 @@ jobs: - name: Upload release asset uses: softprops/action-gh-release@v2 with: - files: ${{ matrix.asset-name }} + files: dist/${{ matrix.asset-name }} From 05ae0d2be3193a653e864b121b411d966829ddb1 Mon Sep 17 00:00:00 2001 From: Philipp Martens Date: Wed, 15 Jan 2025 15:38:51 +0100 Subject: [PATCH 6/8] change license header in CONTRIBUTORS.md * was wrongly copied from OpossumUI * changed to match the license headers used in opossum.lib.py repo --- CONTRIBUTORS.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index b23b623..193c621 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1,8 +1,7 @@ # Contributors (sorted alphabetically) From d3f9ce003529034ade93034370c979db9f36df25 Mon Sep 17 00:00:00 2001 From: Philipp Martens Date: Thu, 16 Jan 2025 14:27:25 +0100 Subject: [PATCH 7/8] add upload of README.md to release workflow * the README.md file is currently our closest equivalent to a user guide, so it should be available with our release assets --- .github/workflows/publish-release.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 8c68ec2..c60aaf8 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -45,3 +45,8 @@ jobs: uses: softprops/action-gh-release@v2 with: files: dist/${{ matrix.asset-name }} + + - name: Upload readme + uses: softprops/action-gh-release@v2 + with: + files: README.md From 923e8761708a258793c875a035713c639d1a2573 Mon Sep 17 00:00:00 2001 From: Philipp Martens Date: Thu, 16 Jan 2025 14:29:29 +0100 Subject: [PATCH 8/8] add missing contributor to CONTRIBUTORS file --- CONTRIBUTORS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 193c621..f4dc8bb 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 - **[Adrian Braemer](https://github.com/abraemer)** () - **[Alexander zur Bonsen](https://github.com/alexzurbonsen)** +- **[Benedikt Richter](https://github.com/benedikt-richter)** () - **[Dominikus Hellgartner](https://github.com/Hellgartner)** () - **[Jakob Schubert](https://github.com/JakobSchubert)** - **[Max Huneshagen](https://github.com/MaxHun)**