kolibrios-gcc-toolchain/.github/workflows/test.yml

148 lines
3.7 KiB
YAML

name: Test
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:
jobs:
#Test linux install script
linux-install:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run script
run: echo '/home/autobuild/tools' | ${{ github.workspace }}/./install.sh
- name: Add toolchain to path
run: echo "/home/autobuild/tools/win32/bin" >> $GITHUB_PATH
- name: Test run
run: |
kos32-gcc -v
kos32-g++ -v
#Test Batch install script
batch-install:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Install depends
run: |
choco install wget
choco install 7zip
- name: Run script
run: ${{ github.workspace }}\install.bat
#Test PowerShell install script
PowerShell-install:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Install modules
run: |
Set-PSRepository PSGallery -InstallationPolicy Trusted
Install-Module -Name 7Zip4PowerShell
- name: Run script
run: ${{ github.workspace }}\install.ps1
#Test Windows Installer
build-Installer:
runs-on: windows-latest
needs: PowerShell-install
steps:
- uses: actions/checkout@v4
- name: Build
run: |
cmake -B ${{ github.workspace }}/build
cmake --build ${{ github.workspace }}/build --target Installer
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: windows-installer
# Upload entire repository
path: './build/installer.exe'
# Test deb package build
deb-package-build:
runs-on: ubuntu-latest
needs: linux-install
steps:
- uses: actions/checkout@v4
- name: Build
run: |
cmake -B ${{ github.workspace }}/build
cmake --build ${{ github.workspace }}/build --target deb
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: deb-package
# Upload entire repository
path: './build/package.deb'
# Test deb package install/remove
deb-package-test:
runs-on: ubuntu-latest
needs: deb-package-build
steps:
- name: Install package
run: echo '/kolibrios-toolchain' | sudo apt install ${{ github.workspace }}/build/package.deb -y
- name: Add toolchain to path
run: echo "/kolibrios-toolchain/win32/bin" >> $GITHUB_PATH
- name: Test run
run: |
kos32-g++ -v
kos32-gcc -v
/home/autobuild/tools/win32/bin/kos32-gcc -v
/home/autobuild/tools/win32/bin/kos32-g++ -v
/kolibrios-toolchain/win32/bin/kos32-gcc -v
/kolibrios-toolchain/win32/bin/kos32-g++ -v
- name: Remove package
run: sudo apt remove kos32-gcc
#Test chocolatey package build
chocolatey-package-build:
runs-on: windows-latest
needs: PowerShell-install
steps:
- uses: actions/checkout@v4
- name: Build
run: |
cmake -B ${{ github.workspace }}/build
cmake --build ${{ github.workspace }}/build --target choco
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: choco-package
# Upload entire repository
path: './build/choco-package.nupkg'
# Test chocolatey package install/remove
chocolatey-package-test:
runs-on: ubuntu-latest
needs: chocolatey-package-build
steps:
- name: Install package
run: choco install ${{ github.workspace }}\build\choco-package.nupkg
- name: Remove package
run: choco uninstall kos32-gcc