Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Github action for building EXE #3

Merged
merged 16 commits into from
Mar 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
45 changes: 45 additions & 0 deletions .github/workflows/ant.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Make self-contained Windows EXE

on:
workflow_dispatch:
push:
tags:
- v*

jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Setup Java runtime
uses: actions/setup-java@v3
with:
distribution: zulu
java-version: 17
java-package: jdk+fx
- name: Build with Ant
run: ant -noinput -buildfile build.xml compile jar
- name: Fetch 7-zip SFX
run: |
curl -LO https://www.7-zip.org/a/lzma2201.7z
7z e '-i!bin/7zSD.sfx' lzma2201.7z
- name: Download Java runtime for executable
uses: actions/setup-java@v3
with:
distribution: zulu
java-version: 17
java-package: jre+fx
- name: Create archive
run: |
mkdir pattypan-exe
cp -r ${{ env.JAVA_HOME }} pattypan-exe/java
cp pattypan.jar pattypan-exe
cp bundle/run.bat pattypan-exe
cd pattypan-exe
7z a -mx1 ../pattypan.7z *
- name: Create executable
run: cmd /c copy /b 7zSD.sfx + bundle\7z-sfx.cfg + pattypan.7z pattypan.exe
- name: Make release
uses: softprops/action-gh-release@v1
with:
files: pattypan.exe
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,13 @@ Tool that simplifies [Wikimedia Commons](https://commons.wikimedia.org/) batch f

For more information on usage, see [Commons:Pattypan](https://commons.wikimedia.org/wiki/Commons:Pattypan).

__[:arrow_down: Download](https://github.com/yarl/pattypan/releases)__
__[:arrow_down: Download](https://github.com/Wikimedia-Sverige/pattypan/releases)__

----
* Download the EXE file from downloads linked above.
* Launch the EXE file.
* You may see a popup saying "Windows protected your PC" and a text about the file not being recognised. Select "More info" ([image](readme-images/windows-protected-your-pc-more-info.png)) and then "Run anyway".
* You will see a popup from User Account Control asking if you want to run. Select "Yes".
* After closing Pattypan the first time you may see a popup saying "This program might not have installed correctly". Select "This program installed correctly" to not see it again.

### Build and run
[Apache Ant](https://ant.apache.org/) is used for building Pattypan. You need to have JDK 11 or later installed as well as [a download of OpenJFX](https://gluonhq.com/products/javafx/) for each platform you want to support. In order to download and build source code, do the following:
Expand Down
4 changes: 4 additions & 0 deletions bundle/7z-sfx.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
;!@Install@!UTF-8!
Title="Pattypan"
RunProgram="run.bat"
;!@InstallEnd@!
1 change: 1 addition & 0 deletions bundle/run.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
java\bin\java.exe -jar pattypan.jar
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.