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 go-md2man 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" deploy-build - 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: Make archive run: | archive="${PWD}/archive.tar.gz" cd "${{ gitea.workspace }}/clash" mkdir usr/ make PREFIX="usr/" REAL_PREFIX="/usr/" deploy-install tar -caf "${archive}" usr/ - name: Upload Artifacts uses: actions/upload-artifact@v3 with: path: archive.tar.gz name: "${{ steps.name.outputs.name }}.tar.gz" archive: false