diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 431c496c0..dea31905b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -24,10 +24,9 @@ assignees: FWDekker **Version information** - - Randomness version [e.g. 3.3.1]: - - IDE version [e.g. IntelliJ Community 2023.3.3]: - - Operating system [e.g. Windows 11, Ubuntu 22.04.3, macOS 14.2.1]: - - Java version [e.g. 17.0.9, 21.0.1]: + - Randomness version [e.g. 3.3.2]: + - IDE version [e.g. IntelliJ Community 2024.2.3]: + - Operating system [e.g. Windows 11, Ubuntu 24.04.1, macOS 15.0]: **Additional context** diff --git a/.github/RELEASE_CHECKLIST.md b/.github/RELEASE_CHECKLIST.md index cf2249fa2..dfcfd6e77 100644 --- a/.github/RELEASE_CHECKLIST.md +++ b/.github/RELEASE_CHECKLIST.md @@ -24,7 +24,9 @@ 2. "Optimize Transparency" with 2% fuzz 3. "Lossy GIF" with compression level 30 * Ensure documentation generates without errors. - After the release, run the `cd.yml` workflow to update the `gh-pages` branch. + After the release, the [`cd.yml` workflow](https://github.com/FWDekker/intellij-randomness/actions/workflows/cd.yml) + should automatically update the `gh-pages` branch. + Check that the build action does not fail! ## Verification * Run tests and static analysis one more time. diff --git a/.github/SECURITY.md b/.github/SECURITY.md index 08c454731..7545ff6d0 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -13,7 +13,7 @@ supported and supplied with security patches. ## Reporting a vulnerability To report a vulnerability in Randomness, please use -[GitHub's vulnerability reporting feature](https://github.com/FWDekker/mommy/security/advisories/new). +[GitHub's vulnerability reporting feature](https://github.com/FWDekker/intellij-randomness/security/advisories/new). You will be contacted as soon as possible. You will be thanked publicly for reporting the vulnerability, unless you indicate that you prefer to be thanked anonymously. diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 6560deb41..2ee6d2c11 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -20,7 +20,9 @@ jobs: with: ref: gh-pages path: gh-pages - # Required to push updated documentation to repository + # Required to push updated documentation to repository. + # If you get "Error: fatal: could not read Username for 'https://github.com': terminal prompts disabled", then + # the token has probably expired. token: ${{ secrets.personal_access_token }} - name: Set up Java @@ -29,9 +31,9 @@ jobs: distribution: 'temurin' java-version: '17' - name: Set up Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 + working-directory: main/ with: - build-root-directory: main/ add-job-summary: on-failure - name: Extract version number diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b2079d36d..67370ecb4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,11 +3,13 @@ name: CI on: push: paths-ignore: + - 'CHANGELOG.md' - 'README.md' - '.github/**.md' - '.github/img/**' pull_request: paths-ignore: + - 'CHANGELOG.md' - 'README.md' - '.github/**.md' - '.github/img/**' @@ -46,7 +48,7 @@ jobs: distribution: 'temurin' java-version: '17' - name: Set up Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 with: add-job-summary: on-failure - name: Run tests @@ -63,7 +65,7 @@ jobs: distribution: 'temurin' java-version: '17' - name: Set up Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 with: add-job-summary: on-failure - name: Run tests diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ea933fed..7811bafbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,11 @@ # Changelog -## [9.9.9-unreleased] +## 3.3.2 -- 2024-09-28 ### Added * Added even more debug info for future reports relating to issue [#R1](https://github.com/FWDekkerBot/intellij-randomness-issues/issues/1). ### Changed * Changed icon instantiation to be more in line with guidelines, hopefully fixing [#R13](https://github.com/FWDekkerBot/intellij-randomness-issues/issues/13). +* Updated various dependencies, especially those related to tooling. ## 3.3.1 -- 2024-05-06 diff --git a/README.md b/README.md index ec7e29d03..823742b74 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,7 @@ $ gradlew buildPlugin # Build an installable zip of the plugin $ gradlew buildPlugin -Pbuild.hotswap # Same as above, but allow hot-swapping the plugin during development $ gradlew signPlugin # Sign built plugin ``` + Signing the plugin requires specific environment variables to be set to refer to appropriate key files. See [Plugin Signing](https://plugins.jetbrains.com/docs/intellij/plugin-signing.html) for more information. @@ -109,23 +110,35 @@ $ gradlew runPluginVerifier # Check for compatibility issues #### 🏷️ Tagging and filtering tests [Kotest tests can be tagged](https://kotest.io/docs/framework/tags.html) to allow selectively running tests. +Simply run Gradle with argument `-Pkotest.tags="X"` to run only tests tagged with tag `X`. The tags for Randomness are statically defined in [`Tags`](https://github.com/FWDekker/intellij-randomness/blob/main/src/test/kotlin/com/fwdekker/randomness/testhelpers/Tags.kt). +If you want to debug a test, you can tag it with the `Focus` tag to ensure only those tests run. +Alternatively, prefix the description with the string `f:`. +Make sure you remove the tag afterwards! -Tag an entire test class by adding `tags(...)` to the class definition, or tag an individual test `context` by +You can tag an entire test class by adding `tags(...)` to the class definition, or tag an individual test `context` by writing `context("foo").config(tags = setOf(...)) {`. -It is not possible to tag an individual `test` due to limitations in Kotest. - -To run only one `context` in some test class `X`, prefix the `context`'s name with `f:` and run with `--tests X`. -The prefix `f:` filters out other `context`s in that test class, and `--tests X` filters out other test classes. -Alternatively, tag the desired `context` with the `Focus` tag and run with `-Pkotest.tags="Focus"` to filter by that -tag. +Due to limitations in Kotest, you can only tag the outer level of `context`s; +you cannot tag a nested `context` or an individual `test`. +This is also true for prefixing with `f:`. ### 📚 Documentation ```bash -$ gradlew dokkaHtml # Generate documentation +$ gradlew dokkaHtml # Generate documentation +$ gradlew dokkaHtml -Pdokka.pagesDir=/foo # Generate linked documentation ``` +Whenever a release is created on GitHub, [GitHub Actions generates new +documentation](https://github.com/FWDekker/intellij-randomness/actions/workflows/cd.yml), after which this is deployed +to [GitHub Pages](https://fwdekker.github.io/intellij-randomness/). + +Documentation pages link to each other using a version dropdown menu. +Simply running `gradlew dokkaHtml` does not generate a dropdown menu, because Dokka is not automatically aware of all +previous versions. +To link the versions together, check out the `gh-branch` of this repository in a separate directory, and point +`dokka.pagesDir` to that directory. + ### 🖼 Icons The icons used by the plugin are found in [the file `icons.sketch`](.github/img/icons.sketch). You can open this file with [Sketch](https://www.sketch.com/) (macOS), [Lunacy](https://icons8.com/lunacy) (Windows), or