use less memory by returning unused memory to the OS (https://openjdk… #451
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Java CI | |
on: [ push ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
java: [ "8", "11", "17" ] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
# Setup | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Set up Java | |
uses: actions/setup-java@v3 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: "temurin" | |
cache: "maven" | |
# Build | |
- name: Build with Maven | |
run: mvn --batch-mode --update-snapshots verify | |
- name: Upload JAR | |
uses: actions/upload-artifact@v3 | |
if: ${{ matrix.java == '8' }} | |
with: | |
name: commafeed.jar | |
path: commafeed-server/target/commafeed.jar | |
# Docker | |
- name: Login to Container Registry | |
uses: docker/login-action@v2 | |
if: ${{ matrix.java == '8' }} | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Docker build and push tag | |
uses: docker/build-push-action@v4 | |
if: ${{ matrix.java == '8' && github.ref_type == 'tag' }} | |
with: | |
context: . | |
push: true | |
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8 | |
tags: | | |
athou/commafeed:latest | |
athou/commafeed:${{ github.ref_name }} | |
- name: Docker build and push master | |
uses: docker/build-push-action@v4 | |
if: ${{ matrix.java == '8' && github.ref_name == 'master' }} | |
with: | |
context: . | |
push: true | |
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8 | |
tags: athou/commafeed:master | |
# Create GitHub release after Docker image has been published | |
- name: Extract Changelog Entry | |
uses: mindsers/changelog-reader-action@v2 | |
if: ${{ matrix.java == '8' && github.ref_type == 'tag' }} | |
id: changelog_reader | |
with: | |
version: ${{ github.ref_name }} | |
- name: Create GitHub release | |
uses: softprops/action-gh-release@v1 | |
if: ${{ matrix.java == '8' && github.ref_type == 'tag' }} | |
with: | |
name: CommaFeed ${{ github.ref_name }} | |
body: ${{ steps.changelog_reader.outputs.changes }} | |
draft: false | |
prerelease: false | |
files: | | |
commafeed-server/target/commafeed.jar | |
commafeed-server/config.yml.example |