- Challenge: Building non-committer PRs with Jenkins is no longer allowed 
  - problem described in SLING-7245 - Validate pull requests using Jenkins 
Resolved
    - reason are security issues, see also INFRA-18973
    - we assume it will not be fixed by INFRA due to this, we need another 
solution
  - possible solutions in ASF Jenkins:
    - run builds in container?
    - use our own build slaves somewhere external?
  - or use external CI providers like travis, cloudbees, circleci
    - requirements for such an external CI:
      - possibility to reuse our shared jenkins libraries to avoid duplication 
in all build descriptor files
      - sonarcloud trigger
    - konrad will do a PoC with cloudbees

- sonarcube rules
  - how can we define custom rules? (disabling default ones, add new ones)
  - can we maintain those in a separate rule file (e.g. to be also reused 
outside sling)?
  - let's start with a minimal set of custom rules
  - auto-checking in PRs is only done for new code introduced in the PR
  - all already onboarded projects need to be mapped with the new rule settings
  - new projects need to be assigned manually to it (no API for it currently)

- sonar check onbaording for new sling modules currently depends on contacting 
someone in sonarcloud to do it manually
  - there is a user group "sling-admins" at sonarcube which can do a lot of 
things - but not onboarding new projects
  - manual process usually takes ~2 days, sometimes longer if the person is not 
in office
  - is there an API for this in sonarcloud that sonarcloud itself could use to 
automate the process?
  - maybe the newly introduced "sling" topic on git repo may help?
  - on the long run it would be nice to control something like this via the 
asf.yaml

- git PR policies
  - we should document our preferred way of applying PRs
  - preferred is rebasing to get a linear history
  - original author info should be kept in commit
  - if squashing is required it should be done before rebasing
  - is it possible to prevent force-push on master branch? currently only 
possible by contacting INFRA

- sling starter
  - already documented in release management rules: sling starter needs to be 
update with latest versions once a module contained there gets a new release 
(should be tested with sling starter before starting the release)
  - all modules that are part of the sling starter: automatically run starter 
ITs for github PRs on this module

- website source code list
  - add link to sling-aggregator/docs/modules page

- Docker Engine on build hosts for integration tests (possible?)
  - should be possible with adding additional "docker" label in the sling 
modules list -> then it gets configured in the jenkins jobs

- matrix build (e.g. multiple JDKs)
  - can be configured already
  - a good target list would be the java LTS versions since java 8 + the 
current unstable, e.g. 8,11,13 currently

Stefan


Reply via email to