Update native-buildtools.version #172
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: native-image-compile | |
on: [push] | |
jobs: | |
native-image-compile-on-host: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Cache SDKMAN installation | |
uses: actions/cache@v3 | |
with: | |
path: ~/.sdkman | |
key: ${{ runner.os }}-sdkman-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-sdkman- | |
- name: Install GraalVM with SDKMAN | |
run: | | |
curl -s "https://get.sdkman.io" | bash | |
source "$HOME/.sdkman/bin/sdkman-init.sh" | |
sdk install java 21.2.0.r11-grl | |
java -version | |
- name: Install GraalVM Native Image | |
run: | | |
source "$HOME/.sdkman/bin/sdkman-init.sh" | |
gu install native-image | |
native-image --version | |
- name: Install Maven, that uses GraalVM for later builds | |
run: | | |
source "$HOME/.sdkman/bin/sdkman-init.sh" | |
sdk install maven | |
mvn --version | |
- name: Run GraalVM Native Image compilation of Spring Boot App (Maven version instead of ./compile.sh) | |
run: | | |
source "$HOME/.sdkman/bin/sdkman-init.sh" | |
mvn -B clean package -P native --no-transfer-progress | |
native-image-compile-in-docker: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Login into Heroku Container Registry first, so that we can push our Image later | |
run: echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin registry.heroku.com | |
- name: Compile Native Image using Docker | |
run: docker build . --tag=registry.heroku.com/spring-boot-graal/web | |
- name: Push to Heroku Container Registry | |
run: docker push registry.heroku.com/spring-boot-graal/web | |
- name: Release Dockerized Native Spring Boot App on Heroku | |
run: ./heroku-release.sh spring-boot-graal | |
- name: Push to Docker Hub also, since automatic Builds there dont have anough RAM to do a docker build | |
run: | | |
echo ${{ secrets.DOCKER_HUB_TOKEN }} | docker login -u ${{ secrets.DOCKER_HUB_USERNAME }} --password-stdin | |
docker tag registry.heroku.com/spring-boot-graal/web jonashackt/spring-boot-graalvm:latest | |
docker push jonashackt/spring-boot-graalvm:latest |