Skip to content

fixup! Try

fixup! Try #74

Workflow file for this run

name: CI
on:
push:
branches: '*'
tags: v*
pull_request:
branches:
- master
schedule:
- cron: 0 0 * * *
env:
MACOSX_DEPLOYMENT_TARGET: 10.9
defaults:
run:
shell: bash
jobs:
test:
name: Test (${{ matrix.data.os.target_triple }})
runs-on: ${{ matrix.data.os.host }}
continue-on-error: ${{ matrix.nightly == 'nightly' }}
strategy:
fail-fast: false
matrix:
arch: [x86_64]
data:
# - os:
# host: macOS-latest
# target_triple: x86_64-apple-macos10.9
#
# - os:
# host: windows-latest
# target_triple: x86_64-pc-windows-msvc
- os:
target: freebsd
target_triple: x86_64-unknown-freebsd13.1
version: '13.1'
host: macOS-latest
cross_platform_actions: true
compiler:
# - dmd-latest
- ldc-latest
llvm:
- '15.0.7'
# - '10.0.0'
# - '9.0.0'
# - '8.0.0' # used by Buildkite
# - '6.0.0' # Used by Sociomantic
# include:
# - os: windows-latest
# compiler: dmd-latest
# arch: x86
# llvm: '10.0.0'
#
# - os: windows-latest
# compiler: ldc-latest
# arch: x86
# llvm: '10.0.0'
#
# - os: ubuntu-latest
# compiler: dmd-beta
# arch: x86_64
# llvm: '10.0.0'
#
# - os: ubuntu-latest
# compiler: ldc-beta
# arch: x86_64
# llvm: '10.0.0'
#
# - os: ubuntu-latest
# compiler: dmd-master
# arch: x86_64
# nightly: nightly
# llvm: '10.0.0'
#
# - os: ubuntu-latest
# compiler: ldc-master
# arch: x86_64
# nightly: nightly
# llvm: '10.0.0'
steps:
- name: Clone Repository
uses: actions/checkout@v3
with:
persist-credentials: false
fetch-depth: 0
- name: Install Compiler
uses: dlang-community/setup-dlang@v1
with:
compiler: ${{ matrix.compiler }}
- name: Download LLVM
if: runner.os != 'Windows'
run: |
curl -f -L -o llvm.tar.xz --retry 3 'https://github.com/jacob-carlborg/clang-builder/releases/download/v${{ matrix.llvm }}%2B0.0.2-rc2/llvm-${{ matrix.llvm }}-${{ matrix.data.os.target_triple }}.tar.xz'
tar xf llvm.tar.xz
- name: Download LLVM
if: runner.os == 'Windows'
run: |
curl -f -L -o llvm.7z --retry 3 'https://github.com/jacob-carlborg/clang-builder/releases/download/v${{ matrix.llvm }}%2B0.0.2-rc2/llvm-${{ matrix.llvm }}-${{ matrix.data.os.target_triple }}.7z'
7z x llvm.7z
# - name: Setup tmate session
# uses: mxschmitt/action-tmate@v3
# with:
# limit-access-to-actor: true
- name: Configure LLVM
run: ./configure --llvm-path llvm-${{ matrix.llvm }} --statically-link-clang
- name: Test
if: matrix.data.cross_platform_actions == false
run: dub test --verror
- name: Test
if: matrix.data.cross_platform_actions
uses: cross-platform-actions/action@v0.15.0
with:
shell: bash
operating_system: ${{ matrix.data.os.target }}
version: ${{ matrix.data.os.version }}
run: |
d_version="$(echo ${{ matrix.compiler }} | sed 's/-latest//')"
source $(curl --retry 3 -fsS https://dlang.org/install.sh | bash -s "$d_version" -a)
dub test --verror
# create_release:
# name: Create Release
# needs: test
# if: startsWith(github.ref, 'refs/tags/v')
# runs-on: ${{ matrix.os == 'freebsd' && 'macOS-latest' || matrix.os }}
# env:
# DLP_ARCH: ${{ matrix.arch }}
# DLP_COMPILER: ldc-latest
# strategy:
# matrix:
# arch: [x86_64]
# os:
# - macOS-latest
# - ubuntu-latest
# - windows-latest
# - freebsd
#
# include:
# - os: windows-latest
# arch: x86
#
# steps:
# - name: Clone Repository
# uses: actions/checkout@v2
# with:
# persist-credentials: false
#
# - name: Install Compiler
# uses: dlang-community/setup-dlang@v1
# if: ${{ matrix.os != 'freebsd' }}
# with:
# compiler: ${{ env.DLP_COMPILER }}
#
# - name: Build
# if: ${{ matrix.os != 'freebsd' }}
# run: ./tools/build_release.sh
#
# - name: Build FreeBSD
# if: ${{ matrix.os == 'freebsd' }}
# uses: vmactions/freebsd-vm@v0.1.3
# with:
# usesh: true
# envs: 'DLP_COMPILER DLP_ARCH'
# run: |
# pkg update
# pkg install -y bash curl gnupg git llvm-90
# ./tools/build_release.sh
#
# - name: Extract Version
# id: version
# run: echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/v}
#
# - name: Create Release
# id: create_release
# uses: softprops/action-gh-release@v1
# with:
# name: DLP ${{ steps.version.outputs.VERSION }}
# draft: true
# files: |
# dlp*.tar.xz
# dlp*.7z
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
#