Added FUNDING.yml #154
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: Build artifacts | |
on: | |
push: | |
branches: | |
- master | |
jobs: | |
jar: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # No shallow clones | |
- name: Set up Java JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'corretto' | |
java-version: '17' | |
- name: Cache Gradle packages | |
uses: actions/cache@v3 | |
with: | |
path: ~/.gradle/caches | |
key: ${{ runner.os }}-gradle-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties', 'buildSrc/src/main/kotlin/Versions.kt') }} | |
restore-keys: ${{ runner.os }}-gradle | |
- name: Build | |
run: | | |
chmod +x ./gradlew | |
./gradlew build -Dquarkus.package.type=uber-jar | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed by SonarCloud for PR information. | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
- name: Move JAR | |
run: mv build/*runner.jar smart-home-server.jar | |
- uses: actions/upload-artifact@v3 | |
with: | |
if-no-files-found: error | |
name: smart-home-server | |
path: | | |
smart-home-server.jar | |
Dockerfile | |
- name: Tag the build | |
run: | | |
./gradlew writeVersionFile writeVersionGitTag && git push origin --tags | |
echo "RELEASE_VERSION=$(cat build/build_version.txt)" >> $GITHUB_ENV | |
echo ${{ env.RELEASE_VERSION }} | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ env.RELEASE_VERSION }} | |
release_name: Stefans Smart Home Server v${{ env.RELEASE_VERSION }} | |
draft: false | |
prerelease: false | |
docker: | |
runs-on: ubuntu-latest | |
name: Docker | |
needs: jar | |
steps: | |
- 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: Download a Build Artifact | |
uses: actions/download-artifact@v2 | |
with: | |
name: smart-home-server | |
- name: Display files | |
run: find . | |
- name: Build and push | |
id: docker_build | |
uses: docker/build-push-action@v2 | |
with: | |
context: . | |
file: Dockerfile | |
push: true | |
tags: stefanoltmann/smart-home-server-jar:latest | |
- name: Image digest | |
run: echo ${{ steps.docker_build.outputs.digest }} |