Skip to content

feat: remove documents in lsp server, follow single truth principle b… #22

feat: remove documents in lsp server, follow single truth principle b…

feat: remove documents in lsp server, follow single truth principle b… #22

name: Nightly Build
on:
push:
branches:
- master
paths:
- '.github/workflows/server-nightly.yml'
- 'server/**'
env:
CGO_ENABLED: 1
GO_VERSION: 1.21.4
ENTRYPOINT: cli/main.go
jobs:
compile-windows-amd64:
name: Compile Windows
runs-on: windows-2019
env:
GOOS: windows
GOARCH: amd64
CC: zig cc
CXX: zig c++
steps:
- uses: actions/checkout@v3
- uses: goto-bus-stop/setup-zig@v2
- uses: actions/setup-go@v4
with:
go-version: ${{ env.GO_VERSION }}
- working-directory: ./server
run: |
go version
go mod download
go build -ldflags="-extldflags=-static" -o cmd/bugbuddy_windows_amd64.exe ${{ env.ENTRYPOINT }}
- name: Create binary only artifact
uses: actions/upload-artifact@v4
with:
name: windows_amd64
path: ./server/cmd/bugbuddy_windows_amd64.exe
compile-linux-amd64:
name: Compile Linux
runs-on: ubuntu-latest
env:
GOOS: linux
GOARCH: amd64
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
with:
go-version: ${{ env.GO_VERSION }}
- working-directory: ./server
run: |
go version
go mod download
go build -o cmd/bugbuddy_linux_amd64 ${{ env.ENTRYPOINT }}
- name: Create binary only artifact
uses: actions/upload-artifact@v4
with:
name: linux_amd64
path: ./server/cmd/bugbuddy_linux_amd64
compile-macos-universal:
name: Compile MacOS
runs-on: macos-latest
env:
GOOS: darwin
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
with:
go-version: ${{ env.GO_VERSION }}
- name: Build amd64 binary
working-directory: ./server
env:
GOARCH: amd64
run: |
go version
go mod download
go build -o cmd/bugbuddy_macos_amd64 ${{ env.ENTRYPOINT }}
- name: Build arm64 binary
working-directory: ./server
env:
GOARCH: arm64
run: |
go version
go mod download
go build -o cmd/bugbuddy_macos_arm64 ${{ env.ENTRYPOINT }}
- name: Create universal binary
run: lipo -create -output server/cmd/bugbuddy_macos_universal server/cmd/bugbuddy_macos_amd64 server/cmd/bugbuddy_macos_arm64
- name: Create binary only artifact
uses: actions/upload-artifact@v4
with:
name: macos_universal
path: ./server/cmd/bugbuddy_macos_universal
release-nightly:
name: Create Github Release
needs:
- compile-windows-amd64
- compile-linux-amd64
- compile-macos-universal
runs-on: ubuntu-20.04
steps:
- name: Fetch all artifacts
uses: actions/download-artifact@v4
with:
path: "."
merge-multiple: true
- name: List Files
run: ls -R
- name: Generate file checksums
run: |
sha256sum \
./bugbuddy_windows_amd64.exe \
./bugbuddy_linux_amd64 \
./bugbuddy_macos_universal \
> checksums.txt
- uses: "marvinpinto/action-automatic-releases@latest"
name: Create Release and Upload Assets
id: create_release
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
prerelease: true
title: "Latest Nightly Build"
files: |
bugbuddy_windows_amd64.exe
bugbuddy_linux_amd64
bugbuddy_macos_universal
checksums.txt