Skip to content

Instantly share code, notes, and snippets.

@msavy
Last active February 25, 2021 14:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save msavy/ceabfdcf9d6a226a83659f32d06f59f6 to your computer and use it in GitHub Desktop.
Save msavy/ceabfdcf9d6a226a83659f32d06f59f6 to your computer and use it in GitHub Desktop.
name: Verify Build Workflow
on:
push:
paths-ignore:
- '.gitignore'
- 'LICENSE'
- 'README*'
- 'CODE_OF_CONDUCT*'
branches: [master]
pull_request:
paths-ignore:
- '.github/**'
- '.gitignore'
- 'LICENSE'
- 'README*'
- 'CODE_OF_CONDUCT*'
branches: [master]
jobs:
build-verify:
name: Verify Build
runs-on: ubuntu-latest
if: github.repository_owner == 'Apiman'
strategy:
matrix:
java: [ 8, 11, 15 ]
integration-suite:
# Servlet elasticsearch
- name: Servlet with Elasticsearch registry
command: -Dapiman-test.type=es -Dapiman.gateway-test.config=servlet-es
# Vert.x in-memory gateway
- name: Vert.x with in-memory registry
command: -Dapiman.gateway-test.config=vertx3-mem
# Vert.x elasticsearch
- name: Vert.x with Elasticsearch registry
command: -Dapiman.gateway-test.config=vertx3-es
# Vert.x file/static
- name: Vert.x with immutable file registry
command: -Dapiman.gateway-test.config=vertx3-file
# AMG (API Management Gateway / EAP)
- name: AMG 1
command: -Dapiman.gateway-test.config=amg-1
steps:
- name: Checkout Code
uses: actions/checkout@v2
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
- name: Build Project
run: mvn clean install -Dinvoker.skip -Dmaven.javadoc.skip=true -Dmvn.test.skip=true -DskipTests=true -T1C -B
- name: Run platform-specific integration tests ({{ matrix.integration-suite.name }})
run: mvn test install -Dinvoker.skip -Dmaven.javadoc.skip=true -B ${{ matrix.integration-suite.command }}
- name: Publish Test Report
if: ${{ always() }}
uses: scacap/action-surefire-report@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish-snapshots:
name: Publish master snapshot artifacts
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master'
needs: [ build-verify ]
steps:
- name: Checkout Code
uses: actions/checkout@v2
- name: Set up JDK 8 (for deploying assets, docker builds, etc)
uses: actions/setup-java@v1
with:
java-version: 8
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
- name: Build and Publish Docker Images & Deploy OSSRH Snapshots
run: |
mvn -B clean package docker:build -P docker -DskipTests
echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin
docker push apiman/on-wildfly:latest
mvn -B deploy -DskipTests -Dmaven.test.skip=true
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment