sling-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Klco <daniel.k...@gmail.com>
Subject Re: Release Validator Docker Image
Date Fri, 06 Sep 2019 16:01:24 GMT
Thanks Radu,

I've been looking into this on and off over the last few days and I'm still
struggling to see the value of re-implementing all of this in Java instead
of relying on a simple series of scripts. Sure it's possible to do GPG key
and Hash validation, but I'd still need to write a scraper to download the
artifacts from Nexus and then all of the code around these other functions,
each of which are hundreds of lines of Java code vs a single line in BASH.

What would you think about flipping this the other way around? Instead of
re-implementing in Java, make the docker image more flexible and use
scripts to decide which function to invoke?

I've put together a quick example of what I'm thinking here:

https://github.com/apache/sling-org-apache-sling-committer-cli/tree/bash-validate

On Tue, Aug 27, 2019 at 3:31 AM Radu Cotescu <radu@apache.org> wrote:

> Hi Daniel,
>
> > On 23 Aug 2019, at 14:59, Daniel Klco <daniel.klco@gmail.com> wrote:
> >
> > I'm just not convinced of the
> > value re-implementing in Java brings vs a few simple bash commands.
>
> Sure, it’s more work to do, but you’d benefit from a nice command line
> menu and we would unify the tooling. Here are a few examples:
>
> $ docker run -it --env-file=./docker-env apache/sling-cli
> Usage: docker run -it --env-file=./docker-env apache/sling-cli [COMMAND]
> Apache Sling Committers CLI
> Commands:
>   help     Displays help information about the specified command
>   release  Performs release-related operations
>
>
>
> $ docker run -it --env-file=./docker-env apache/sling-cli release help
> Usage: docker run -it --env-file=./docker-env apache/sling-cli release
> [COMMAND]
> Performs release-related operations
> Commands:
>   create-new-jira-version  Creates a new Jira version, if needed, and
> transitions any unresolved issues from the version being released to
>                              the next one
>   list                     Lists all open releases
>   prepare-email            Prepares an email vote for the releases found
> in the Nexus staged repository
>   tally-votes              Counts votes cast for a release and generates
> the result email
>   update-local-site        Updates the Sling website with the new release
> information, based on a local checkout
>   update-reporter          Updates the Apache Reporter System with the new
> release information
>   help                     Displays help information about the specified
> command
>
>
>
> $ docker run -it --env-file=./docker-env apache/sling-cli release
> prepare-email help
> Usage: docker run -it --env-file=./docker-env apache/sling-cli release
> prepare-email -r=<repositoryId> [-x=<executionMode>] [COMMAND]
> Prepares an email vote for the releases found in the Nexus staged
> repository
>   -r, --repository=<repositoryId>
>          Nexus repository id
>   -x, --execution-mode=<executionMode>
>          execution mode: DRY_RUN, INTERACTIVE, AUTO; default: DRY_RUN
> Commands:
>   help  Displays help information about the specified command
>
>
>
> To help with this I’ve already pushed some code for verifying release
> signatures in a branch [2], which could easily be integrated with the rest.
> Checking build status is trivial by comparison.
>
> Regards,
> Radu
>
> [2] -
> https://github.com/apache/sling-org-apache-sling-committer-cli/commit/1c6ea560ddd03947c0fd0b4e14104a1db13b55d6
> <
> https://github.com/apache/sling-org-apache-sling-committer-cli/commit/1c6ea560ddd03947c0fd0b4e14104a1db13b55d6
> >

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message