-
Notifications
You must be signed in to change notification settings - Fork 0
112 lines (108 loc) · 3.81 KB
/
freebsd.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
name: freebsd
on:
schedule:
- cron: '0 1 * * *'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
env:
VERSION: ${{ secrets.VERSION }}
CPU: ${{ matrix.target }}
OS: ${{ matrix.os }}
VARIANT: ${{ matrix.suffix == 'yes' && format('-{0}', matrix.release) || ''}}
LINKFLAGS: ${{ matrix.linkflags }}
CLISP_LDFLAGS: ${{ matrix.clispldflags }}
CC: ${{ matrix.target == 'x86' && 'cc -m32' || 'cc' }}
ROSWELL_BRANCH: master
GH_USER: roswell
GH_REPO: clisp_head
GITHUB_OAUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
strategy:
fail-fast: false
matrix:
release: ['13.2', '13.3', '14.0', '14.1']
target: [x86-64, x86, arm64]
suffix: [yes]
os: [freebsd]
lisp: [sbcl-bin/2.4.8]
include:
- release: 13.3
target: x86-64
suffix: no
lisp: sbcl-bin/2.2.9
os: freebsd
- release: 13.3
target: x86
suffix: no
lisp: sbcl-bin/2.2.9
os: freebsd
- release: 13.3
target: arm64
suffix: no
lisp: sbcl-bin/2.3.0
os: freebsd
environment: SET_VERSION
steps:
- uses: actions/checkout@v4
- name: setenv
run: |
echo "$HOME/.roswell/bin" >> $GITHUB_PATH
echo "ROSWELL_BRANCH=release" >> $GITHUB_ENV
- name: checkenv
run: |
uname -s
uname -m
echo $ROSWELL_INSTALL_DIR
echo $ROSWELL_BRANCH
- name: Install Roswell
env:
LISP: ${{ matrix.lisp }}
run: |
curl -L https://raw.githubusercontent.com/roswell/roswell/release/scripts/install-for-ci.sh | sh
ros install snmsts/sn.github roswell/sbcl_bin
- name: check uploaded
id: check_uploaded
env:
VERSION: ${{ secrets.VERSION }}
CPU: ${{ matrix.target }}
OS: ${{ matrix.os }}
VARIANT: ${{ matrix.suffix == 'yes' && format('-{0}', matrix.release) || ''}}
run: make latest-version upload-archive-p
continue-on-error: true
- if: ${{ matrix.target != 'x86' && steps.check_uploaded.outcome == 'failure'}}
name: Test on FreeBSD
uses: cross-platform-actions/[email protected]
with:
environment_variables: VERSION CPU OS VARIANT LINKFLAGS CLISP_LDFLAGS CC GH_USER GH_REPO GITHUB_OAUTH_TOKEN
operating_system: ${{ matrix.os }}
architecture: ${{ matrix.target == 'x86' && 'x86-64' || matrix.target }}
version: ${{ matrix.release }}
shell: bash
run: |
uname -a
freebsd-version
whoami
pwd
sudo env IGNORE_OSVERSION=yes pkg update -f
sudo pkg install -y bash roswell autoconf texinfo perl5 gmake gcc libffi git
ros install ${{ matrix.lisp }}
ros install snmsts/sn.github roswell/sbcl_bin
gmake latest-version compile archive;
env FILE=`ls *.bz2` gmake latest-version upload-archive;
- if: ${{ matrix.target == 'x86' && steps.check_uploaded.outcome == 'failure' }}
name: Test on FreeBSD
id: test
uses: vmactions/freebsd-vm@v1
with:
release: ${{ matrix.release }}
envs: 'VERSION CPU OS VARIANT LINKFLAGS CLISP_LDFLAGS CC GH_USER GH_REPO GITHUB_OAUTH_TOKEN'
usesh: true
prepare: |
pkg install -y bash roswell autoconf texinfo perl5 gmake gcc libffi git
ros install ${{ matrix.lisp }}
ros install snmsts/sn.github roswell/sbcl_bin
run: |
gmake latest-version compile archive;
env FILE=`ls *.bz2` gmake latest-version upload-archive;