Merge pull request #1784 from BishopFox/docs/community-guides #1006
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: | |
branches: [master] | |
jobs: | |
servers-build: | |
name: Release Build Server | |
if: startsWith( github.ref, 'refs/tags/v') | |
runs-on: ubuntu-latest | |
timeout-minutes: 45 | |
steps: | |
- name: Go 1.21 | |
uses: actions/setup-go@v5 | |
with: | |
go-version: "^1.21" | |
- name: OS Packages | |
run: | | |
sudo apt-get update --fix-missing && sudo apt-get -y install \ | |
git build-essential zlib1g zlib1g-dev wget zip unzip | |
- name: Check Out Code | |
uses: actions/checkout@v4 | |
- name: Git Fetch Tags | |
run: git fetch --prune --unshallow --tags -f | |
- name: Make | |
run: make servers | |
- name: Server Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: servers | |
path: ./sliver-server_* | |
clients-build: | |
name: Release Build Client | |
if: startsWith( github.ref, 'refs/tags/v') | |
runs-on: ubuntu-latest | |
timeout-minutes: 45 | |
steps: | |
- name: Go 1.22 | |
uses: actions/setup-go@v5 | |
with: | |
go-version: "^1.22" | |
- name: Check Out Code | |
uses: actions/checkout@v4 | |
- name: Git Fetch Tags | |
run: git fetch --prune --unshallow --tags -f | |
- name: Make | |
run: make clients | |
- name: Client Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: clients | |
path: ./sliver-client_* | |
tagged-release: | |
needs: [servers-build, clients-build] | |
name: "Tagged Release" | |
if: startsWith( github.ref, 'refs/tags/v') | |
runs-on: ubuntu-latest | |
timeout-minutes: 45 | |
steps: | |
- run: mkdir -p ./builds | |
- uses: actions/download-artifact@v4 | |
with: | |
path: ./builds | |
- name: Extract Artifacts | |
run: | | |
mkdir -p ./artifacts | |
cp ./builds/clients/* ./artifacts | |
cp ./builds/servers/* ./artifacts | |
- name: GPG Key(s) | |
run: | | |
cat <(echo -e "${{ secrets.SLIVER_GPG }}") | gpg --batch --import | |
gpg --list-secret-keys --keyid-format LONG | |
# Linux | |
- name: Linux 386 (Client Only) | |
run: | | |
gpg --default-key 4449039C --output ./artifacts/sliver-client_linux-386.sig --detach-sig ./artifacts/sliver-client_linux-386 | |
- name: Linux AMD64 | |
run: | | |
gpg --default-key 4449039C --output ./artifacts/sliver-server_linux-amd64.sig --detach-sig ./artifacts/sliver-server_linux-amd64 | |
gpg --default-key 4449039C --output ./artifacts/sliver-client_linux-amd64.sig --detach-sig ./artifacts/sliver-client_linux-amd64 | |
- name: Linux ARM64 | |
run: | | |
gpg --default-key 4449039C --output ./artifacts/sliver-server_linux-arm64.sig --detach-sig ./artifacts/sliver-server_linux-arm64 | |
gpg --default-key 4449039C --output ./artifacts/sliver-client_linux-arm64.sig --detach-sig ./artifacts/sliver-client_linux-arm64 | |
# Windows | |
- name: Windows 386 (Client Only) | |
run: | | |
gpg --default-key 4449039C --output ./artifacts/sliver-client_windows-386.sig --detach-sig ./artifacts/sliver-client_windows-386.exe | |
- name: Windows AMD64 | |
run: | | |
gpg --default-key 4449039C --output ./artifacts/sliver-server_windows-amd64.sig --detach-sig ./artifacts/sliver-server_windows-amd64.exe | |
gpg --default-key 4449039C --output ./artifacts/sliver-client_windows-amd64.sig --detach-sig ./artifacts/sliver-client_windows-amd64.exe | |
- name: Windows ARM64 (Client Only) | |
run: | | |
gpg --default-key 4449039C --output ./artifacts/sliver-client_windows-arm64.sig --detach-sig ./artifacts/sliver-client_windows-arm64.exe | |
# MacOS | |
- name: MacOS AMD64 | |
run: | | |
gpg --default-key 4449039C --output ./artifacts/sliver-server_macos-amd64.sig --detach-sig ./artifacts/sliver-server_macos-amd64 | |
gpg --default-key 4449039C --output ./artifacts/sliver-client_macos-amd64.sig --detach-sig ./artifacts/sliver-client_macos-amd64 | |
- name: Package MacOS ARM64 | |
run: | | |
gpg --default-key 4449039C --output ./artifacts/sliver-server_macos-arm64.sig --detach-sig ./artifacts/sliver-server_macos-arm64 | |
gpg --default-key 4449039C --output ./artifacts/sliver-client_macos-arm64.sig --detach-sig ./artifacts/sliver-client_macos-arm64 | |
# FreeBSD | |
- name: FreeBSD AMD64 (Client Only) | |
run: | | |
gpg --default-key 4449039C --output ./artifacts/sliver-client_freebsd-amd64.sig --detach-sig ./artifacts/sliver-client_freebsd-amd64.exe | |
- name: FreeBSD ARM64 (Client Only) | |
run: | | |
gpg --default-key 4449039C --output ./artifacts/sliver-client_freebsd-arm64.sig --detach-sig ./artifacts/sliver-client_freebsd-arm64.exe | |
- name: "Publish Release" | |
uses: "bishopfox/action-gh-release@v1" | |
with: | |
files: | | |
./artifacts/* |