-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #427 from jmalak/workflow-cleanup-6
add new local composite actions to simplify workflow script
- Loading branch information
Showing
9 changed files
with
1,261 additions
and
1,143 deletions.
There are no files selected for viewing
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
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 file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
name: check-file-list | ||
description: 'Checking files in the list' | ||
|
||
inputs: | ||
path: | ||
description: 'path where to check' | ||
default: '' | ||
list: | ||
description: 'list of files to check' | ||
default: '' | ||
runs: | ||
using: composite | ||
steps: | ||
- name: Check file list | ||
working-directory: ${{inputs.path}} | ||
run: | | ||
missing_files= | ||
for fname in ${{inputs.list}}; do | ||
if [[ ! -f "$fname" ]]; then | ||
echo "Build result not found: $fname" | ||
missing_files=$missing_files $fname | ||
fi | ||
done | ||
if [[ ! -z "$missing_files" ]]; then | ||
echo "Missing build outputs: $missing_files" | ||
echo "One or more expected outputs are missing - failing build" | ||
exit 1 | ||
fi | ||
shell: bash |
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 file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
name: load-open-zinc | ||
description: Load Open Zinc | ||
inputs: | ||
nocache: | ||
description: 'skip cache' | ||
default: '' | ||
required: false | ||
type: string | ||
ver: | ||
description: 'version' | ||
default: '' | ||
required: false | ||
type: string | ||
id: | ||
description: 'Identification' | ||
default: '' | ||
required: false | ||
type: string | ||
# | ||
# expected filename: https://ftp.zx.net.nz/pub/dev/openzinc/oz1/OZ1.zip | ||
# | ||
# OpenZinc is available from http://openzinc.com/Downloads/OZ1.zip | ||
# But we don't want to waste the resources of the generous OpenZinc developer, | ||
# so we grab it from a mirror | ||
# | ||
runs: | ||
using: composite | ||
steps: | ||
- name: Load Cache Open Zinc | ||
if: inputs.nocache != 'true' | ||
uses: actions/cache@v4 | ||
id: cache-openzinc | ||
with: | ||
path: ${{github.workspace}}/zinc | ||
key: all-openzinc | ||
- name: Get and unpack Open Zinc | ||
if: steps.cache-openzinc.outputs.cache-hit != 'true' | ||
run: | | ||
mkdir -p zinc | ||
curl -LsS -o oz1.zip ${{env.OPENZINC}} | ||
7z x oz1.zip -ozinc | ||
rm -f oz1.zip | ||
shell: bash |
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 file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
name: load-build-tools | ||
description: Load build tools | ||
inputs: | ||
nocache: | ||
description: 'skip cache' | ||
default: '' | ||
required: false | ||
type: string | ||
# | ||
# JOM make, used instead of nmake for parallel builds | ||
# | ||
# expected filename: https://download.qt.io/official_releases/jom/jom.zip | ||
# | ||
# NASM assembler | ||
# | ||
# expected filename: https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win32/nasm-2.15.05-win32.zip | ||
# | ||
# Infozip | ||
# | ||
# expected filename: ftp://ftp.info-zip.org/pub/infozip/win32/zip300xn.zip | ||
# expected filename: ftp://ftp.info-zip.org/pub/infozip/os2/unz600.exe | ||
# | ||
# alternate site: https://ftp.zx.net.nz/pub/archive/ftp.info-zip.org/pub/infozip/ | ||
# | ||
# OS2TK45 OS/2 header files | ||
# | ||
# expected filename: https://88watts.net/dlfile.php?F=Os2Tk45- | ||
# | ||
# OS/2 Developer's Toolkit v4.5 is available on David Azarewicz's 88watts.net | ||
# *supposedly* with permission from IBM - or so Arca Noae (which David is | ||
# involved with) claims on this page: | ||
# https://www.arcanoae.com/wiki/information-for-developers/ | ||
# It is needed only for building the IBM TCP/IP 2.0 TCP/IP backend. The SDK | ||
# for this is also available on the OS/2 Warp 4 CD. | ||
# | ||
runs: | ||
using: composite | ||
steps: | ||
- name: Load Build Tools Cache | ||
if: inputs.nocache != 'true' | ||
uses: actions/cache@v4 | ||
id: cache-tools | ||
with: | ||
path: | | ||
${{github.workspace}}/tools | ||
${{github.workspace}}/info-zip/zip.exe | ||
${{github.workspace}}/info-zip/unzip.exe | ||
${{github.workspace}}/info-zip/os2 | ||
key: all-nasm+jom+info-zip+os2tk45 | ||
- run: mkdir -p tools | ||
if: steps.cache-tools.outputs.cache-hit != 'true' | ||
shell: bash | ||
- name: Get and unpack nasm | ||
if: steps.cache-tools.outputs.cache-hit != 'true' | ||
run: | | ||
curl -LsS -o nasm-2.15.05-win32.zip https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win32/nasm-2.15.05-win32.zip | ||
7z x nasm-2.15.05-win32.zip -otools | ||
rm -f nasm-2.15.05-win32.zip | ||
mv tools/nasm-2.15.05 tools/nasm | ||
echo "content of tools/nasm" | ||
ls -l tools/nasm | ||
shell: bash | ||
- name: Get and unpack nasm | ||
if: steps.cache-tools.outputs.cache-hit != 'true' | ||
run: | | ||
mkdir -p tools/jom | ||
curl -LsS -o jom.zip https://download.qt.io/official_releases/jom/jom.zip | ||
7z x jom.zip -otools/jom | ||
rm -f jom.zip | ||
echo "content of tools/jom" | ||
ls -l tools/jom | ||
shell: bash | ||
- name: Get and unpack os2tk45 | ||
if: steps.cache-tools.outputs.cache-hit != 'true' | ||
run: | | ||
curl -LsS -o os2tk45.zip ${{env.OS2TK45}} | ||
7z x os2tk45.zip | ||
rm -f os2tk45.zip | ||
mv toolkit/os2tk45 tools/os2tk45 | ||
mv tools/os2tk45/h tools/os2tk45/include | ||
echo "content of tools/os2tk45" | ||
ls -l tools/os2tk45 | ||
shell: bash | ||
- name: Get and unpack Info-Zip | ||
if: steps.cache-tools.outputs.cache-hit != 'true' | ||
run: | | ||
mkdir -p info-zip/os2 | ||
curl -LsS -o zip.zip ${{env.INFOZIP_FTP}}win32/zip300xn.zip | ||
7z x zip.zip -oinfo-zip | ||
rm -f zip.zip | ||
curl -LsS -o unzip.zip ${{env.INFOZIP_FTP}}os2/unz600.exe | ||
7z x unzip.zip -oinfo-zip/os2 | ||
rm -f unzip.zip | ||
mv info-zip/os2/32-bit/* info-zip/os2/ | ||
echo "content of info-zip/os2" | ||
ls -l info-zip/os2 | ||
echo "content of info-zip" | ||
ls -l info-zip | ||
shell: bash |
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 file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
name: load-vs2003-psdk2003-sp1 | ||
description: Load Visual Studio 2003/2005 Toolkit and PSDK 2003 SP1 | ||
inputs: | ||
nocache: | ||
description: 'skip cache' | ||
default: '' | ||
required: false | ||
type: string | ||
arch: | ||
description: 'Architecture' | ||
default: '' | ||
required: false | ||
type: string | ||
# | ||
# expected filename: https://ftp.zx.net.nz/pub/dev/VC2003Toolkit/VCT2003+PSDK2003+cvtres.7z | ||
# | ||
runs: | ||
using: composite | ||
steps: | ||
- name: Load Cache VS2003 | ||
if: inputs.nocache != 'true' | ||
uses: actions/cache@v4 | ||
id: cache-vs2003 | ||
with: | ||
path: | | ||
${{github.workspace}}\vs2003 | ||
key: all-vs2003+psdk2003sp1 | ||
- name: Get and unpack Visual C++ 2003 Toolkit and PSDK 2003 SP1 | ||
if: steps.cache-vs2003.outputs.cache-hit != 'true' | ||
run: | | ||
curl -LsS -o vs2003.7z https://ftp.zx.net.nz/pub/dev/VC2003Toolkit/VCT2003+PSDK2003+cvtres.7z | ||
7z x vs2003.7z | ||
rm -f vs2003.7z | ||
mv "Microsoft Platform SDK 2003SP1" vs2003 | ||
rm -f vs2003\Bin\Cvtres.exe | ||
echo "content of vs2003" | ||
ls -l vs2003 | ||
shell: bash | ||
- name: Setup build MSVC compiler Environment | ||
run: | | ||
rem add build MSVC compiler on the beginning of PATH | ||
rem we need cvtres.exe from current MSVC compiler only | ||
if "${{inputs.arch}}" == "x86" echo ${{github.workspace}}\vs2003\bin>> "%GITHUB_PATH%" | ||
if "${{inputs.arch}}" == "ia64" echo ${{github.workspace}}\vs2003\bin\win64;${{github.workspace}}\vs2003\bin>> "%GITHUB_PATH%" | ||
rem Don't want to pick up headers or libraries from current MSVC compiler | ||
rem we override INCLUDE and LIB environment variables to point to build MSVC compiler | ||
echo INCLUDE=${{github.workspace}}\vs2003\include>> "%GITHUB_ENV%" | ||
if "${{inputs.arch}}" == "x86" echo LIB=${{github.workspace}}\vs2003\lib;%LIB%>> "%GITHUB_ENV%" | ||
if "${{inputs.arch}}" == "ia64" echo LIB=${{github.workspace}}\vs2003\lib\ia64>> "%GITHUB_ENV%" | ||
shell: cmd | ||
|
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 file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
name: load-vs2010-psdk71 | ||
description: Load Visual Studio 2010 Toolkit and PSDK 7.1 | ||
inputs: | ||
nocache: | ||
description: 'skip cache' | ||
default: '' | ||
required: false | ||
type: string | ||
arch: | ||
description: 'Architecture' | ||
default: '' | ||
required: false | ||
type: string | ||
# | ||
# expected filename: https://ftp.zx.net.nz/pub/dev/WinSDK/win7-7.1-dn4/win7-7.1-sdk-vc.7z | ||
# expected filename: https://ftp.zx.net.nz/pub/dev/WinSDK/win7-7.1-dn4/win7-7.1-sdk-psdk.7z | ||
# expected filename: http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe | ||
# | ||
runs: | ||
using: composite | ||
steps: | ||
- name: Load Cache VS2010 | ||
if: inputs.nocache != 'true' | ||
uses: actions/cache@v4 | ||
id: cache-vs2010 | ||
with: | ||
path: | | ||
${{github.workspace}}\Microsoft SDKs | ||
${{github.workspace}}\Microsoft Visual Studio 10.0 | ||
${{github.workspace}}\vc10.cmd | ||
${{github.workspace}}\vs2010 | ||
key: all-vs2010-psdk71-redist | ||
- name: Get and unpack Visual C++ 2010 Toolkit | ||
if: steps.cache-vs2010.outputs.cache-hit != 'true' | ||
run: | | ||
curl -LsS -o win7-7.1-sdk-vc.7z https://ftp.zx.net.nz/pub/dev/WinSDK/win7-7.1-dn4/win7-7.1-sdk-vc.7z | ||
7z x win7-7.1-sdk-vc.7z | ||
rm -f win7-7.1-sdk-vc.7z | ||
echo "content of Microsoft Visual Studio 10.0" | ||
ls -l "Microsoft Visual Studio 10.0" | ||
shell: bash | ||
- name: Get and unpack Windows 7 Platform SDK 7.1 | ||
if: steps.cache-vs2010.outputs.cache-hit != 'true' | ||
run: | | ||
curl -LsS -o win7-7.1-sdk-psdk.7z https://ftp.zx.net.nz/pub/dev/WinSDK/win7-7.1-dn4/win7-7.1-sdk-psdk.7z | ||
7z x win7-7.1-sdk-psdk.7z | ||
rm -f win7-7.1-sdk-psdk.7z | ||
echo "content of Microsoft SDKs" | ||
ls -l "Microsoft SDKs" | ||
shell: bash | ||
- name: Get Visual C++ 2010 runtime | ||
if: steps.cache-vs2010.outputs.cache-hit != 'true' | ||
run: | | ||
mkdir -p vs2010 | ||
curl -LsS -o vs2010/vcredist_x86.exe http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe | ||
echo "content of vs2010" | ||
ls -l vs2010 | ||
shell: bash | ||
- name: Install the VS2010 runtime | ||
working-directory: ${{github.workspace}} | ||
run: vs2010\vcredist_x86.exe /q /norestart | ||
shell: cmd |
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 file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
name: load-open-watcom | ||
description: Load Open Watcom | ||
inputs: | ||
nocache: | ||
description: 'skip cache' | ||
default: '' | ||
required: false | ||
type: string | ||
ver: | ||
description: 'version' | ||
default: '' | ||
required: false | ||
type: string | ||
id: | ||
description: 'Identification' | ||
default: '' | ||
required: false | ||
type: string | ||
# | ||
# Open Watcom 1.9 | ||
# expected filename: https://github.com/open-watcom/open-watcom-1.9/releases/download/ow1.9/open-watcom-c-linux-1.9 | ||
# | ||
# Open Watcom 2.0 | ||
# expected filename: https://github.com/open-watcom/open-watcom-v2/releases/download/Current-build/ow-snapshot.tar.xz | ||
# | ||
runs: | ||
using: composite | ||
steps: | ||
- name: Load Cache VS2003 | ||
if: inputs.nocache != 'true' | ||
uses: actions/cache@v4 | ||
id: cache-ow | ||
with: | ||
path: | | ||
${{github.workspace}}\watcom | ||
key: all-open-watcom-${{inputs.ver}} | ||
- name: Get and unpack Open Watcom | ||
if: steps.cache-ow.outputs.cache-hit != 'true' | ||
run: | | ||
mkdir -p watcom | ||
if [[ "${{inputs.ver}}" = "2.0" ]]; then | ||
curl -LsS -o ow-snapshot.tar.xz https://github.com/open-watcom/open-watcom-v2/releases/download/Current-build/ow-snapshot.tar.xz | ||
7z x ow-snapshot.tar.xz | ||
7z x ow-snapshot.tar -owatcom | ||
rm -f ow-snapshot.tar.xz ow-snapshot.tar | ||
else | ||
curl -LsS -o ow.zip https://github.com/open-watcom/open-watcom-1.9/releases/download/ow1.9/open-watcom-c-linux-1.9 | ||
7z x ow.zip -owatcom | ||
rm -f ow.zip | ||
fi | ||
echo "content of watcom" | ||
ls -l watcom | ||
shell: bash | ||
- name: Setup Open Watcom Environment | ||
run: | | ||
if [[ "${{runner.os}}" = "Windows" ]]; then | ||
X=\\ | ||
else | ||
X=/ | ||
fi | ||
echo "WATCOM=${{github.workspace}}${X}watcom">> "$GITHUB_ENV" | ||
echo "${{github.workspace}}${X}watcom${X}binw">> "$GITHUB_PATH" | ||
if [[ "${{runner.os}}" = "Windows" ]]; then | ||
echo "${{github.workspace}}${X}watcom${X}binnt">> "$GITHUB_PATH" | ||
else | ||
echo "${{github.workspace}}${X}watcom${X}binl">> "$GITHUB_PATH" | ||
fi | ||
if [[ "${{inputs.id}}" = "os2" ]]; then | ||
echo "INCLUDE=${{github.workspace}}${X}watcom${X}h;${{github.workspace}}${X}watcom${X}h${X}os2">> "$GITHUB_ENV" | ||
else | ||
echo "INCLUDE=${{github.workspace}}${X}watcom${X}h;${{github.workspace}}${X}watcom${X}h${X}nt">> "$GITHUB_ENV" | ||
fi | ||
shell: bash |
Oops, something went wrong.