mirror of
https://github.com/octoleo/plantuml-server.git
synced 2024-11-18 02:05:12 +00:00
208 lines
5.8 KiB
YAML
208 lines
5.8 KiB
YAML
name: Main
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*"
|
|
|
|
jobs:
|
|
build-jdk11:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- uses: actions/setup-java@v2
|
|
with:
|
|
distribution: "zulu"
|
|
java-version: 11
|
|
check-latest: true
|
|
cache: "maven"
|
|
|
|
- name: get tag name
|
|
id: version
|
|
run: echo ::set-output name=VERSION::${GITHUB_REF#refs/*/}
|
|
|
|
- name: build with maven
|
|
run: mvn --batch-mode --define java.net.useSystemProxies=true package
|
|
|
|
- name: create renamed build
|
|
run: cp target/plantuml.war target/plantuml-${{ steps.version.outputs.VERSION }}.war
|
|
|
|
- name: build with maven (including the apache-jsp artifact)
|
|
run: mvn --batch-mode --define java.net.useSystemProxies=true -Dapache-jsp.scope=compile package
|
|
|
|
- name: create renamed build (including the apache-jsp artifact)
|
|
run: cp target/plantuml.war target/plantuml-jsp-${{ steps.version.outputs.VERSION }}.war
|
|
|
|
- name: temporarily save generated war files
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: war-jre11
|
|
path: target/plantuml*-${{ steps.version.outputs.VERSION }}.war
|
|
|
|
build-jdk8:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- uses: actions/setup-java@v2
|
|
with:
|
|
distribution: "zulu"
|
|
java-version: 8
|
|
check-latest: true
|
|
cache: "maven"
|
|
|
|
- name: get tag name
|
|
id: version
|
|
run: echo ::set-output name=VERSION::${GITHUB_REF#refs/*/}
|
|
|
|
- name: Remove test code (not java 8 compatible)
|
|
run: rm -rf src/test
|
|
|
|
- name: build with maven
|
|
run: mvn --batch-mode -f pom.jdk8.xml --define java.net.useSystemProxies=true package
|
|
|
|
- name: create renamed build
|
|
run: cp target/plantuml.war target/plantuml-jre8-${{ steps.version.outputs.VERSION }}.war
|
|
|
|
- name: build with maven (including the apache-jsp artifact)
|
|
run: mvn --batch-mode -f pom.jdk8.xml --define java.net.useSystemProxies=true -Dapache-jsp.scope=compile package
|
|
|
|
- name: create renamed build (including the apache-jsp artifact)
|
|
run: cp target/plantuml.war target/plantuml-jre8-jsp-${{ steps.version.outputs.VERSION }}.war
|
|
|
|
- name: temporarily save generated war files
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: war-jre8
|
|
path: target/plantuml*-${{ steps.version.outputs.VERSION }}.war
|
|
|
|
publish-releases:
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- build-jdk11
|
|
- build-jdk8
|
|
steps:
|
|
- name: retrieve generated war files (jre8)
|
|
uses: actions/download-artifact@v2
|
|
with:
|
|
name: war-jre8
|
|
path: artifacts
|
|
|
|
- name: retrieve generated war files (jre11)
|
|
uses: actions/download-artifact@v2
|
|
with:
|
|
name: war-jre11
|
|
path: artifacts
|
|
|
|
- name: display structure of downloaded files
|
|
run: ls -lah artifacts
|
|
|
|
- name: upload binaries to release
|
|
uses: svenstaro/upload-release-action@v2
|
|
with:
|
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
file: artifacts/plantuml*.war
|
|
tag: ${{ github.ref }}
|
|
overwrite: true
|
|
file_glob: true
|
|
|
|
publish-docker:
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- publish-releases
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Docker tomcat meta
|
|
id: docker_meta_tomcat
|
|
uses: crazy-max/ghaction-docker-meta@v3
|
|
with:
|
|
flavor: |
|
|
latest=false
|
|
prefix=
|
|
suffix=
|
|
images: plantuml/plantuml-server
|
|
tags: |
|
|
type=semver,pattern=tomcat-{{raw}}
|
|
type=raw,value=tomcat
|
|
|
|
- name: Docker jetty meta
|
|
id: docker_meta_jetty
|
|
uses: crazy-max/ghaction-docker-meta@v3
|
|
with:
|
|
flavor: |
|
|
latest=true
|
|
prefix=
|
|
suffix=
|
|
images: plantuml/plantuml-server
|
|
tags: |
|
|
type=semver,pattern={{raw}}
|
|
type=semver,pattern=jetty-{{raw}}
|
|
type=raw,value=jetty
|
|
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v1
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v1
|
|
|
|
- name: Login to DockerHub
|
|
uses: docker/login-action@v1
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Build & push tomcat
|
|
id: docker_build_tomcat
|
|
uses: docker/build-push-action@v2
|
|
with:
|
|
context: .
|
|
file: ./Dockerfile.tomcat
|
|
platforms: linux/amd64, linux/arm64
|
|
push: true
|
|
tags: ${{ steps.docker_meta_tomcat.outputs.tags }}
|
|
labels: ${{ steps.docker_meta_tomcat.outputs.labels }}
|
|
|
|
- name: Build & push jetty
|
|
id: docker_build_jetty
|
|
uses: docker/build-push-action@v2
|
|
with:
|
|
context: .
|
|
file: ./Dockerfile.jetty
|
|
platforms: linux/amd64, linux/arm64
|
|
push: true
|
|
tags: ${{ steps.docker_meta_jetty.outputs.tags }}
|
|
labels: ${{ steps.docker_meta_jetty.outputs.labels }}
|
|
|
|
publish-pages:
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- publish-releases
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- uses: actions/setup-java@v2
|
|
with:
|
|
distribution: "zulu"
|
|
java-version: 11
|
|
check-latest: true
|
|
cache: "maven"
|
|
|
|
- name: Create GitHub Pages
|
|
run: mvn site
|
|
|
|
- name: Deploy GitHub Pages
|
|
uses: peaceiris/actions-gh-pages@v3
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
publish_dir: ./target/site
|