2023-01-21 13:39:30 +01:00
|
|
|
name: Build and Test the Prog8 compiler
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
workflow_dispatch:
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Checkout code
|
2023-06-09 19:51:04 +02:00
|
|
|
uses: actions/checkout@v3
|
2023-01-21 13:39:30 +01:00
|
|
|
|
2023-05-29 23:43:08 +02:00
|
|
|
- name: build and install recent 64tass
|
|
|
|
run: |
|
|
|
|
sudo apt-get install -y make build-essential
|
2023-05-29 23:46:47 +02:00
|
|
|
git clone --depth=1 https://github.com/irmen/64tass
|
2023-05-29 23:43:08 +02:00
|
|
|
cd 64tass
|
|
|
|
make -j4
|
2023-05-29 23:44:10 +02:00
|
|
|
sudo make install
|
2023-01-21 14:02:08 +01:00
|
|
|
|
2023-01-21 15:24:07 +01:00
|
|
|
- name: Set up JDK 11
|
2023-06-09 19:51:04 +02:00
|
|
|
uses: actions/setup-java@v3
|
2023-01-21 13:39:30 +01:00
|
|
|
with:
|
|
|
|
java-version: 11
|
2023-01-21 13:47:09 +01:00
|
|
|
distribution: adopt
|
2023-01-21 13:39:30 +01:00
|
|
|
|
|
|
|
- name: Build and test with Gradle
|
2023-01-21 15:24:07 +01:00
|
|
|
run: ./gradlew build shadowJar --no-daemon
|
2024-02-10 00:38:32 +01:00
|
|
|
|
2023-01-21 14:25:17 +01:00
|
|
|
- name: Create compiler shadowJar artifact
|
2023-01-21 14:19:01 +01:00
|
|
|
uses: actions/upload-artifact@v3
|
|
|
|
with:
|
2023-01-21 14:47:32 +01:00
|
|
|
name: prog8-compiler-jar-zipped
|
2023-01-21 14:25:17 +01:00
|
|
|
path: compiler/build/libs/*-all.jar
|
2024-02-10 00:38:32 +01:00
|
|
|
|
|
|
|
- uses: MCJack123/ghaction-generate-release-hashes@v4
|
2024-02-10 02:11:39 +01:00
|
|
|
if: "github.event_name == 'release'"
|
2024-02-10 00:38:32 +01:00
|
|
|
with:
|
|
|
|
hash-type: sha256
|
|
|
|
file-name: hashes.txt
|
|
|
|
- uses: actions/upload-artifact@v3
|
2024-02-10 02:11:39 +01:00
|
|
|
if: "github.event_name == 'release'"
|
2024-02-10 00:38:32 +01:00
|
|
|
with:
|
|
|
|
name: Artifact Hashes
|
|
|
|
path: hashes.txt
|