Skip to content

Change list for version 1.2.2 (#736) #1083

Change list for version 1.2.2 (#736)

Change list for version 1.2.2 (#736) #1083

Workflow file for this run

name: CI
on:
push:
pull_request:
schedule:
- cron: '5 4 * * 2' # once a week on Tuesday
jobs:
check_format:
name: Check Format
runs-on: ubuntu-26.04
steps:
- uses: actions/checkout@v6
- run: ./travis.sh
env:
CHECK_CLANG_FORMAT: 1
build:
name: Build (${{ matrix.os }}, llvm-${{ matrix.llvm }}, cuda=${{ matrix.cuda }}, ${{ matrix.lua }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ['macos-15-intel', 'macos-15', 'windows-2022']
llvm: ['11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22']
cuda: ['0', '1']
lua: ['luajit', 'moonjit']
exclude:
# macOS: exclude cuda
- os: 'macos-15-intel'
cuda: '1'
- os: 'macos-15'
cuda: '1'
# macOS 15 ARM: exclude Moonjit (M1 requires LuaJIT)
- os: 'macos-15'
lua: 'moonjit'
# macOS 15 Intel: exclude LLVM 11-14
- os: 'macos-15-intel'
llvm: '11'
- os: 'macos-15-intel'
llvm: '12'
- os: 'macos-15-intel'
llvm: '13'
- os: 'macos-15-intel'
llvm: '14'
# macOS 15 ARM: exclude LLVM 11-15
- os: 'macos-15'
llvm: '11'
- os: 'macos-15'
llvm: '12'
- os: 'macos-15'
llvm: '13'
- os: 'macos-15'
llvm: '14'
- os: 'macos-15'
llvm: '15'
# CUDA: only LLVM 22
- llvm: '12'
cuda: '1'
- llvm: '12'
cuda: '1'
- llvm: '13'
cuda: '1'
- llvm: '14'
cuda: '1'
- llvm: '15'
cuda: '1'
- llvm: '16'
cuda: '1'
- llvm: '17'
cuda: '1'
- llvm: '18'
cuda: '1'
- llvm: '19'
cuda: '1'
- llvm: '20'
cuda: '1'
- llvm: '21'
cuda: '1'
# Moonjit: only LLVM 16
- llvm: '11'
lua: 'moonjit'
- llvm: '12'
lua: 'moonjit'
- llvm: '13'
lua: 'moonjit'
- llvm: '14'
lua: 'moonjit'
- llvm: '15'
lua: 'moonjit'
- llvm: '17'
lua: 'moonjit'
- llvm: '18'
lua: 'moonjit'
- llvm: '19'
lua: 'moonjit'
- llvm: '20'
lua: 'moonjit'
- llvm: '21'
lua: 'moonjit'
- llvm: '22'
lua: 'moonjit'
steps:
- uses: actions/checkout@v6
- run: ./travis.sh
shell: bash
env:
LLVM_VERSION: ${{ matrix.llvm }}
USE_CUDA: ${{ matrix.cuda }}
STATIC_LLVM: 1
STATIC_LUAJIT: 1
SLIB_INCLUDE_LLVM: 1
SLIB_INCLUDE_LUAJIT: 1
TERRA_LUA: ${{ matrix.lua }}
- uses: actions/upload-artifact@v7
with:
name: terra-${{ matrix.os }}-x86_64-llvm-${{ matrix.llvm }}
path: |
terra-*.tar.xz
terra-*.7z
docker:
name: Docker (${{ matrix.distro }}, llvm-${{ matrix.llvm }}, ${{ matrix.lua }}, static=${{ matrix.static }}, slib=${{ matrix.slib }}, cuda=${{ matrix.cuda }}, ${{ matrix.variant }})
runs-on: ubuntu-latest
strategy:
matrix:
distro: ['ubuntu-20.04']
llvm: ['11', '12.0.1', '13.0.1', '14.0.6', '15.0.7', '16.0.6', '17.0.6', '18.1.8', '19.1.7', '20.1.8', '21.1.8', '22.1.8']
lua: ['luajit', 'moonjit']
cuda: ['0', '1']
test: ['1']
exclude:
# CUDA with LLVM 13 only:
- llvm: '11'
cuda: '1'
- llvm: '12.0.1'
cuda: '1'
- llvm: '14.0.6'
cuda: '1'
- llvm: '15.0.7'
cuda: '1'
- llvm: '16.0.6'
cuda: '1'
- llvm: '17.0.6'
cuda: '1'
- llvm: '18.1.8'
cuda: '1'
- llvm: '19.1.7'
cuda: '1'
- llvm: '20.1.8'
cuda: '1'
- llvm: '21.1.8'
cuda: '1'
- llvm: '22.1.8'
cuda: '1'
# Moonjit with LLVM 14 only:
- llvm: '11'
lua: 'moonjit'
- llvm: '12.0.1'
lua: 'moonjit'
- llvm: '13.0.1'
lua: 'moonjit'
- llvm: '15.0.7'
lua: 'moonjit'
- llvm: '16.0.6'
lua: 'moonjit'
- llvm: '17.0.6'
lua: 'moonjit'
- llvm: '18.1.8'
lua: 'moonjit'
- llvm: '19.1.7'
lua: 'moonjit'
- llvm: '20.1.8'
lua: 'moonjit'
- llvm: '21.1.8'
lua: 'moonjit'
- llvm: '22.1.8'
lua: 'moonjit'
include:
# Defaults:
- slib: '1'
- static: '1'
# Assign variants to the basic configurations:
- variant: 'prebuilt'
- llvm: '11'
variant: 'upstream'
# Some additional configurations:
# LLVM 18-20 on Ubuntu 24.04
- distro: 'ubuntu-24.04'
llvm: '18'
lua: 'luajit'
cuda: '0'
variant: 'package'
slib: '1'
static: '1'
test: '1'
- distro: 'ubuntu-24.04'
llvm: '19'
lua: 'luajit'
cuda: '0'
variant: 'package'
slib: '1'
static: '1'
test: '1'
- distro: 'ubuntu-24.04'
llvm: '20'
lua: 'luajit'
cuda: '0'
variant: 'package'
slib: '1'
static: '1'
test: '1'
# LLVM 18-22 on Ubuntu 26.04
- distro: 'ubuntu-26.04'
llvm: '18'
lua: 'luajit'
cuda: '0'
variant: 'package'
slib: '1'
static: '1'
test: '1'
- distro: 'ubuntu-26.04'
llvm: '19'
lua: 'luajit'
cuda: '0'
variant: 'package'
slib: '1'
static: '1'
test: '1'
- distro: 'ubuntu-26.04'
llvm: '20'
lua: 'luajit'
cuda: '0'
variant: 'package'
slib: '1'
static: '1'
test: '1'
- distro: 'ubuntu-26.04'
llvm: '21'
lua: 'luajit'
cuda: '0'
variant: 'package'
slib: '1'
static: '1'
test: '1'
- distro: 'ubuntu-26.04'
llvm: '22'
lua: 'luajit'
cuda: '0'
variant: 'package'
slib: '1'
static: '1'
test: '1'
# LLVM 22, no-slib/no-static, Ubuntu 26.04
- distro: 'ubuntu-26.04'
llvm: '22'
lua: 'luajit'
cuda: '0'
variant: 'package'
slib: '0'
static: '1'
test: '1'
- distro: 'ubuntu-26.04'
llvm: '22'
lua: 'luajit'
cuda: '0'
variant: 'package'
slib: '0'
static: '0'
test: '1'
steps:
- uses: actions/checkout@v6
- run: ./travis.sh
env:
DOCKER_DISTRO: ${{ matrix.distro }}
DOCKER_LLVM: ${{ matrix.llvm }}
DOCKER_LUA: ${{ matrix.lua }}
DOCKER_STATIC: ${{ matrix.static }}
DOCKER_SLIB: ${{ matrix.slib }}
DOCKER_CUDA: ${{ matrix.cuda }}
DOCKER_VARIANT: ${{ matrix.variant }}
DOCKER_TEST: ${{ matrix.test }}
docker_arm64:
name: Docker ARM64 (${{ matrix.distro }}, llvm-${{ matrix.llvm }}, ${{ matrix.lua }}, static=${{ matrix.static }}, slib=${{ matrix.slib }}, cuda=${{ matrix.cuda }}, ${{ matrix.variant }})
runs-on: ubuntu-24.04-arm
strategy:
matrix:
distro: ['ubuntu-20.04']
llvm: ['16.0.6', '17.0.6', '18.1.8', '19.1.7', '20.1.8', '21.1.8', '22.1.8']
lua: ['luajit']
cuda: ['0']
test: ['1']
include:
# Defaults:
- slib: '1'
- static: '1'
# Assign variants to the basic configurations:
- variant: 'prebuilt'
steps:
- uses: actions/checkout@v6
- run: ./travis.sh
env:
DOCKER_DISTRO: ${{ matrix.distro }}
DOCKER_LLVM: ${{ matrix.llvm }}
DOCKER_LUA: ${{ matrix.lua }}
DOCKER_STATIC: ${{ matrix.static }}
DOCKER_SLIB: ${{ matrix.slib }}
DOCKER_CUDA: ${{ matrix.cuda }}
DOCKER_VARIANT: ${{ matrix.variant }}
DOCKER_TEST: ${{ matrix.test }}
# multiarch:
# name: Multiarch (${{ matrix.distro }}, ${{ matrix.arch }}, llvm-${{ matrix.llvm }}, cuda=${{ matrix.cuda }}, ${{ matrix.variant }})
# runs-on: ubuntu-latest
# strategy:
# matrix:
# distro: ['ubuntu-18.04']
# arch: ['arm64', 'ppc64le']
# llvm: ['11.1.0', '13.0.0']
# variant: ['prebuilt']
# cuda: ['0']
# test: ['0']
# exclude:
# - arch: 'arm64'
# llvm: '13.0.0'
# - arch: 'ppc64le'
# llvm: '11.1.0'
# steps:
# - uses: actions/checkout@v6
# - run: ./travis.sh
# env:
# DOCKER_DISTRO: ${{ matrix.distro }}
# DOCKER_ARCH: ${{ matrix.arch }}
# DOCKER_LLVM: ${{ matrix.llvm }}
# DOCKER_CUDA: ${{ matrix.cuda }}
# DOCKER_VARIANT: ${{ matrix.variant }}
# DOCKER_TEST: ${{ matrix.test }}
# - uses: actions/upload-artifact@v7
# with:
# name: docker-${{ matrix.distro }}-${{ matrix.arch }}-llvm-${{ matrix.llvm }}
# path: |
# terra-*.tar.xz
# terra-*.7z
freebsd:
name: FreeBSD (llvm-${{ matrix.llvm }})
runs-on: ubuntu-latest
strategy:
matrix:
llvm: ['12', '13', '15', '16', '17', '18', '19', '20', '21', '22']
steps:
- uses: actions/checkout@v6
- uses: vmactions/freebsd-vm@v1
with:
release: "14.4"
usesh: true
envs: 'LLVM_VERSION'
run: |
pkg install -y bash coreutils cmake gmake llvm$LLVM_VERSION
export CC=cc
bash ./travis.sh
env:
LLVM_VERSION: ${{ matrix.llvm }}
compat:
name: Compatibility Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- run: ./docker/compatibility_test.sh ubuntu 20.04 "20.04 22.04 24.04 26.04" "" 22.1.8 luajit prebuilt 2
- uses: actions/upload-artifact@v7
with:
name: docker-ubuntu-20.04-x86_64-llvm-22
path: |
terra-*.tar.xz
terra-*.7z
compat_arm64:
name: Compatibility Test (ARM64)
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v6
- run: ./docker/compatibility_test.sh ubuntu 20.04 "20.04 22.04 24.04 26.04" "" 22.1.8 luajit prebuilt 2
- uses: actions/upload-artifact@v7
with:
name: docker-ubuntu-20.04-arm64-llvm-22
path: |
terra-*.tar.xz
terra-*.7z
nix:
name: Nix Build (nixpkgs-${{ matrix.nixpkgs }}, enableCUDA=${{ matrix.cuda }})
runs-on: ubuntu-latest
strategy:
matrix:
nixpkgs: ['26.05']
cuda: ['false', 'true']
steps:
- uses: actions/checkout@v6
- uses: cachix/install-nix-action@v31
with:
nix_path: nixpkgs=channel:nixos-${{ matrix.nixpkgs }}
- run: nix-build --arg enableCUDA ${{ matrix.cuda }}
env:
NIXPKGS_ALLOW_UNFREE: 1