Skip to content
This repository has been archived by the owner on Oct 31, 2021. It is now read-only.

ARM? #626

Draft
wants to merge 34 commits into
base: master
Choose a base branch
from
Draft

ARM? #626

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
5d027f7
Run first experiment
triceo Jul 9, 2021
f987ff2
Another test
triceo Jul 9, 2021
ef2e0cf
Another attempt
triceo Jul 9, 2021
357a828
Retry
triceo Jul 9, 2021
257f9b4
Another attempt
triceo Jul 9, 2021
f26b0a6
Yet another attempt
triceo Jul 9, 2021
e8ba205
And again
triceo Jul 9, 2021
cb115ba
Again
triceo Jul 9, 2021
e4a951a
Hack around bash
triceo Jul 9, 2021
7492339
One last attempt
triceo Jul 9, 2021
f628888
Attempt to switch to Fedora properly
triceo Jul 9, 2021
ac00927
Moving on
triceo Jul 9, 2021
d692512
Fedora hangs for whatever reason
triceo Jul 9, 2021
2aee627
Debian will work maybe
triceo Jul 9, 2021
5de0c78
I don't really know Debian anymore
triceo Jul 9, 2021
cc76f5a
Let's try again
triceo Jul 9, 2021
4d85985
One more
triceo Jul 9, 2021
f330db1
One last try today
triceo Jul 9, 2021
da7362c
Try a different Debian
triceo Jul 10, 2021
f841028
Try Ubuntu
triceo Jul 10, 2021
d532fd2
Attempt unattended
triceo Jul 10, 2021
c81f091
Attempt to move SDKMAN to the run phase
triceo Jul 10, 2021
1e3b604
Try Fedora again
triceo Jul 10, 2021
83b5a3f
StackOverflow to the rescue?
triceo Jul 10, 2021
202f415
Getting desperate
triceo Jul 10, 2021
9f0893c
Try again
triceo Jul 10, 2021
7648d7a
See what's generated
triceo Jul 10, 2021
06ccc5a
Fix my own mistake
triceo Jul 10, 2021
d1d0504
Grrr
triceo Jul 10, 2021
eb82e3d
Test
triceo Jul 10, 2021
46b5076
Seems I do not really understand shell.
triceo Jul 10, 2021
11a433c
Don't cache images
triceo Jul 10, 2021
09cd318
Run everything as a single bash script
triceo Jul 10, 2021
05d652c
One more try
triceo Jul 10, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 76 additions & 4 deletions .github/workflows/deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
- name: Build and test
run: mvn install --batch-mode -Dpit.skip=true
jlink:
name: Prepare JREs
name: JREs for natively supported platforms
needs: test
strategy:
fail-fast: false # Always see all results on all platforms.
Expand Down Expand Up @@ -117,9 +117,55 @@ jobs:
with:
name: robozonky-installer-jre-${{ env.ROBOZONKY_OS }}
path: robozonky-installer-jre/**/*
jlink-arm:
name: JREs for ARM
needs: test
strategy:
fail-fast: false # Always see all results on all platforms.
matrix:
arch: [ aarch64 ]
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v2
# Build and publish the JLinked JRE.
- uses: uraimo/[email protected]
name: Build the JARs and run JLink
with:
arch: ${{ matrix.arch }}
distro: bullseye
dockerRunArgs: |
--volume "${PWD}:/parent"
shell: /bin/bash
install: |
apt-get update
apt-get -qq -y install bash curl wget unzip zip
run:
bash -c "curl -s https://get.sdkman.io | bash
source /root/.sdkman/bin/sdkman-init.sh
sdk install java 16.0.1.hs-adpt
sdk install maven
Comment on lines +132 to +147
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tohle nefunguje.

cd profile
mvn install --batch-mode -DskipTests
ROBOZONKY_VERSION=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.6.0:exec)
chmod +x ${{ env.JLINK_SCRIPT_FILENAME }}
${{ env.JLINK_SCRIPT_FILENAME }} robozonky-app/target/robozonky-app-$ROBOZONKY_VERSION-full.jar robozonky-jre
${{ env.JLINK_SCRIPT_FILENAME }} robozonky-installer/target/robozonky-installer-$ROBOZONKY_VERSION-full.jar robozonky-installer-jre"
- name: Upload JLinked app JRE
uses: actions/upload-artifact@v2
with:
name: robozonky-jre-linux-arm64v8
path: robozonky-jre/**/*
- name: Upload JLinked installer JRE
uses: actions/upload-artifact@v2
with:
name: robozonky-installer-jre-linux-arm64v8
path: robozonky-installer-jre/**/*
build:
name: Build and deploy
needs: jlink
needs:
- jlink
- jlink-arm
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
Expand All @@ -141,11 +187,16 @@ jobs:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Download Linux main app JRE
- name: Download Linux (x64) main app JRE
uses: actions/download-artifact@v2
with:
name: robozonky-jre-linux
path: robozonky-distribution/robozonky-distribution-full/target/jre-linux
- name: Download Linux (arm64v8) main app JRE
uses: actions/download-artifact@v2
with:
name: robozonky-jre-linux-arm64v8
path: robozonky-distribution/robozonky-distribution-full/target/jre-linux-arm64v8
- name: Download MacOS main app JRE
uses: actions/download-artifact@v2
with:
Expand All @@ -156,11 +207,16 @@ jobs:
with:
name: robozonky-jre-windows
path: robozonky-distribution/robozonky-distribution-full/target/jre-windows
- name: Download Linux installer JRE
- name: Download Linux (x64) installer JRE
uses: actions/download-artifact@v2
with:
name: robozonky-installer-jre-linux
path: robozonky-distribution/robozonky-distribution-installer/target/jre-linux
- name: Download Linux (arm64v8) installer JRE
uses: actions/download-artifact@v2
with:
name: robozonky-installer-jre-linux-arm64v8
path: robozonky-distribution/robozonky-distribution-installer/target/jre-linux-arm64v8
- name: Download MacOS installer JRE
uses: actions/download-artifact@v2
with:
Expand Down Expand Up @@ -227,6 +283,14 @@ jobs:
asset_path: robozonky-distribution/robozonky-distribution-full/target/robozonky-distribution-full-${{ env.ROBOZONKY_VERSION }}-linux-x64.tar.xz
asset_name: robozonky-${{ env.ROBOZONKY_VERSION }}-linux-x64.tar.xz
asset_content_type: application/x-xz
- name: Upload Main app (Linux, arm64v8)
if: false == contains(env.ROBOZONKY_VERSION, 'SNAPSHOT')
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: robozonky-distribution/robozonky-distribution-full/target/robozonky-distribution-full-${{ env.ROBOZONKY_VERSION }}-linux-arm64v8.tar.xz
asset_name: robozonky-${{ env.ROBOZONKY_VERSION }}-linux-arm64v8.tar.xz
asset_content_type: application/x-xz
- name: Upload Main app (noarch)
if: false == contains(env.ROBOZONKY_VERSION, 'SNAPSHOT')
uses: actions/upload-release-asset@v1
Expand Down Expand Up @@ -259,6 +323,14 @@ jobs:
asset_path: robozonky-distribution/robozonky-distribution-installer/target/robozonky-distribution-installer-${{ env.ROBOZONKY_VERSION }}-linux-x64.tar.xz
asset_name: robozonky-installer-${{ env.ROBOZONKY_VERSION }}-linux-x64.tar.xz
asset_content_type: application/x-xz
- name: Upload Installer (Linux, arm64v8)
if: false == contains(env.ROBOZONKY_VERSION, 'SNAPSHOT')
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: robozonky-distribution/robozonky-distribution-installer/target/robozonky-distribution-installer-${{ env.ROBOZONKY_VERSION }}-linux-arm64v8.tar.xz
asset_name: robozonky-installer-${{ env.ROBOZONKY_VERSION }}-linux-arm64v8.tar.xz
asset_content_type: application/x-xz
- name: Upload Installer (noarch)
if: false == contains(env.ROBOZONKY_VERSION, 'SNAPSHOT')
uses: actions/upload-release-asset@v1
Expand Down
16 changes: 16 additions & 0 deletions robozonky-distribution/robozonky-distribution-full/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@
<requireFilesExist>
<files>
<file>${project.build.directory}/jre-linux</file>
<file>${project.build.directory}/jre-linux-arm64v8</file>
<file>${project.build.directory}/jre-windows</file>
<file>${project.build.directory}/jre-macos</file>
</files>
Expand Down Expand Up @@ -150,6 +151,21 @@
<goal>single</goal>
</goals>
</execution>
<execution>
<configuration>
<filters>
<filter>src/main/assembly/filter.properties</filter>
</filters>
<descriptors>
<descriptor>src/main/assembly/jlink-linux-arm64v8.xml</descriptor>
</descriptors>
</configuration>
<id>package-jlink-linux-arm64v8</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
<execution>
<configuration>
<filters>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2021 The RoboZonky Project
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">

<id>linux-arm64v8</id>
<formats>
<format>tar.xz</format>
</formats>

<includeBaseDirectory>false</includeBaseDirectory>

<fileSets>
<fileSet>
<directory>${project.build.directory}/jre-linux-arm64v8/</directory>
<filtered>false</filtered>
<excludes>
<exclude>bin/*</exclude>
</excludes>
<outputDirectory>runtime</outputDirectory>
</fileSet>
<fileSet>
<directory>${project.build.directory}/jre-linux-arm64v8/</directory>
<filtered>false</filtered>
<includes>
<include>bin/*</include>
</includes>
<fileMode>744</fileMode>
<outputDirectory>runtime</outputDirectory>
</fileSet>
<fileSet>
<directory>${project.build.directory}/shaded/</directory>
<includes>
<include>robozonky-*-${project.version}-full.jar</include>
</includes>
<outputDirectory/>
</fileSet>
<fileSet><!-- Note: going outside the module dir is bad, but it is not fetching generated files -->
<directory>../../</directory>
<includes>
<include>LICENSE</include>
</includes>
<outputDirectory/>
</fileSet>
<fileSet>
<directory>src/main/assembly/filtered-resources</directory>
<lineEnding>unix</lineEnding>
<filtered>true</filtered>
<includes>
<include>*.sh</include>
</includes>
<fileMode>744</fileMode>
<outputDirectory/>
</fileSet>
<fileSet>
<directory>src/main/assembly/resources</directory>
<lineEnding>unix</lineEnding>
<filtered>false</filtered>
<outputDirectory/>
</fileSet>
</fileSets>
</assembly>
22 changes: 22 additions & 0 deletions robozonky-distribution/robozonky-distribution-installer/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,12 @@
<version>${project.version}</version>
<classifier>linux-x64</classifier>
</dependency>
<dependency>
<groupId>com.github.robozonky</groupId>
<artifactId>robozonky-installer</artifactId>
<version>${project.version}</version>
<classifier>linux-arm64v8</classifier>
</dependency>
</dependencies>
<build>
<plugins>
Expand All @@ -137,6 +143,7 @@
<requireFilesExist>
<files>
<file>${project.build.directory}/jre-linux</file>
<file>${project.build.directory}/jre-linux-arm64v8</file>
<file>${project.build.directory}/jre-windows</file>
<file>${project.build.directory}/jre-macos</file>
</files>
Expand Down Expand Up @@ -165,6 +172,21 @@
<goal>single</goal>
</goals>
</execution>
<execution>
<configuration>
<filters>
<filter>src/main/assembly/jlink-linux-arm64v8.properties</filter>
</filters>
<descriptors>
<descriptor>src/main/assembly/jlink-linux-arm64v8.xml</descriptor>
</descriptors>
</configuration>
<id>package-jlink-linux-arm64v8</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
<execution>
<configuration>
<filters>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#
# Copyright 2021 The RoboZonky Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

com.github.robozonky.distribution.jar=robozonky-installer-${project.version}-linux-arm64v8.jar
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2021 The RoboZonky Project
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">

<id>linux-arm64v8</id>
<formats>
<format>tar.xz</format>
</formats>

<includeBaseDirectory>false</includeBaseDirectory>

<fileSets>
<fileSet>
<directory>${project.build.directory}/jre-linux-arm64v8/</directory>
<filtered>false</filtered>
<excludes>
<exclude>bin/*</exclude>
</excludes>
<outputDirectory>runtime</outputDirectory>
</fileSet>
<fileSet>
<directory>${project.build.directory}/jre-linux-arm64v8/</directory>
<filtered>false</filtered>
<includes>
<include>bin/*</include>
</includes>
<fileMode>744</fileMode>
<outputDirectory>runtime</outputDirectory>
</fileSet>
<fileSet>
<directory>${project.build.directory}/shaded/</directory>
<includes>
<include>robozonky-installer-${project.version}-linux-arm64v8.jar</include>
</includes>
<outputDirectory/>
</fileSet>
<fileSet>
<directory>../../</directory>
<includes>
<include>LICENSE</include>
</includes>
<outputDirectory/>
</fileSet>
<fileSet>
<directory>src/main/assembly/filtered-resources</directory>
<lineEnding>unix</lineEnding>
<filtered>true</filtered>
<includes>
<include>*.sh</include>
</includes>
<fileMode>744</fileMode>
<outputDirectory/>
</fileSet>
<fileSet>
<directory>src/main/assembly/resources</directory>
<lineEnding>unix</lineEnding>
<filtered>false</filtered>
<outputDirectory/>
</fileSet>
</fileSets>
</assembly>