diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 006a6d6..95bf4f0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,9 +12,6 @@ name: Build -env: - FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true' - on: push: branches: [main] @@ -35,17 +32,17 @@ jobs: config: [x86-ansi, x86-unicode, x64-unicode] steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive - name: Setup Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: '3.11' - name: Setup MSBuild - uses: microsoft/setup-msbuild@v2 + uses: microsoft/setup-msbuild@v3 - name: Read VERSION id: version @@ -67,7 +64,7 @@ jobs: Copy-Item $src $dst - name: Upload DLL - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: ${{ github.event.repository.name }}-${{ steps.version.outputs.version }}-${{ matrix.config }} path: dist/** @@ -82,12 +79,12 @@ jobs: config: [x86-ansi, x86-unicode, x64-unicode] steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive - name: Setup Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: '3.11' @@ -122,7 +119,7 @@ jobs: cp "plugins/$dir/nsis7z.dll" "$dst/" - name: Upload DLL - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: ${{ github.event.repository.name }}-${{ steps.version_linux.outputs.version }}-${{ matrix.config }}-linux path: dist/** diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b3ea95a..29281ec 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,9 +5,6 @@ name: Release -env: - FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true' - on: push: tags: ['v*'] @@ -28,15 +25,15 @@ jobs: matrix: config: [x86-ansi, x86-unicode, x64-unicode] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: submodules: recursive - - uses: actions/setup-python@v5 + - uses: actions/setup-python@v6 with: python-version: '3.11' - - uses: microsoft/setup-msbuild@v2 + - uses: microsoft/setup-msbuild@v3 - name: Build ${{ matrix.config }} run: python build_plugin.py --config ${{ matrix.config }} @@ -66,7 +63,7 @@ jobs: if (Test-Path "examples") { Copy-Item "examples" $stage -Recurse } Compress-Archive -Path "$stage/*" -DestinationPath "$name.zip" -Force - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: pkg-${{ matrix.config }} path: '*.zip' @@ -78,11 +75,11 @@ jobs: matrix: config: [x86-ansi, x86-unicode, x64-unicode] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: submodules: recursive - - uses: actions/setup-python@v5 + - uses: actions/setup-python@v6 with: python-version: '3.11' @@ -110,23 +107,36 @@ jobs: mkdir -p "$dst" cp "plugins/$dir/nsis7z.dll" "$dst/" - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: linux-build-${{ matrix.config }} path: dist/** if-no-files-found: error - publish: - needs: [build, build-linux] + publish: needs: [build, build-linux] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v8 with: path: artifacts merge-multiple: true + - name: Extract changelog section + run: | + tag="${{ github.ref_name }}" + version="${tag#v}" + awk -v ver="[$version]" ' + /^## / && index($0, ver) { found=1; next } + found && /^## / { exit } + found { print } + ' CHANGELOG.md > release_body.md + # Append Gitea notice + echo "" >> release_body.md + echo "---" >> release_body.md + echo "_Repository primario: vedi link Gitea nel README. Il mirror GitHub è generato automaticamente._" >> release_body.md + - name: SHA256SUMS run: | cd artifacts @@ -134,14 +144,9 @@ jobs: cat SHA256SUMS.txt - name: Create GitHub Release - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v3 with: files: | artifacts/*.zip artifacts/SHA256SUMS.txt - generate_release_notes: true - body: | - **Repository primario**: vedi link Gitea nel README. - - Il mirror GitHub è generato automaticamente dal repo Gitea (sorgente di verità). - Per issue e PR aprire ticket sul repository primario Gitea. + body_path: release_body.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 951c68e..282559e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,17 @@ e il progetto aderisce al [Semantic Versioning](https://semver.org/spec/v2.0.0.h ### Changed - GitHub Actions workflows now opt into Node 24 for JavaScript-based actions to avoid Node 20 deprecation warnings +## [2.2.0] — 2026-05-02 + +### Added +- Linux MinGW-w64 cross-build support in `build_plugin.py` via `--host linux` +- `tools/linux/build_plugin_linux.py` for standalone Linux builds +- Color output and progress spinner in all legacy build scripts + +### Changed +- `build_plugin.py` now supports both Windows (MSBuild) and Linux (MinGW-w64) targets +- Windows build-script f-string fixes + ## [2.1.0] — 2026-04-30 ### Added @@ -46,6 +57,7 @@ e il progetto aderisce al [Semantic Versioning](https://semver.org/spec/v2.0.0.h [Unreleased]: https://gitea.emulab.it/Simone/nsis-plugin-ns7zip/compare/v2.2.1...HEAD [2.2.1]: https://gitea.emulab.it/Simone/nsis-plugin-ns7zip/compare/v2.2.0...v2.2.1 +[2.2.0]: https://gitea.emulab.it/Simone/nsis-plugin-ns7zip/compare/v2.1.0...v2.2.0 [2.1.0]: https://gitea.emulab.it/Simone/nsis-plugin-ns7zip/compare/v2.0.1...v2.1.0 [2.0.1]: https://gitea.emulab.it/Simone/nsis-plugin-ns7zip/compare/v2.0.0...v2.0.1 [2.0.0]: https://gitea.emulab.it/Simone/nsis-plugin-ns7zip/releases/tag/v2.0.0