Skip to content

Commit

Permalink
Added github CI for nightly builds
Browse files Browse the repository at this point in the history
  • Loading branch information
jaytaph committed Apr 25, 2021
1 parent 2652987 commit 6597666
Show file tree
Hide file tree
Showing 2 changed files with 175 additions and 0 deletions.
81 changes: 81 additions & 0 deletions .github/workflows/create-nightly-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Create nightly release and packages
on:
schedule:
- cron: "0 0 * * *"

jobs:
goreleaser:
runs-on: ubuntu-20.04
steps:
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: 1.15.x
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Configure GPG Key
run: |
mkdir -p ~/.gnupg/
chmod 700 ~/.gnupg/
printf "$GPG_SIGNING_KEY" | base64 --decode > ~/.gnupg/private.key
gpg --import --no-tty --batch --yes ~/.gnupg/private.key
env:
GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }}
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
version: latest
args: release --rm-dist -f .goreleaser-nightly.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SCOOP_BUCKET_GITHUB_TOKEN: ${{ secrets.SCOOP_BUCKET_GITHUB_TOKEN }}
HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.SCOOP_BUCKET_GITHUB_TOKEN }}

windows-msi:
needs: goreleaser
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Download zipped binaries
id: download_binaries
shell: bash
run: |
hub release download "${GITHUB_REF#refs/tags/}" -i '*windows_64bit*.zip'
printf "::set-output name=zip::%s\n" *.zip
unzip -o *.zip && rm -v *.zip
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Install go-msi
run: choco install -y "go-msi"
- name: Prepare PATH
shell: bash
run: |
echo "$WIX\\bin" >> $GITHUB_PATH
echo "C:\\Program Files\\go-msi" >> $GITHUB_PATH
- name: Build MSI
id: buildmsi
shell: bash
run: |
mkdir -p build
# Convert license to rtf
go-msi to-rtf --src LICENSE --out LICENSE.rtf
msi="$(basename "${{ steps.download_binaries.outputs.zip }}" ".zip").msi"
printf "::set-output name=msi::%s\n" "$msi"
go-msi make --msi "$PWD/$msi" --out "$PWD/build" --version "${GITHUB_REF#refs/tags/}" --arch x64
- name: Decode cert
shell: bash
run: |
echo "${{ secrets.MSI_CODESIGN_CERT }}" | base64 -d > codesign.cert
- name: Sign MSI
run: |
.\buildscripts\signtool.exe sign /f codesign.cert /d "BitMaelum Suite" /p ${{ secrets.MSI_CODESIGN_PASS }} /v /fd sha256 /sha1 ${{ secrets.MSI_CODESIGN_FINGERPRINT }} /t "http://timestamp.comodoca.com/authenticode" ${{ steps.buildmsi.outputs.msi }}
- name: Upload MSI
shell: bash
run: hub release edit "${GITHUB_REF#refs/tags/}" -m "" --draft=false -a "${{ steps.buildmsi.outputs.msi }}"
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
94 changes: 94 additions & 0 deletions .goreleaser-nightly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
before:
hooks:
- go mod download

builds:
- <<: &build_defaults
env:
- CGO_ENABLED=0
- PKG=github.com/bitmaelum/bitmaelum-suite/internal
ldflags:
- -X '{{.Env.PKG}}.BuildDate={{.Date}}' -X '{{.Env.PKG}}.GitCommit={{.FullCommit}}' -X '{{.Env.PKG}}.VersionTag=develop-nightly'
goarch:
- amd64
- arm64
goos:
- linux
- darwin
- windows
ignore:
- goos: windows
goarch: arm64
- goos: darwin
goarch: arm64

main: ./cmd/bm-client/main.go
id: "bm-client"
binary: bm-client

- <<: *build_defaults
main: ./cmd/bm-config/main.go
id: "bm-config"
binary: bm-config

- <<: *build_defaults
main: ./cmd/bm-json/main.go
id: "bm-json"
binary: bm-json

- <<: *build_defaults
main: ./cmd/bm-send/main.go
id: "bm-send"
binary: bm-send

- <<: *build_defaults
main: ./cmd/bm-server/main.go
id: "bm-server"
binary: bm-server

- <<: *build_defaults
main: ./cmd/bm-mail/main.go
id: "bm-mail"
binary: bm-mail

- <<: *build_defaults
main: ./cmd/bm-bridge/main.go
id: "bm-bridge"
binary: bm-bridge


archives:
- id: nix
# builds: [darwin, linux]
<<: &archive_defaults
name_template: "{{ .ProjectName }}_nightly_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}"
files:
- LICENSE
wrap_in_directory: true
format: tar.gz
replacements:
amd64: x86_64
- id: windows
# builds: [windows]
<<: *archive_defaults
wrap_in_directory: false
format: zip
replacements:
amd64: 64bit

checksum:
name_template: 'checksums.txt'

signs:
- artifacts: checksum
args: ["-u", "C2D6C816449D7AF38853F6FEDFD61AEF353E9701", "--no-tty", "--output", "${signature}", "--detach-sign", "${artifact}"]

nfpms:
- license: MIT
maintainer: GitHub
homepage: https://bitmaelum.org
bindir: /usr
description: BitMaelum Suite
formats:
- deb
- rpm

0 comments on commit 6597666

Please sign in to comment.