Giter VIP home page Giter VIP logo

play-meta's Introduction

Play Meta

Twitter Follow Discord GitHub Discussions StackOverflow YouTube Twitch Status OpenCollective

Repository size Scala Steward badge Mergify Status

This repository is for team management and to track cross-repository efforts in the Play ecosystem.

play-meta's People

Contributors

billyautrey avatar dwijnand avatar ennru avatar felipebonezi avatar ignasi35 avatar ihostage avatar marcospereira avatar mkurz avatar octonato avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

play-meta's Issues

Play Sprint Plan 2019-03-11

Previous sprint plans

Dates

  • Start: 2019-03-11
  • End: 2019-03-22

Absences

Objectives/Tasks

Prep for Lagom 1.5.0

  • Test to migrate a Lagom 1.5.0 application and see how this impacts the migration guide @renatocaval
  • Test a snapshot of Akka Management before 1.0.0 @ignasi35
    • used a local build of lagom to deploy (successfully) lagom-{scala-java}-openshift-smoketests
  • Release Akka Management 1.0.0
  • Update Lagom to use Akka Management 1.0.0 @ignasi35 lagom/lagom#1795

From the Lagom 1.5.0 milestone

Release Lagom 1.5.0

scalafmt & javafmt for Lagom

Using the same configurations we have for Play:

This must be done after releasing 1.5.0.

New Labels for Backport

  • Make it clear that it needs to be backported to 2.6.x and 2.7.x in Play (status:needs-backport-2.6.x, etc.) playframework/playframework#9083
  • Make it clear that it needs to be backported to 1.4.x and 1.5.x in Lagom (status:needs-backport-1.5.x, etc.) lagom/lagom#1775

Lagom & AdoptOpenJDK 11

Play Examples for 2.6.x

Scala 2.13

Note: There are some dependencies outside of our control and we can ping them to see the current status/plan.

Play Sprint Plan 2019-04-29

Metadata
  • Dates: 2019-04-29 - 2019-05-10
  • Previous Sprint
  • Support Rota: Marcos then Dale
  • Person days: 26/30 (4x Labour Day)

Introduce a "nominated" label for meetings

I think we should introduce a "nominated" label to nominate issues to be discussed at the team meetings.

pros:

  • less work to add an issue to the agenda
  • (hopefully) makes it more natural to summarise decisions in the issue rather than in the meeting issue, particularly useful for public issues

cons:

  • need a way to find the issues (I suggest filtering in a waffle board or a custom URL, either can be added to the meeting issue template)

WDYT?

Play Sprint Plan 2019-04-11

Previous sprint plans

Dates

  • Start: 2019-04-15
  • End: 2019-04-26

Absences

Easter Friday 19 & Monday 22.

Objectives/Tasks

Setup Mergify for all Play's repos

Auto merge for mergify backports

Mergify backports are back in Play and Lagom repos, but I realised now that it's not auto-merging when the build is green.

We need a new rule in which we don't require approval if the contributor is the mergify bot and it's on one of the stable branches.

cargo run fails on repo-list-check

Was trying out cargo run on repo-list-check. Got a reproducible failure:


$ cargo run
   Compiling pest v2.1.0
   Compiling crossbeam-channel v0.3.8
   Compiling unicode-normalization v0.1.8
   Compiling tokio-current-thread v0.1.4
error[E0658]: scoped lint `clippy::needless_pass_by_value` is experimental (see issue #44690)
  --> /Users/ignasi/.cargo/registry/src/github.com-1ecc6299db9ec823/pest-2.1.0/src/error.rs:97:13
   |
97 |     #[allow(clippy::needless_pass_by_value)]
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0658]: scoped lint `clippy::needless_pass_by_value` is experimental (see issue #44690)
   --> /Users/ignasi/.cargo/registry/src/github.com-1ecc6299db9ec823/pest-2.1.0/src/error.rs:137:13
    |
137 |     #[allow(clippy::needless_pass_by_value)]
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0658]: scoped lint `clippy::new_ret_no_self` is experimental (see issue #44690)
   --> /Users/ignasi/.cargo/registry/src/github.com-1ecc6299db9ec823/pest-2.1.0/src/parser_state.rs:114:13
    |
114 |     #[allow(clippy::new_ret_no_self)]
    |             ^^^^^^^^^^^^^^^^^^^^^^^

error[E0658]: scoped lint `clippy::new_ret_no_self` is experimental (see issue #44690)
  --> /Users/ignasi/.cargo/registry/src/github.com-1ecc6299db9ec823/pest-2.1.0/src/position.rs:52:13
   |
52 |     #[allow(clippy::new_ret_no_self)]
   |             ^^^^^^^^^^^^^^^^^^^^^^^

error[E0658]: scoped lint `clippy::new_ret_no_self` is experimental (see issue #44690)
  --> /Users/ignasi/.cargo/registry/src/github.com-1ecc6299db9ec823/pest-2.1.0/src/span.rs:56:13
   |
56 |     #[allow(clippy::new_ret_no_self)]
   |             ^^^^^^^^^^^^^^^^^^^^^^^

error[E0658]: scoped lint `clippy::all` is experimental (see issue #44690)
 --> /Users/ignasi/.cargo/registry/src/github.com-1ecc6299db9ec823/pest-2.1.0/src/unicode/mod.rs:6:10
  |
6 | #![allow(clippy::all)]
  |          ^^^^^^^^^^^

   Compiling tokio-timer v0.2.10
   Compiling base64 v0.10.1
error: aborting due to 6 previous errors

For more information about this error, try `rustc --explain E0658`.
error: Could not compile `pest`.
warning: build failed, waiting for other jobs to finish...
error: build failed
ignasi at imslightbend in ~/git/projects/lightbend/playframework/play-meta/repos-list-check on master*

Reconcile DevMode-SSL support between play and lagom

Current approach to enable and setup SSL for Dev Mode in Play and Lagom is differs. The main cause is Lagom's multi-project nature. Other differences are the use of a self-signed cert or a self-signed CA with custom certs, the existence of a service gateway, ...

For example: Currently Play uses -Dhttps.port=<valid number> to enable SSL in dev mode. That doesn't work on Lagom. A valid approach to Play later (and that can then be inherited by Lagom) is to have something like -Dhttps.enabled=true.

Credit: @marcospereira :-)

Managed external services from builds

Similar to how Lagom starts/stops Cassandra and Kafka, it could be useful to register the startup/cleanup/destroy/etc... of external services to be managed by sbt or other build tools.

See https://www.playframework.com/documentation/2.6.x/SBTCookbook#Hooking-into-Plays-dev-mode
See https://github.com/lagom/lagom/pull/763/files (https://www.lagomframework.com/documentation/1.4.x/java/DevEnvironment.html#Managing-custom-services)
See https://discuss.lightbend.com/t/devhook-equivalent-for-sbt-test/586

Review Mergify rules

We have discussed a few options for Mergify rules and here is what I remember so far. Feel free to add/modify it.

Framework / Library Projects

  • WIP rule to block auto merge. Experiment with WipBot didn't work as expected
  • backport/forwardport driven by labels
  • squash only when label present (edit: squash by default, use label to opt-out ๐Ÿ‘‡)
  • merge instead of squash driven by labels (tracked in #25)
  • Preserve PR title when merging/squashing (required Mergify PR - see #23)
  • Preserve PR title when backporting (required Mergify PR - see #15)
  • CLA check, no automation without CLA
  • dismiss review on PR update
  • dismiss merge label on PR update
  • require at least 2 approvals (???) - I don't remember the decision on this

Sample Projects (Template Control rules)

  • WIP rule to block auto merge. Experiment with WipBot didn't work as expected
  • human-created PRs should use the same rules as in "Framework / Library Projects"

Lagom build system features should be consolidated into the Play build system

The ability to run multiple services in dev mode and having infrastructure services should exist in Play. There would probably be a different process for sbt and for Maven, since Play's support for Maven is third-party. It would also be nice to add these features to the Play Gradle plugin since customers have asked about Lagom support for Gradle.

This effectively makes the difference between "Play" and "Lagom" one of which modules are used.

To backport or not backport binary dependencies

I've been discussing with @mkurz about when to backport things.
See playframework/playframework#9192

We have previously said that we backport to latest stable (2.7.x) any bug fix that can be cleanly cherry-picked and that doesn't introduce binary compatible changes.

We have also said that we will only backport lib updates when there is a known security fix. Users can still update downstream libraries whenever they desire.
Alternatively, we could say, each lib update is backported if done automatically. If not, we just discard the backport PR.

I'm opening this issue so we can discuss it with all contributors and come to a consensus.

Full Maven/Gradle/sbt support for Play

Lagom currently has sbt and Maven support. Play officially supports sbt, and there are third-party Maven and Gradle plugins that seem to work pretty well. Ideally I'd like to use the same thing for both Play and Lagom. It might make sense to start supporting the existing third-party plugins for Play, because they seem relatively complete.

Validate repos.md is complete

It would be good to have a script that runs some logic ensuring that repos.md is complete, with filters and such.

Lagom samples reorganisation

  • Complete the lagom-samples repo consolidation (+TemplateControl/ExampleCodeService)
  • Archive lagom-recipes
  • Archive the remaining Lagom samples
  • Review Lagom's docs (see this ref)

Release Play 2.6.22

Communicate the release

Better to do this in advance:

Do the Release (Full document)

Not applicable

Upgrade Lagom's example repos for upcoming Lagom 1.5

Play and Lagom should use the same mechanism to create Jackson ObjectMapper

Akka Discovery for Lagom

Here is a short TODO list of things I believe should be done in order to support Akka discovery for Lagom and Play.

Relates to #14

  • Guice module should be able, via property, to wire production ServiceLocator
  • if akka-discovery is configured, we should wire ServiceLocator bridge by default (Java)
  • Scala component to provide prod ServiceLocator (@jroper is preparing a PR for this)
  • Lagom client should be able, via property, to use ServiceDiscovery directly
  • Akka Cluster Bootstrap as default bootstrap mechanisms in Lagom
  • improve configuration, per service
  • explore how we can use additional routers to include akka-mngt-http and health check (relates to https://github.com/lightbend/play-lagom-team/issues/14#issuecomment-442671852)
  • Health check - move it from reactive-lib to akka-management (in progress by Akka Team)

Play Sprint Plan 2019-02-25

Previous sprint plans

Dates

  • Start: 2019-02-25
  • End: 2019-03-08

Absences

Support

  • Dale will take of support Feb 28 and Mar 1.
  • Dale and Marcos switching support weeks from Mar 4-8 and Mar 11-15.

Spring Goal

Release Lagom 1.5-RC2 and Lagom 1.5

Upgrade the builds from sbt 0.13 to sbt 1

Strongly recommend users to use sbt 1 now. Explain support will be dropped in an upcoming version.

This conversation was started by Eugene. We need to also migrate our own builds to use sbt 1.

Issues & PRs

Not a comprehensive list of current issues and pull requests.

Play Sprint Plan 2019-03-25

Previous sprint plans

Dates

  • Start: 2019-03-25
  • End: 2019-04-05

Absences

Objectives

Cleanups

Iceland

Preserved PR title when merging/squashing

Part of the discussion of Merge vs. Squash.

One thing about merge is that GitHub automatically add a title similar to:
"Merge pull request #pr-num from contributor/branch"

When the history gets full of this it becomes hard to understand what was done on the project. You need to navigate to the PR to get the context.

The idea is to change Mergify so it uses the PR title for both merge and squash.

There are a few options here:

  • use the same format as squash: "title (#pr-num)"
  • put PR number in front, so it doesn't get cut-off for long titles: "#pr-num - title"
  • tag the title with [merged] / [squashed] (optional)

Release Play 2.7.2

Communicate the release

Better to do this in advance:

Do the Release (Full document)

No need to release upstream projects. โ˜๏ธ

Play Sprint Plan 2019-02-11

Previous sprint plans

Dates

  • Starts: 2019-02-11
  • Ends: 2019-02-22

People & Days off

  • @dwijnand:
    • 2019/02/18 1/2 day - Programming Reactive Systems course
    • 2019/02/19-21 Lightbend Reactive Architecture course
  • @ignasi35
    • 2019/02/13 1 day - Madrid
  • @marcospereira
    • Feb 18: Holiday (Family day) in Canada
  • @renatocaval

Objective & Tasks

The sections below group tasks per type.

External tasks

Task post Play 2.7.0 release

Lagom 1.5.0 Milestone

Below is the list of issues and pull-requests for Lagom milestone 1.5.0.

ServiceLocator & Akka Management Integration

Tests

gRPC

Misc

  • Evaluate impact of Lagom 1.5.0 on Operations training:

Release

  • #6 - Release Lagom 1.5.0
  • Finish gRPC sample apps for Lagom #13

Align Akka gRPC examples

The Akka gRPC docs have a protobuf definition with 4 methods: unary call, client stream, server stream and bi-directional.

The quickstart for Akka has only two methods and the Play and Lagom only one method. We should use the same protobuf definition all over the place, in both Java and Scala.

There are a few advantages for that:

Akka gRPC Hands-on has an extracted (and currently adapted) version of each quickstart.

Release Play 2.7.1

Communicate the release

Better to do this in advance:

Do the Release (Full document)

Tweak Mergify to allow not squashing

As discussed, I'd like my, and any other nicely laid out, multi-commit PR, to be merged and not squash-merged.

To do this I think we just need to duplicate and alter the existing configuration.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.