Skip to content

Commit

Permalink
migrate CI build to github actions (#4581)
Browse files Browse the repository at this point in the history
* ci: migrate from travis build to github actions

* ci: update documentation to reflect migration away from Travis CI

* ci: migrate jdk8 to github actions

* ci: Update display name for Linux Github Actions
  • Loading branch information
bradh committed Nov 28, 2020
1 parent 0934ddd commit 2463372
Show file tree
Hide file tree
Showing 4 changed files with 96 additions and 67 deletions.
6 changes: 3 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Expand Up @@ -4,7 +4,7 @@

> Reviewing is a process done by project maintainers, mostly on a volunteer basis. We try to keep the overhead as small as possible and appreciate if you help us to do so by completing the following items. Feel free to ask in a comment if you have troubles with any of them.
**Submitting the PR does not require you to check all items, but by the time it gets merged, they should be either satisfied or inapplicable.**
**Submitting the PR does not require you to check all items, but by the time it gets merged, they should be either satisfied or not applicable.**


For all pull requests:
Expand All @@ -19,7 +19,7 @@ The following are required only for core and extension modules (they are welcome
- [ ] Commit message must be in the form "[GEOS-XYZW] Title of the Jira ticket" (export to XML in Jira generates the message in this exact form)
- [ ] The pull request contains changes related to a single objective. If multiple focuses cannot be avoided, each one is in its own commit and has a separate ticket describing it.
- [ ] New unit tests have been added covering the changes
- [ ] This PR passes all existing unit tests (test results will be reported by travis-ci after opening this PR)
- [ ] This PR passes the [QA checks](https://docs.geoserver.org/latest/en/developer/qa-guide/index.html) (QA checks results will be reported by travis-ci after opening this PR)
- [ ] This PR passes all existing unit tests (test results will be reported by Continuous Integration after opening this PR)
- [ ] This PR passes the [QA checks](https://docs.geoserver.org/latest/en/developer/qa-guide/index.html) (QA checks results will be reported by Continuous Integration after opening this PR)
- [ ] Commits changing the UI, existing user workflows, or adding new functionality, need to include documentation updates (screenshots, text)
- [ ] Commits changing the REST API, or any configuration object, should check if the REST API docs (Swagger YAML files and classic documentation) need to be updated.
92 changes: 92 additions & 0 deletions .github/workflows/linux.yml
@@ -0,0 +1,92 @@
name: Linux GitHub CI

on: [pull_request]

env:
MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 -Dmaven.wagon.http.retryHandler.count=3 -Xmx512m -Dorg.slf4j.simpleLogger.showDateTime=true -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss,SSS
TAKARI_SMART_BUILDER_VERSION: 0.6.1

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-18.04
jdk: 8
- os: ubuntu-20.04
jdk: 11
steps:
- uses: actions/checkout@v2
with:
# 500 commits, set to 0 to get all
fetch-depth: 500
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.jdk }}
- name: Set up Maven
uses: stCarolas/setup-maven@v4
with:
maven-version: 3.6.3
- name: Maven repository caching
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: gs-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
gs-${{ runner.os }}-maven-
- name: Build with Maven
run: mvn -B -U -T3 -fae -Dfmt.skip=true -Prelease -f src/pom.xml clean install
- name: Build community modules
run: mvn -nsu -B -U -T4 -fae -Dfmt.skip=true -DskipTests -Prelease -PcommunityRelease -f src/community/pom.xml clean install
- name: Package
run: mvn -f src/pom.xml assembly:single -nsu -N
- name: Package community modules
run: mvn -f src/community/pom.xml assembly:single -nsu -N
- name: Remove SNAPSHOT jars from repository
run: |
find .m2/repository -name "*SNAPSHOT*" -type d | xargs rm -rf {}
QA:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
# 500 commits, set to 0 to get all
fetch-depth: 500
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11
- name: Set up Maven
uses: stCarolas/setup-maven@v4
with:
maven-version: 3.6.3
- name: Maven repository caching
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: gs-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
gs-${{ runner.os }}-maven-
- name: Build with Maven
run: mvn -B -U -T3 -fae -Dfmt.action=check -Dqa -DskipTests=true -Prelease -f src/pom.xml clean install
- name: Build community modules
run: mvn -nsu -B -U -T4 -fae -Dfmt.action=check -DskipTests -Prelease -PcommunityRelease -f src/community/pom.xml clean install
- name: Remove SNAPSHOT jars from repository
run: |
find .m2/repository -name "*SNAPSHOT*" -type d | xargs rm -rf {}
docs:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
- uses: BSFishy/pip-action@v1
with:
packages: |
sphinx
requests
- name: Build docs
run: mvn -f doc/en install
63 changes: 0 additions & 63 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion doc/en/developer/source/qa-guide/index.rst
@@ -1,7 +1,7 @@
Automatic Quality Assurance checks
----------------------------------

The GeoServer builds on Travis and `https://build.geoserver.org/ <https://build.geoserver.org/>`_ apply
The GeoServer builds on Github Actions and `https://build.geoserver.org/ <https://build.geoserver.org/>`_ apply
`PMD <https://pmd.github.io/>`_ and `Error Prone <https://errorprone.info/>`_ checks on the code base
and will fail the build in case of rule violation.

Expand Down

0 comments on commit 2463372

Please sign in to comment.