diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2ae3719..b13a0ba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: - develop # - latest perl: - - '5.40' + - '5.42' - '5.36' - '5.26' runner: @@ -36,6 +36,9 @@ jobs: with: perl-version: ${{ matrix.perl }} + - name: update + run: sudo apt update -y + - name: Install binary dependencies run: | # * These were taken from the installation instruction. @@ -110,3 +113,41 @@ jobs: - name: Test run: | prove -lv t + + build-artifact: + needs: run-tests + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + + - name: update + run: sudo apt update -y + + - name: apt install + run: sudo apt-get install -y build-essential git libmodule-install-perl gettext + + - name: build + run: perl Makefile.PL && make all dist + + - name: Get short SHA + id: short_sha + run: | + if [ "${{ github.event_name }}" == "pull_request" ]; then + echo "SHORT_SHA=$(echo ${{ github.event.pull_request.head.sha }} | cut -c1-7)" >> $GITHUB_ENV + else + echo "SHORT_SHA=$(echo ${{ github.sha }} | cut -c1-7)" >> $GITHUB_ENV + fi + + - name: Get Zonemaster-CLI version + id: version + run: | + result=`grep "use version; our $VERSION" lib/Zonemaster/CLI.pm` + result+='printf $VERSION;' + VERSION=`perl -e "$result"` + echo "version=$VERSION" >> $GITHUB_OUTPUT + + - name: upload artifact + uses: actions/upload-artifact@v4 + with: + name: Zonemaster-CLI-${{ steps.version.outputs.version }}-${{ env.SHORT_SHA }} + path: Zonemaster-CLI-${{ steps.version.outputs.version }}.tar.gz diff --git a/Changes b/Changes index 97f0e6a..14577db 100644 --- a/Changes +++ b/Changes @@ -1,25 +1,32 @@ Release history for Zonemaster component Zonemaster-CLI +v8.0.2 2026-06-29 (part of Zonemaster v2026.1 release) + + [Fixes] + - Updates Swedish translation (#454) + - Creates a fix for Net-IDN-Encode in Dockerfile (#459) + + v8.0.1 2025-12-17 (part of Zonemaster v2025.2 release) [Fixes] -- This version has no changes besides requiring updated - Zonemaster-LDNS and Zonemaster-Engine. + - This version has no changes besides requiring updated + Zonemaster-LDNS and Zonemaster-Engine. v8.0.0 2025-06-26 (part of Zonemaster v2025.1 release) [Breaking changes] -- Makes the --test option more flexible #359 + - Makes the --test option more flexible (#359) [Features] -- Expands the --nstimes option #421 -- Expands the --count option #424 + - Expands the --nstimes option (#421) + - Expands the --count option (#424) [Fixes] -- Updates translations #444, #445 -- Slows down the spinner a bit #419 + - Updates translations (#444, #445) + - Slows down the spinner a bit (#419) v7.2.0 2025-03-04 (part of Zonemaster v2024.2.1 release) @@ -29,12 +36,12 @@ v7.2.0 2025-03-04 (part of Zonemaster v2024.2.1 release) be updated in an upcoming extra release. [Features] -- Adds translation to Slovenian language (#384) + - Adds translation to Slovenian language (#384) [Fixes] -- Updates translations (#418, #425, #415, #422, #414) -- Minor code cleanup (#420) -- Fixes to make early messages not to be lost (#416) + - Updates translations (#418, #425, #415, #422, #414) + - Minor code cleanup (#420) + - Fixes to make early messages not to be lost (#416) v7.1.0 2024-12-09 (part of Zonemaster v2024.2 release) diff --git a/Dockerfile b/Dockerfile index 8c5768c..3269e18 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,19 @@ FROM zonemaster/engine:local AS build RUN apk add --no-cache \ + build-base \ make \ perl-app-cpanminus \ + perl-dev \ perl-json-xs \ perl-lwp-protocol-https \ perl-mojolicious \ perl-test-deep \ perl-test-differences \ + perl-test-nowarnings \ perl-try-tiny \ + && cpanm --notest --no-wget --from https://cpan.metacpan.org/ \ + https://cpan.metacpan.org/authors/id/E/ET/ETHER/Net-IDN-Encode-2.501-TRIAL.tar.gz \ && cpanm --notest --no-wget --from https://cpan.metacpan.org/ \ JSON::Validator diff --git a/Makefile.PL b/Makefile.PL index 6ff527d..1cd2069 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -23,8 +23,8 @@ requires( 'JSON::XS' => 0, 'Locale::TextDomain' => 1.23, 'Try::Tiny' => 0, - 'Zonemaster::LDNS' => 5.000001, # v5.0.1 - 'Zonemaster::Engine' => 8.001000, # v8.1.0 + 'Zonemaster::LDNS' => 5.001000, # v5.1.0 + 'Zonemaster::Engine' => 9.000000, # v9.0.0 ); test_requires( diff --git a/README.md b/README.md index 9f370cf..87600ec 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,15 @@ Additional end-user documentation is available in the [USING] document. When developing Zonemaster-CLI, refer to the [development documentation]. +## CI artifact + +A tarball (`Zonemaster-CLI-.tar.gz`) is built and uploaded as a GitHub Actions artifact on every push and pull request. This artifact can be useful for release testing and PR review. +To download it: +1. Go to the [Actions tab](https://github.com/zonemaster/zonemaster-cli/actions) of the repository. +2. Select a workflow run (e.g. for a specific PR or branch). +3. Scroll to the bottom of the run summary to the **Artifacts** section. +4. Download the artifact named `Zonemaster-CLI--`. +The artifact name includes the module version and the first 7 characters of the commit SHA. ## Participation, Contact and Bug reporting diff --git a/lib/Zonemaster/CLI.pm b/lib/Zonemaster/CLI.pm index 86c67a2..fc06df5 100644 --- a/lib/Zonemaster/CLI.pm +++ b/lib/Zonemaster/CLI.pm @@ -11,7 +11,7 @@ use v5.26; use warnings; -use version; our $VERSION = version->declare( "v8.0.1" ); +use version; our $VERSION = version->declare( "v8.0.2" ); use Locale::TextDomain 'Zonemaster-CLI'; diff --git a/share/sv.po b/share/sv.po index df3dd1f..f15f02b 100644 --- a/share/sv.po +++ b/share/sv.po @@ -2,9 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: 0.0.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-12 10:17+0100\n" -"PO-Revision-Date: 2023-05-31 08:42+0000\n" -"Last-Translator: mattias.paivarinta@iis.se\n" +"POT-Creation-Date: 2026-06-09 13:07+0000\n" +"PO-Revision-Date: 2026-03-02 22:56+0000\n" "Language-Team: Zonemaster Team\n" "Language: sv\n" "MIME-Version: 1.0\n" @@ -28,7 +27,7 @@ msgstr "" "– finns den installerad på det här systemet?" msgid "Warning: deprecated --encoding, simply remove it from your usage." -msgstr "" +msgstr "Varning: föråldrat \"--encoding\", sluta att använda." msgid "Error: --json-stream and --no-json cannot be used together." msgstr "Fel: --json-stream och --no-json kan inte användas tillsammans." @@ -54,43 +53,19 @@ msgstr "Laddar profil från {path}." #, perl-brace-format msgid "Error: invalid value for --sourceaddr4: {reason}" -msgstr "" +msgstr "Fel: otillåtet värde för \"--sourceaddr4\": {reason}" #, perl-brace-format msgid "Error: invalid value for --sourceaddr6: {reason}" -msgstr "" +msgstr "Fel: otillåtet värde för \"--sourceaddr6\": {reason}" #, perl-brace-format -msgid "" -"Error: Invalid input '{cli_arg}' in --test. There must be at most one slash " -"('/') character." -msgstr "" - -#, perl-brace-format -msgid "" -"Error: Unrecognized test case '{testcase}' in --test. Use --list-tests for a " -"list of valid choices." -msgstr "" - -#, perl-brace-format -msgid "" -"Error: Unrecognized test module '{module}' in --test. Use --list-tests for a " -"list of valid choices." -msgstr "" - -#, perl-brace-format -msgid "Error: Invalid input '{cli_arg}' in --test." -msgstr "" - -#, perl-brace-format -msgid "" -"Notice: Engine does not have test case '{testcase}' enabled in the profile. " -"Forcing..." -msgstr "" +msgid "Error: unrecognized term '{term}' in --test." +msgstr "Fel: okänd term \"{term}\" för \"--test\"." #, perl-brace-format msgid "Failed to recognize stop level '{level}'." -msgstr "Kände inte igen avslutsnivån '{level}'." +msgstr "Kände inte igen avslutsnivån \"{level}\"." msgid "" "--level must be one of CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG, DEBUG2 " @@ -103,15 +78,15 @@ msgid "" "Only one domain can be given for testing. Did you forget to prepend an " "option with '--