-
-
Notifications
You must be signed in to change notification settings - Fork 3
143 lines (125 loc) · 5.5 KB
/
graalvm.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
name: GraalVM Build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- name: GitHub Action for GraalVM
# You may pin to the exact commit or the version.
# uses: graalvm/setup-graalvm@b8dc5fccfbc65b21dd26e8341e7b21c86547f61b
uses: graalvm/setup-graalvm@v1
with:
# Java version. See examples of supported syntax in the README file.
java-version: 17
# GraalVM distribution. See the list of available distributions in the README file.
distribution: 'graalvm' # optional, default is
# Comma-separated list of GraalVM components to be installed.
# components: # optional, default is
# Set it to secrets.GITHUB_TOKEN to increase rate limits when accessing the GitHub API. Defaults to github.token.
# github-token: # optional, default is ${{ github.token }}
# Set $JAVA_HOME to the GraalVM installation. Default: true.
# set-java-home: # optional, default is true
# Name of the build platform to cache dependencies. It can be "maven", "gradle", or "sbt".
# cache: # optional
# Annotate jobs with update notifications, for example, when a new GraalVM release is available
# check-for-updates: # optional, default is true
# Set up musl for static image building with GraalVM Native Image.
# native-image-musl: # optional, default is false
# Post a job summary containing a Native Image build report.
# native-image-job-reports: # optional, default is false
# Post a comment containing a Native Image build report on pull requests.
# native-image-pr-reports: # optional, default is false
# GraalVM version (release, latest, dev).
# version: # optional, default is
# Download token for the GraalVM Download Service. If provided, the action will set up GraalVM Enterprise Edition.
# gds-token: # optional
- name: Checkout repository
uses: actions/checkout@v4
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
- name: Windows msvc setup
uses: ilammy/msvc-dev-cmd@v1.13.0
if: ${{ matrix.os == 'windows-latest' }}
- name: Windows msbuild setup
uses: microsoft/setup-msbuild@v2
if: ${{ matrix.os == 'windows-latest' }}
- name: Call maven
run: mvn --no-transfer-progress -B package --file pom.xml -DskipNativeVersion=false
- name: Create release date
if: ${{ matrix.os == 'windows-latest' }}
id: read_release_win
shell: bash
run: |
r=$(date "+%Y%m%d-%H%M%S")
#echo "::set-output name=RELEASE_BODY::$r"
echo "RELEASE_BODY=$r" >> $GITHUB_OUTPUT
- name: Create release date
if: ${{ matrix.os == 'windows-latest' }}
shell: powershell
run: |
cd target
dir
Get-ChildItem -Path *.dll, html2pop3.exe | Compress-Archive -DestinationPath html2pop3.zip
# - name: Upload Windows Binaries to Release
# if: ${{ matrix.os == 'windows-latest' }}
# uses: svenstaro/upload-release-action@v2
# with:
# repo_token: ${{ secrets.GITHUB_TOKEN }}
# tag: release/windows/${{ steps.read_release_win.outputs.RELEASE_BODY }}
# file: target/html2pop3.zip
# asset_name: html2pop3-win32.zip
# body: |
# Rilascio Windows del ${{ steps.read_release_win.outputs.RELEASE_BODY }}
- name: Create release date
if: ${{ matrix.os == 'ubuntu-latest' }}
id: read_release_linux
shell: bash
run: |
r=$(date "+%Y%m%d-%H%M%S")
#echo "::set-output name=RELEASE_BODY::$r"
echo "RELEASE_BODY=$r" >> $GITHUB_OUTPUT
ls
cd target
zip html2pop3.zip html2pop3 *.so
# - name: Upload Linux Binaries to Release
# if: ${{ matrix.os == 'ubuntu-latest' }}
# uses: svenstaro/upload-release-action@v2
# with:
# repo_token: ${{ secrets.GITHUB_TOKEN }}
# tag: release/linux/${{ steps.read_release_linux.outputs.RELEASE_BODY }}
# file: /home/runner/work/html2pop3/html2pop3/target/html2pop3.zip
# asset_name: html2pop3
# body: |
# Rilascio Linux del ${{ steps.read_release_linux.outputs.RELEASE_BODY }}
- name: Create release date
if: ${{ matrix.os == 'macos-latest' }}
id: read_release_mac
shell: bash
run: |
r=$(date "+%Y%m%d-%H%M%S")
#echo "::set-output name=RELEASE_BODY::$r"
echo "RELEASE_BODY=$r" >> $GITHUB_OUTPUT
ls
cd target
zip html2pop3.zip html2pop3 *.so
# - name: Upload Mac Binaries to Release
# if: ${{ matrix.os == 'macos-latest' }}
# uses: svenstaro/upload-release-action@v2
# with:
# repo_token: ${{ secrets.GITHUB_TOKEN }}
# tag: release/mac/${{ steps.read_release_mac.outputs.RELEASE_BODY }}
# file: /Users/runner/work/html2pop3/html2pop3/target/html2pop3.zip
# asset_name: html2pop3
# body: |
# Rilascio MacOS del ${{ steps.read_release_mac.outputs.RELEASE_BODY }}