Works at home, need to test in car. #219
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Original works by ddub07 <github.com> | |
# 03/01/2023 - GampyG28 <github.com> major overhaul, renamed and updated. | |
# 04/16/2023 - GampyG28 <github.com> Added Assembly Kernels and Loaders | |
# 07/16/2023 - GampyG28 <github.com> Removed C Kernel builds | |
# | |
name: CheckBuild | |
on: [ pull_request, push ] | |
jobs: | |
Kernels: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout Code | |
uses: actions/[email protected] | |
- name: Update Package Repository | |
run: sudo apt-get update | |
- name: Install GNU m68k Compiler and Make tool | |
run: sudo apt-get install -y gcc-m68k-linux-gnu make | |
- name: Create temporary artifact storage | |
run: mkdir TemporaryArtifactStorage | |
- name: Build Assembly Kernels and Loaders | |
run: | | |
cd Kernels | |
# | |
# Each group is required to have 3 elements in the following order | |
# 1: PCM Moniker (P01 (includes P59), P04, P08, etc...) | |
# 2: Kernel Base Address | |
# 3: Loader Base Address or NOLOADER if a loader is not used. | |
# | |
for p in "P01 FF8000 NOLOADER" "P04 FF9090 FF9890" "P08 FFA800 FFB000" "P10 FFB800 NOLOADER" "P12 FF2000 NOLOADER" "E54 FF8F50 NOLOADER"; do | |
pcm="${p%% *}"; | |
p="${p#* }" | |
address="${p%% *}" | |
p="${p#* }" | |
loader="${p%% *}" | |
echo "Building Kernel : ${pcm}" | |
make -f makefile-assembly PREFIX=/usr/bin/m68k-linux-gnu- pcm=${pcm} address=${address} | |
echo " Copy-Item Kernel-${pcm}.bin to TemporaryArtifactStorage" | |
cp Kernel-${pcm}.bin ../TemporaryArtifactStorage/ | |
echo " Cleanup after Kernel-${pcm}" | |
echo | |
make clean | |
# | |
# Build the Loader if requested | |
# | |
if [ ${loader} != NOLOADER ]; then | |
echo "Building Loader : ${pcm}" | |
make -f makefile-assembly PREFIX=/usr/bin/m68k-linux-gnu- pcm=${pcm} address=${loader} name=Loader | |
echo " Copy-Item Loader-${pcm}.bin to TemporaryArtifactStorage" | |
cp Loader-${pcm}.bin ../TemporaryArtifactStorage/ | |
echo " Cleanup after Loader-${pcm}" | |
echo | |
make clean | |
fi | |
done | |
- name: Upload artifacts | |
uses: actions/[email protected] | |
with: | |
name: Kernels_${{github.sha}} | |
path: TemporaryArtifactStorage | |
PCMHammer: | |
needs: Kernels | |
runs-on: windows-2019 | |
steps: | |
- name: Checkout Code | |
uses: actions/[email protected] | |
- name: Setup MSBuild Path | |
uses: microsoft/[email protected] | |
- name: Setup NuGet | |
uses: NuGet/[email protected] | |
- name: Restore NuGet Packages | |
run: nuget restore Apps/PcmApps.sln | |
- name: Download Kernels artifact | |
uses: actions/[email protected] | |
with: | |
name: Kernels_${{github.sha}} | |
path: TemporaryArtifactStorage | |
- name: Remove Stale Kernels artifact | |
uses: geekyeggo/delete-artifact@v2 | |
with: | |
name: Kernels_${{github.sha}} | |
- name: Build Applications | |
run: msbuild Apps/PcmApps.sln | |
- name: Add PCM Hammer to temporary artifact storage | |
run: | | |
Copy-Item -Path "Apps/PcmHammer/bin/Debug/PcmHammer.*" -Destination TemporaryArtifactStorage | |
Copy-Item -Path "Apps/PcmHammer/bin/Debug/*.dll" -Destination TemporaryArtifactStorage | |
Copy-Item -Path "Apps/PcmHammer/bin/Debug/*.pdb" -Destination TemporaryArtifactStorage | |
- name: Add PCM Logger to temporary artifact storage | |
run: | | |
Copy-Item -Path "Apps/PcmLogger/bin/Debug/PcmLogger.*" -Destination TemporaryArtifactStorage | |
Copy-Item -Path "Apps/PcmLogger/bin/Debug/*.dll" -Destination TemporaryArtifactStorage | |
Copy-Item -Path "Apps/PcmLogger/bin/Debug/*.pdb" -Destination TemporaryArtifactStorage | |
Copy-Item -Path "Apps/PcmLogger/*.LogProfile" -Destination TemporaryArtifactStorage | |
Copy-Item -Path "Apps/PcmLogger/Parameters.*.xml" -Destination TemporaryArtifactStorage | |
- name: Add VPW Explorer to temporary artifact storage | |
run: | | |
Copy-Item -Path "Apps/VpwExplorer/bin/Debug/VpwExplorer.*" -Destination TemporaryArtifactStorage | |
Copy-Item -Path "Apps/VpwExplorer/bin/Debug/*.dll" -Destination TemporaryArtifactStorage | |
Copy-Item -Path "Apps/VpwExplorer/bin/Debug/*.pdb" -Destination TemporaryArtifactStorage | |
- name: Is it all there ?? | |
run: ls -l TemporaryArtifactStorage/ | |
- name: Upload artifacts | |
uses: actions/[email protected] | |
with: | |
name: PCMHacks_${{github.sha}} | |
path: TemporaryArtifactStorage | |