ModernUO/.github/workflows/build-test.yml
Kamron Batman 5bd41d5b68
feat: Adds .NET 7 & Arm64 support (#1229)
## BREAKING CHANGE
**Publishing for linux will no longer include runtimes**

## Major Changes
* Adds .NET 7 support.
* Adds ARM64 support (experimental).
* Changes linux support to be open-ended against anything .NET 7 supports.
* Fixes native library resolutions. (Make sure to install `dev` versions of the libraries)
* Updates README
* Adds Ubuntu 22, CentOS 8/9 Stream to CI/CD.

## TODOs:
* Update modernuo.com docs

Closes #1173
Closes #1159
2022-11-06 09:59:11 -08:00

77 lines
2.2 KiB
YAML

name: Build
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build-macos:
runs-on: ${{ matrix.os }}
name: Build (${{ matrix.name }})
strategy:
fail-fast: false
matrix:
include:
- os: macos-12
name: MacOS 12
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # avoid shallow clone so nbgv can do its work.
- name: Setup .NET 7
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.100-rc.2.22477.23
- name: Build
run: ./publish.cmd Release
- name: Test
run: dotnet test --no-restore
build-linux:
runs-on: ubuntu-latest
container: ${{ matrix.container }}
name: Build (${{ matrix.name }})
strategy:
fail-fast: false
matrix:
include:
- container: ubuntu:jammy
name: Ubuntu 22
packageManager: apt
- container: debian:bullseye
name: Debian 11
packageManager: apt
- container: fedora:36
name: Fedora 36
packageManager: dnf
- container: quay.io/centos/centos:stream8
name: CentOS 8 Stream
packageManager: dnf
- container: quay.io/centos/centos:stream9
name: CentOS 9 Stream
packageManager: dnf
steps:
- name: Enable EPEL
run: dnf upgrade --refresh -y && dnf install -y epel-release epel-next-release
if: ${{ startsWith(matrix.name, 'CentOS') }}
- name: Install Prerequisites using dnf
run: dnf makecache --refresh && dnf install -y findutils libicu zlib-devel zstd libargon2-devel
if: ${{ matrix.packageManager == 'dnf' }}
- name: Install Prerequisites using apt
run: apt-get update -y && apt-get install -y curl libicu-dev libz-dev zstd libargon2-dev
if: ${{ matrix.packageManager == 'apt' }}
- uses: actions/checkout@v3
with:
fetch-depth: 0 # avoid shallow clone so nbgv can do its work.
- name: Setup .NET 7
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.100-rc.2.22477.23
- name: Build
run: ./publish.sh Release
- name: Test
run: dotnet test --no-restore