Draft: Antus/20240908 wip #227
Workflow file for this run
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 | |
# 09/05/2024 - Antus <pcmhacking.net> Update actions | |
# | |
name: CheckBuild | |
on: [ pull_request, push ] | |
jobs: | |
Kernels: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- 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 FF8000 FF9890" "P04_Early FF8000 NOLOADER" "P08 FFAC00 NOLOADER" "P10 FFB800 NOLOADER" "P12 FF2000 NOLOADER" "E54 FF9100 NOLOADER" "BlackBox FFC300 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 -f makefile-assembly 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 -f makefile-assembly clean | |
fi | |
done | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
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/[email protected] | |
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 | |