50 lines
1.5 KiB
YAML
50 lines
1.5 KiB
YAML
name: Build Clash
|
|
on: push
|
|
|
|
permissions:
|
|
code: read
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check out repository code
|
|
uses: actions/checkout@v6
|
|
- name: Install lisp
|
|
run: |
|
|
apt-get update
|
|
apt-get install -y sbcl cl-quicklisp make
|
|
mkdir -p ~/quicklisp/
|
|
ln -s "${{ gitea.workspace }}" ~/quicklisp/local-projects
|
|
sbcl --eval '(load "/usr/share/common-lisp/source/quicklisp/quicklisp.lisp")' \
|
|
--eval '(quicklisp-quickstart:install)' \
|
|
--quit
|
|
tee ~/.sbclrc <<'EOF'
|
|
#-quicklisp
|
|
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
|
|
(user-homedir-pathname))))
|
|
(when (probe-file quicklisp-init)
|
|
(load quicklisp-init)))
|
|
EOF
|
|
- name: Build
|
|
run: |
|
|
make -C "${{ gitea.workspace }}/clash"
|
|
- name: Prepare archive
|
|
run: |
|
|
mkdir usr/
|
|
target="${PWD}/usr"
|
|
cd "${{ gitea.workspace }}/clash"
|
|
make PREFIX="${target}" install
|
|
- name: Make artifact name
|
|
id: name
|
|
run: |
|
|
short_sha="$(git rev-parse --short HEAD)"
|
|
branch="${{ github.head_ref || github.ref_name }}"
|
|
echo "name=chash-${branch}-${short_sha}" >> "$GITEA_OUTPUT"
|
|
- name: Upload Artifacts
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
path: usr/
|
|
name: clash--${{ steps.name.outputs.name }}
|
|
archive: true
|