Skip to content

ci: add CI jobs for TI compilers #104

ci: add CI jobs for TI compilers

ci: add CI jobs for TI compilers #104

Workflow file for this run

on:
push:
branches-ignore:
- 'ci/**'
- '!ci/gha**'
- 'dependabot/**'
pull_request:
branches:
- 'master'
concurrency:
group: build-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
check-generated-files:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Regenerate files
working-directory: test
run: make maintainer-clean && make generate ECHO="$(which echo)"
- name: Check for changes
run: git diff --exit-code
# dmc:
# runs-on: windows-latest
# strategy:
# matrix:
# version:
# - "8.26"
# - "8.30"
# - "8.40"
# - "8.50"
# - "8.57"
# steps:
# - uses: actions/checkout@v4
# - name: Install Digital Mars C/C++ Compiler
# run: |
# $version = "${{ matrix.version }}".Replace(".", "")
# $url = "http://ftp.digitalmars.com/Digital_Mars_C++/Patch/dm${version}c.zip"
# Invoke-WebRequest -Uri "${url}" -OutFile "dmc.zip"
# Expand-Archive -LiteralPath "dmc.zip" -DestinationPath dmc-tmp
# Move-Item -Path dmc-tmp\* -Destination dmc
# working-directory: test
# - name: Compile
# env:
# CC: dmc\bin\dmc.exe
# CXX: dmc\bin\dmc.exe
# run: make -f Makefile.dmc
# working-directory: test
# nvhpc:
# runs-on: ubuntu-latest
# strategy:
# matrix:
# version:
# # For available versions, see https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64/Packages
# - "20.11"
# # - "21.1" ## BROKEN. File size mismatch.
# # - "21.2"
# # - "21.3"
# # - "21.5"
# # - "21.7"
# # - "21.9"
# # - "21.11"
# # - "22.1"
# # - "22.2"
# # - "22.3"
# # - "22.5"
# # - "22.7"
# # - "22.9"
# # - "22.11"
# # - "23.1"
# # - "23.3"
# # - "23.5"
# # - "23.7"
# # - "23.9"
# # - "23.11"
# # - "24.1"
# # - "24.3"
# - "24.7"
# steps:
# - uses: actions/checkout@v4
# - name: Free some disk space
# run: sudo rm -rf /usr/local/lib/android /usr/local/.ghcup/ghc
# - name: Install NVidia HPC SDK
# run: |
# curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg
# echo 'deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list
# sudo apt-get update -y
# sudo apt-get install -y nvhpc-$(echo "${{ matrix.version }}" | tr '.' '-')
# - name: Compile
# env:
# CC: /opt/nvidia/hpc_sdk/Linux_x86_64/"${{ matrix.version }}"/compilers/bin/nvc
# CXX: /opt/nvidia/hpc_sdk/Linux_x86_64/"${{ matrix.version }}"/compilers/bin/nvc++
# working-directory: test
# run: make
# pelles-c:
# runs-on: windows-latest
# strategy:
# matrix:
# version:
# # https://community.chocolatey.org/packages/pelles-c#versionhistory
# - "12.0.2"
# - "11.0.2"
# - "10.0.6"
# - "9.00.0.0"
# # - "8.00.0.0" ## Installation times out.
# steps:
# - uses: actions/checkout@v2
# - name: Install Pelles-C
# uses: crazy-max/ghaction-chocolatey@v3
# with:
# args: install pelles-c --version "${{ matrix.version }}" --no-progress
# - name: Compile
# env:
# CC: 'C:\Program Files\PellesC\bin\pocc.exe'
# LD: 'C:\Program Files\PellesC\bin\polink.exe'
# CFLAGS: '/IC:\Progra~1\PellesC\Include'
# LDFLAGS: '/LIBPATH:C:\Progra~1\PellesC\lib /LIBPATH:C:\Progra~1\PellesC\Lib\Win64'
# working-directory: test
# run: make -f Makefile.pelles
ti:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- tool: ARM
version: 20.2.7.LTS
compiler: armcl
- tool: ARM
version: 5.2.9
compiler: armcl
- tool: MSP
version: 21.6.1.LTS
compiler: cl430
- tool: MSP
version: 4.4.8
compiler: cl430
- tool: C2000
version: 22.6.1.LTS
compiler: cl2000
- tool: C2000
version: 6.0.1
compiler: cl2000
- tool: C6000
version: 8.3.13
compiler: cl6x
- tool: C6000
version: 7.3.0
compiler: cl6x
- tool: C7000
version: 4.1.0.LTS
compiler: cl7x
- tool: C7000
version: 1.2.9
compiler: cl7x
- tool: PRU
version: 2.3.3
compiler: clpru
- tool: PRU
version: 2.1.0
compiler: clpru
steps:
- uses: actions/checkout@v4
- name: Install Compiler
run: |
curl -s -o installer.bin "$(curl -s "https://www.ti.com/tool/download/${{ matrix.tool }}-CGT/${{ matrix.version }}" | grep -oP 'https://[a-zA-Z0-9\._\-/]+\.bin')"
chmod u+x installer.bin
./installer.bin --mode unattended --unattendedmodeui none --prefix ti-compiler
mv ti-compiler/* ti-compiler/compiler
- name: List
run: ls ti-compiler/compiler/bin
- name: Compile
env:
CC: ../ti-compiler/compiler/bin/${{ matrix.compiler }}
working-directory: test
run: make