From ff31494f50eb432b040cb733613e903ac36e90a8 Mon Sep 17 00:00:00 2001
From: Dmitry Isaenko <developer.su@gmail.com>
Date: Thu, 21 Nov 2024 01:42:57 +0300
Subject: [PATCH] Switch to Woodpecker CI

---
 .woodpecker/woodpecker.yml      | 82 +++++++++++++++++++++++++++++++++
 README.md                       |  2 +-
 misc/windows/NSIS/installer.nsi |  4 +-
 3 files changed, 85 insertions(+), 3 deletions(-)
 create mode 100644 .woodpecker/woodpecker.yml

diff --git a/.woodpecker/woodpecker.yml b/.woodpecker/woodpecker.yml
new file mode 100644
index 0000000..11eea07
--- /dev/null
+++ b/.woodpecker/woodpecker.yml
@@ -0,0 +1,82 @@
+steps:
+  - name: test-standard
+    when:
+      event: [tag, push]
+    image: maven:3-openjdk-17
+    commands:
+      - mvn -B -DskipTests clean package
+      - mvn test -B
+      - echo target/ns-usbloader-*jar
+      - mkdir artifacts
+      - cp target/ns-usbloader-*jar artifacts
+    volumes:
+      - /home/docker/woodpecker/files/m2:/root/.m2
+
+  - name: make-windows-installer
+    when:
+      event: [tag, push]
+    image: wheatstalk/makensis:3
+    commands:
+      - cp target/NS-USBloader.exe misc/windows/NSIS/
+      - misc/windows/update_version.sh
+      - cd misc/windows/NSIS
+      - makensis -V4 ./installer.nsi
+      - echo Installer-*.exe
+      - cp Installer-*.exe "../../../artifacts"
+      - rm ./NS-USBloader.exe
+      - rm ./Installer-*.exe
+      - cd ../../../
+    volumes:
+      - /home/docker/woodpecker/files/assembly/openjdk-19.0.2:/assembly/jdk
+      - /home/docker/woodpecker/files/assembly/Drivers_set.exe:/assembly/Drivers_set.exe
+
+  - name: emerge-legacy-artifact
+    when:
+      event: [tag, push]
+    image: maven:3-openjdk-17
+    commands:
+      - . ./.make_legacy
+      - mvn -B -DskipTests clean package
+      - echo target/ns-usbloader-*jar
+      - cp target/ns-usbloader-*jar artifacts
+    volumes:
+      - /home/docker/woodpecker/files/m2:/root/.m2
+
+  - name: make-legacy-windows-installer
+    when:
+      event: [tag, push]
+    image: wheatstalk/makensis:3
+    commands:
+      - cp target/NS-USBloader.exe misc/windows/NSIS/
+      - misc/windows/update_version.sh legacy
+      - cd misc/windows/NSIS
+      - makensis -V4 ./installer.nsi
+      - echo Installer-*.exe
+      - cp Installer-*.exe "../../../artifacts"
+      - cd ../../../
+    volumes:
+      - /home/docker/woodpecker/files/assembly/openjdk-19.0.2:/assembly/jdk
+      - /home/docker/woodpecker/files/assembly/Drivers_set.exe:/assembly/Drivers_set.exe
+  
+  - name: emerge-mac-m1-artifact
+    when:
+      event: [tag, push]
+    image: maven:3-openjdk-17
+    commands:
+      - . ./.make_m1
+      - mvn -B -DskipTests clean package
+      - echo target/ns-usbloader-*jar
+      - cp target/ns-usbloader-*jar artifacts
+    volumes:
+      - /home/docker/woodpecker/files/m2:/root/.m2
+
+  - name: save-artifacts
+    when:
+      event: [tag, push]
+    image: alpine:latest
+    commands:
+      - export ARTIFACTS_DIR="$(date -d @$CI_PIPELINE_CREATED +'%Y-%m-%d %H:%m %Z')"
+      - mkdir -p /builds/ns-usbloader/
+      - mv artifacts "/builds/ns-usbloader/$ARTIFACTS_DIR"
+    volumes:
+      - /home/www/builds:/builds
\ No newline at end of file
diff --git a/README.md b/README.md
index d8aa487..91f8aa2 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 <h1 align="center"><img src="screenshots/ApplicationLogo.svg" alt="NS-USBloader" width="450px"/></h1>
 
-![License](https://img.shields.io/badge/License-GPLv3-blue.svg) ![Releases](https://img.shields.io/github/downloads/developersu/ns-usbloader/total.svg) ![LatestVer](https://img.shields.io/github/release/developersu/ns-usbloader.svg) [![Build Status](https://ci.redrise.ru/api/badges/desu/ns-usbloader/status.svg)](https://ci.redrise.ru/desu/ns-usbloader)
+![License](https://img.shields.io/badge/License-GPLv3-blue.svg) ![Releases](https://img.shields.io/github/downloads/developersu/ns-usbloader/total.svg) ![LatestVer](https://img.shields.io/github/release/developersu/ns-usbloader.svg) [![status-badge](https://ci.redrise.ru/api/badges/12/status.svg)](https://ci.redrise.ru/repos/12)
 
 NS-USBloader is:
 * A PC-side installer for **[Huntereb/Awoo-Installer](https://github.com/Huntereb/Awoo-Installer)** / other compatible installers (USB and Network supported) and **[XorTroll/Goldleaf](https://github.com/XorTroll/Goldleaf)** (USB) NSP installer. 
diff --git a/misc/windows/NSIS/installer.nsi b/misc/windows/NSIS/installer.nsi
index 4351b11..67c1073 100644
--- a/misc/windows/NSIS/installer.nsi
+++ b/misc/windows/NSIS/installer.nsi
@@ -91,8 +91,8 @@
 Section "NS-USBloader" Install
 
   SetOutPath "$INSTDIR"
-  file /r jdk
-  file Drivers_set.exe
+  file /r \assembly\jdk
+  file \assembly\Drivers_set.exe
   file NS-USBloader.exe
   file logo.ico