mirror of
https://github.com/Picocrypt/Picocrypt.git
synced 2025-05-12 05:48:30 +02:00
Merge pull request #109 from Picocrypt/test-build-on-prs
Create test builds on pr
This commit is contained in:
commit
a59e9b2bf4
3 changed files with 198 additions and 0 deletions
71
.github/workflows/pr-test-build-linux.yml
vendored
Normal file
71
.github/workflows/pr-test-build-linux.yml
vendored
Normal file
|
@ -0,0 +1,71 @@
|
|||
name: pr-test-build-linux
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
pr-test-build-linux:
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: '>=1.24'
|
||||
check-latest: true
|
||||
cache: false
|
||||
|
||||
- name: Install packages
|
||||
run: |
|
||||
sudo apt install -y gcc xorg-dev libgtk-3-dev libgl1-mesa-dev libglu1-mesa wget
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
cd src
|
||||
go mod download
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cd src
|
||||
go build -v -ldflags="-s -w" -o Picocrypt Picocrypt.go
|
||||
env:
|
||||
CGO_ENABLED: 1
|
||||
GOAMD64: v1
|
||||
|
||||
- name: Package as .deb
|
||||
run: |
|
||||
wget https://github.com/user-attachments/files/16136712/Picocrypt.zip
|
||||
python -m zipfile -e Picocrypt.zip Picocrypt
|
||||
cp src/Picocrypt Picocrypt/Picocrypt/usr/bin/picocrypt-gui
|
||||
VERSION=$(cat VERSION)
|
||||
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
||||
echo "Version: $VERSION" >> Picocrypt/Picocrypt/DEBIAN/control
|
||||
echo "Version=$VERSION" >> Picocrypt/Picocrypt/usr/share/applications/picocrypt.desktop
|
||||
cd Picocrypt
|
||||
dpkg-deb -Zxz --build --root-owner-group Picocrypt
|
||||
|
||||
- name: Prepare to upload artifacts
|
||||
run: |
|
||||
mkdir out
|
||||
mv src/Picocrypt out
|
||||
mv Picocrypt/Picocrypt.deb out
|
||||
rm -rf src
|
||||
rm -rf Picocrypt
|
||||
mv out/Picocrypt .
|
||||
mv out/Picocrypt.deb .
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pr-test-build-linux-ONLY-FOR-TESTING
|
||||
path: |
|
||||
Picocrypt
|
||||
Picocrypt.deb
|
||||
if-no-files-found: error
|
||||
compression-level: 9
|
57
.github/workflows/pr-test-build-macos.yml
vendored
Normal file
57
.github/workflows/pr-test-build-macos.yml
vendored
Normal file
|
@ -0,0 +1,57 @@
|
|||
name: pr-test-build-macos
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
pr-test-build-macos:
|
||||
runs-on: macos-15
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: '>=1.24'
|
||||
check-latest: true
|
||||
cache: false
|
||||
|
||||
- name: Install packages
|
||||
run: |
|
||||
brew install glfw glew
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
cd src
|
||||
go mod download
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cd src
|
||||
go build -v -ldflags="-s -w" -o Picocrypt Picocrypt.go
|
||||
env:
|
||||
CGO_ENABLED: 1
|
||||
|
||||
- name: Package as .app in a .dmg
|
||||
run: |
|
||||
mv dist/macos/Picocrypt.app.zip .
|
||||
unzip -d Picocrypt.app Picocrypt.app.zip
|
||||
rm Picocrypt.app.zip
|
||||
mv src/Picocrypt Picocrypt.app/Contents/MacOS/Picocrypt
|
||||
mkdir out
|
||||
cp -R Picocrypt.app out
|
||||
hdiutil create Picocrypt.dmg -volname Picocrypt -fs APFS -format UDZO -srcfolder out
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pr-test-build-macos-ONLY-FOR-TESTING
|
||||
path: |
|
||||
Picocrypt.dmg
|
||||
if-no-files-found: error
|
||||
compression-level: 9
|
70
.github/workflows/pr-test-build-windows.yml
vendored
Normal file
70
.github/workflows/pr-test-build-windows.yml
vendored
Normal file
|
@ -0,0 +1,70 @@
|
|||
name: pr-test-build-windows
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
pr-test-build-windows:
|
||||
runs-on: windows-2025
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: '>=1.24'
|
||||
check-latest: true
|
||||
cache: false
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
cd src
|
||||
go mod download
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cd src
|
||||
go build -v -ldflags="-s -w -H=windowsgui -extldflags=-static" -o 1.exe Picocrypt.go
|
||||
env:
|
||||
CGO_ENABLED: 1
|
||||
GOAMD64: v1
|
||||
|
||||
- name: Add icon, manifest, and version info
|
||||
shell: pwsh
|
||||
run: |
|
||||
Invoke-WebRequest -OutFile reshacker_setup.zip https://github.com/user-attachments/files/18878075/reshacker_setup.zip
|
||||
Expand-Archive -DestinationPath reshacker_setup reshacker_setup.zip
|
||||
reshacker_setup/reshacker_setup.exe /SILENT
|
||||
Start-Sleep -Seconds 60
|
||||
Invoke-Expression "& `"$Env:P`" -open src/1.exe -save src/2.exe -action addoverwrite -res images/key.ico -mask `"ICONGROUP,MAINICON,`""
|
||||
Start-Sleep -Seconds 30
|
||||
Invoke-Expression "& `"$Env:P`" -open src/2.exe -save src/3.exe -action addoverwrite -res images/key.ico -mask `"ICONGROUP,GLFW_ICON,`""
|
||||
Start-Sleep -Seconds 30
|
||||
Invoke-Expression "& `"$Env:P`" -open src/3.exe -save src/4.exe -action addoverwrite -res dist/windows/manifest.xml -mask `"MANIFEST,1,`""
|
||||
Start-Sleep -Seconds 30
|
||||
Invoke-Expression "& `"$Env:P`" -open dist/windows/versioninfo.rc -save resources.res -action compile"
|
||||
Start-Sleep -Seconds 30
|
||||
Invoke-Expression "& `"$Env:P`" -open src/4.exe -save src/5.exe -action addoverwrite -res resources.res"
|
||||
Start-Sleep -Seconds 30
|
||||
env:
|
||||
P: "C:\\Program Files (x86)\\Resource Hacker\\ResourceHacker.exe"
|
||||
|
||||
- name: Compress with upx
|
||||
shell: pwsh
|
||||
run: |
|
||||
Invoke-WebRequest -OutFile upx.zip https://github.com/user-attachments/files/15894908/upx-4.2.4-win64.zip
|
||||
Expand-Archive -DestinationPath upx upx.zip
|
||||
upx/upx-4.2.4-win64/upx.exe --lzma --brute -o src/Picocrypt.exe src/5.exe
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pr-test-build-windows-ONLY-FOR-TESTING
|
||||
path: src/*.exe
|
||||
if-no-files-found: error
|
||||
compression-level: 9
|
Loading…
Add table
Reference in a new issue