Skip to content

Build PDCursesMod

Build PDCursesMod #57

name: Build PDCursesMod
on:
workflow_dispatch:
schedule:
- cron: '0 9 1 1-12 *'
jobs:
raspios_lite-arm:
runs-on: ubuntu-latest
steps:
- name: Clone PDCursesMod Master
uses: actions/checkout@master
with:
repository: Bill-Gray/PDCursesMod
ref: refs/heads/master
- name: Make
uses: pguyot/arm-runner-action@v2
with:
base_image: raspios_lite:latest
bind_mount_repository: yes
commands: |
cd vt
make WIDE=Y DLL=Y CHTYPE_32=Y
mv libpdcurses.so libpdcursesmod-vt-arm.so
cd ../fb
make WIDE=Y DLL=Y CHTYPE_32=Y
mv libpdcurses.so libpdcursesmod-fb-arm.so
- name: Upload Artifacts (1)
uses: actions/upload-artifact@v3
with:
name: libraries
path: 'vt/*.so'
if-no-files-found: error
- name: Upload Artifacts (2)
uses: actions/upload-artifact@v3
with:
name: libraries
path: 'fb/*.so'
if-no-files-found: error
raspios_lite-arm64:
runs-on: ubuntu-latest
steps:
- name: Clone PDCursesMod Master
uses: actions/checkout@master
with:
repository: Bill-Gray/PDCursesMod
ref: refs/heads/master
- name: Make
uses: pguyot/arm-runner-action@v2
with:
base_image: raspios_lite_arm64:latest
bind_mount_repository: yes
commands: |
cd vt
make WIDE=Y DLL=Y CHTYPE_32=Y
mv libpdcurses.so libpdcursesmod-vt-arm64.so
cd ../fb
make WIDE=Y DLL=Y CHTYPE_32=Y
mv libpdcurses.so libpdcursesmod-fb-arm64.so
- name: Upload Artifacts (1)
uses: actions/upload-artifact@v3
with:
name: libraries
path: 'vt/*.so'
if-no-files-found: error
- name: Upload Artifacts (2)
uses: actions/upload-artifact@v3
with:
name: libraries
path: 'fb/*.so'
if-no-files-found: error
ubuntu-x64:
runs-on: ubuntu-latest
steps:
- name: Clone PDCursesMod Master
uses: actions/checkout@master
with:
repository: Bill-Gray/PDCursesMod
ref: refs/heads/master
- name: Install SDL1 and SDL2
run: |
sudo apt install libsdl1.2-dev libsdl-ttf2.0-dev libsdl2-dev libsdl2-ttf-dev
- name: Make VT
run: |
cd vt
make WIDE=Y DLL=Y CHTYPE_32=Y
mv libpdcurses.so libpdcursesmod-vt-x64.so
- name: Make FB
run: |
cd fb
make WIDE=Y DLL=Y CHTYPE_32=Y
mv libpdcurses.so libpdcursesmod-fb-x64.so
- name: Make SDL1
run: |
cd sdl1
make WIDE=Y DLL=Y CHTYPE_32=Y
mv libpdcurses.so libpdcursesmod-sdl1-x64.so
- name: Make SDL2
run: |
cd sdl2
make WIDE=Y DLL=Y CHTYPE_32=Y
mv libpdcurses.so libpdcursesmod-sdl2-x64.so
- name: Upload Artifacts (1)
uses: actions/upload-artifact@v3
with:
name: libraries
path: 'vt/*.so'
if-no-files-found: error
- name: Upload Artifacts (2)
uses: actions/upload-artifact@v3
with:
name: libraries
path: 'fb/*.so'
if-no-files-found: error
- name: Upload Artifacts (3)
uses: actions/upload-artifact@v3
with:
name: libraries
path: 'sdl1/*.so'
if-no-files-found: error
- name: Upload Artifacts (4)
uses: actions/upload-artifact@v3
with:
name: libraries
path: 'sdl2/*.so'
if-no-files-found: error
macos-x64:
runs-on: macOS-latest
steps:
- name: Clone PDCursesMod Master
uses: actions/checkout@master
with:
repository: Bill-Gray/PDCursesMod
ref: refs/heads/master
- name: Install SDL2
run: |
brew install sdl2 sdl2_ttf
- name: Make VT
run: |
cd vt
make WIDE=Y DLL=Y CHTYPE_32=Y
mv libpdcurses.dylib libpdcursesmod-vt-x64.dylib
- name: Make SDL2
run: |
cd sdl2
make WIDE=Y DLL=Y CHTYPE_32=Y
mv libpdcurses.dylib libpdcursesmod-sdl2-x64.dylib
- name: Upload Artifacts (1)
uses: actions/upload-artifact@v3
with:
name: libraries
path: 'vt/*.dylib'
if-no-files-found: error
- name: Upload Artifacts (2)
uses: actions/upload-artifact@v3
with:
name: libraries
path: 'sdl2/*.dylib'
if-no-files-found: error
windows-x64:
runs-on: windows-2019
steps:
- name: Clone PDCursesMod Master
uses: actions/checkout@master
with:
repository: Bill-Gray/PDCursesMod
ref: refs/heads/master
- name: Make WinGUI
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
cd wingui
nmake WIDE=Y DLL=Y CHTYPE_32=Y -f Makefile.vc
ren pdcurses.dll libpdcursesmod-wingui-x64.dll
shell: cmd
- name: Make WinCon
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
cd wincon
nmake WIDE=Y DLL=Y CHTYPE_32=Y -f Makefile.vc
ren pdcurses.dll libpdcursesmod-wincon-x64.dll
shell: cmd
- name: Make VT
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
cd vt
nmake WIDE=Y DLL=Y CHTYPE_32=Y -f Makefile.vc
ren pdcurses.dll libpdcursesmod-vt-x64.dll
shell: cmd
- name: Upload Artifacts (1)
uses: actions/upload-artifact@v3
with:
name: libraries
path: 'wingui/*.dll'
if-no-files-found: error
- name: Upload Artifacts (2)
uses: actions/upload-artifact@v3
with:
name: libraries
path: 'wincon/*.dll'
if-no-files-found: error
- name: Upload Artifacts (3)
uses: actions/upload-artifact@v3
with:
name: libraries
path: 'vt/*.dll'
if-no-files-found: error
create-pr:
runs-on: ubuntu-latest
needs: [ubuntu-x64, macos-x64, windows-x64, raspios_lite-arm, raspios_lite-arm64]
steps:
- name: Clone Repo
uses: actions/checkout@v3
- uses: actions/[email protected]
with:
name: libraries
path: lib/pdcursesmod
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
commit-message: (chore) Update PDCursesMod native libraries.
committer: Alexandru Ciobanu <alex+git[bot]@ciobanu.org>
author: Alexandru Ciobanu <alex+git[bot]@ciobanu.org>
title: Update PDCursesMod native library to latest master.
body: This is an auto-generated PR with native library updates.
delete-branch: true
labels: dependencies
assignees: pavkam
branch: pdcursesmod-lib-update