Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to GitHub actions #672

Merged
merged 5 commits into from
May 3, 2022
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Check

on:
pull_request:

schedule:
- cron: "0 4 * * *" # Nightly build (@daily)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Except for the main play repo we never ran nightly builds. And there we ran them because we do enable additional jobs which take a while, so its better to no have them run for each pull request.

I suggest to remove the schedule section here and replace it with

  push:
    branches:
      - main # Check main branch after merge

instead (so the build will be triggered after merge again, so we should be pretty safe I guess)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, makes sense. I was mainly concerned with placing the Travis badge, and wasn't sure which approach to take to get valid statuses from main.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mean the GHA badge? I think it just looks at the last run and that's the status it shows.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah! Well that's easier then. Master runs would fix this, I'll change it.


concurrency:
# Only run once for latest commit per ref and cancel other (previous) runs.
group: ci-${{ github.ref }}
cancel-in-progress: true

jobs:
check-code-style:
name: Code Style
uses: playframework/.github/.github/workflows/sbt.yml@v1
with:
cmd: sbt scalafmtCheckAll scalafmtSbtCheck

check-binary-compatibility:
name: Binary Compatibility
uses: playframework/.github/.github/workflows/binary-check.yml@v1

check-docs:
name: Docs
uses: playframework/.github/.github/workflows/sbt.yml@v1
with:
cmd: sbt docs/scalafmtCheckAll docs/scalafmtSbtCheck docs/test docs/validateDocs

tests:
name: Tests
needs: # Waiting more lightweight checks
- "check-code-style"
- "check-binary-compatibility"
- "check-docs"
uses: playframework/.github/.github/workflows/sbt-matrix.yml@v1
with:
java: >-
[ "11", "8" ]
scala: >-
[ "2.12.15", "2.13.8" ]
cmd: sbt ++$SCALA_VERSION test
mkurz marked this conversation as resolved.
Show resolved Hide resolved

finish:
name: Finish
needs: # Should be last
- "tests"
uses: playframework/.github/.github/workflows/rtm.yml@v1
BillyAutrey marked this conversation as resolved.
Show resolved Hide resolved
15 changes: 15 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Publish

on:
push:
tags: ["*"] # Releases
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One more thing: We should also add branches:... like here.
This way snapshots get published each time a pull request gets merged. That's quite nice to have. (akka does the same btw)


jobs:
publish-artifacts:
name: Publish / Artifacts
uses: playframework/.github/.github/workflows/publish.yml@v1
secrets:
username: ${{ secrets.SONATYPE_USERNAME }}
password: ${{ secrets.SONATYPE_PASSWORD }}
pgp_passphrase: ${{ secrets.PGP_PASSPHRASE }}
pgp_secret: ${{ secrets.PGP_SECRET }}
BillyAutrey marked this conversation as resolved.
Show resolved Hide resolved
4 changes: 2 additions & 2 deletions .mergify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
pull_request_rules:
- name: Merge PRs that are ready
conditions:
- status-success=Travis CI - Pull Request
- status-success=typesafe-cla-validator
- check-success~=/ Ready To Merge$
- check-success=typesafe-cla-validator
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not the only thing that needs to be changed in the mergify conf.
You can actually just copy the conf from twirl: https://github.com/playframework/twirl/blob/main/.mergify.yml
As you can see it adds queue_rules add the top and then uses this queue in actions. The merge action is deprecated AFAIK.

- "#approved-reviews-by>=1"
- "#review-requested=0"
- "#changes-requested-reviews-by=0"
Expand Down
41 changes: 0 additions & 41 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Play Slick

[![Build Status](https://travis-ci.org/playframework/play-slick.png?branch=main)](https://travis-ci.org/playframework/play-slick) [![codecov.io](https://codecov.io/github/playframework/play-slick/coverage.svg?branch=main)](https://codecov.io/github/playframework/play-slick?branch=main)
[![Build Status](https://github.com/playframework/play-slick/actions/workflows/build-test.yml/badge.svg)](https://github.com/playframework/play-slick/actions/workflows/build-test.yml)

The Play Slick module makes [Slick] a first-class citizen of [Play]. It consists of two features:

Expand Down