Skip to content

use msys2 to build windows binaries #382

use msys2 to build windows binaries

use msys2 to build windows binaries #382

Workflow file for this run

name: build-zbox
on:
push:
branches:
- master
- dev
- staging
tags:
- 'v*.*.*'
pull_request:
jobs:
# build-linux:
# name: Build-linux
# runs-on: [self-hosted, build]
# steps:
# - name: Install deps
# run: |
# sudo apt update
# sudo apt -y install build-essential nghttp2 libnghttp2-dev libssl-dev containerd docker.io
# - name: Checkout
# uses: actions/checkout@v2
# - name: Setup go 1.20
# uses: actions/setup-go@v2
# with:
# go-version: '1.20' # The Go version to download (if necessary) and use.
# - name: Set GITHUB_ENV
# run: |
# echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV
# if [[ "${{github.base_ref}}" == "master" || "${{github.ref}}" == "refs/heads/master" ]]; then
# echo "TAG=v0.0.0-master" >> $GITHUB_ENV
# elif [[ "${{github.base_ref}}" == "dev" || "${{github.ref}}" == "refs/heads/dev" ]]; then
# echo "TAG=v0.0.0-dev" >> $GITHUB_ENV
# elif [[ "${{github.base_ref}}" == "staging" || "${{github.ref}}" == "refs/heads/staging" ]]; then
# echo "TAG=v0.0.0-staging" >> $GITHUB_ENV
# else
# echo "TAG=$(echo ${GITHUB_REF#refs/tags/})" >> $GITHUB_ENV
# fi
# - name: Install
# run: make install
# - name: Zip release
# run: tar -czvf zbox-linux.tar.gz ./zbox
# - name: Upload binaries to release
# uses: svenstaro/upload-release-action@v2
# with:
# repo_token: ${{ secrets.GITHUB_TOKEN }}
# file: zbox-linux.tar.gz
# tag: ${{ env.TAG }}
# overwrite: true
# file_glob: true
# - name: 'Upload Artifact'
# uses: actions/upload-artifact@v2
# with:
# name: zbox-linux
# path: zbox
# retention-days: 5
build-windows:
name: Build-windows
runs-on: windows-runner
defaults:
run:
shell: msys2 {0}
strategy:
matrix:
sys: [ MINGW64 ]
steps:
- uses: msys2/setup-msys2@v2
with:
msystem: ${{matrix.sys}}
- name: Install libraries
run: |
echo 'Y'| pacman -S base-devel git gcc make
- name: Install Clang and Go for MINGW64
run: |
echo 'y'| pacman -S mingw-w64-x86_64-clang mingw-w64-x86_64-go zip
- name: Set environment variables
run: |
export GOROOT=/mingw64/lib/go
export GOPATH=/mingw64
export PATH=$PATH:$GOROOT/bin
export PATH=$PATH:/usr/bin/7z
# use clang as a default compiler for CGO
go env -w "CC=/mingw64/bin/clang.exe"
- name: Install
run: make install
- name: Zip release
run: |
cp zbox zbox.exe
zip zbox-windows.zip zbox.exe
- name: 'Upload Artifact'
uses: actions/upload-artifact@v2
with:
name: zbox-windows
path: zbox
retention-days: 5
# build-macos:
# name: Build-macos
# runs-on: macos-runner
# steps:
# - name: Setup go 1.20
# uses: actions/setup-go@v2
# with:
# go-version: '1.20' # The Go version to download (if necessary) and use.
# - name: Checkout
# uses: actions/checkout@v2
# - name: Set GITHUB_ENV
# run: |
# echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV
# if [[ "${{github.base_ref}}" == "master" || "${{github.ref}}" == "refs/heads/master" ]]; then
# echo "TAG=v0.0.0-master" >> $GITHUB_ENV
# elif [[ "${{github.base_ref}}" == "dev" || "${{github.ref}}" == "refs/heads/dev" ]]; then
# echo "TAG=v0.0.0-dev" >> $GITHUB_ENV
# elif [[ "${{github.base_ref}}" == "staging" || "${{github.ref}}" == "refs/heads/staging" ]]; then
# echo "TAG=v0.0.0-dev" >> $GITHUB_ENV
# else
# echo "TAG=$(echo ${GITHUB_REF#refs/tags/})" >> $GITHUB_ENV
# fi
# - name: Install
# run: make install
# - name: Zip release
# run: tar -czvf zbox-macos.tar.gz ./zbox
# - name: Upload binaries to release
# uses: svenstaro/upload-release-action@v2
# with:
# repo_token: ${{ secrets.GITHUB_TOKEN }}
# file: zbox-macos.tar.gz
# tag: ${{ env.TAG }}
# overwrite: true
# file_glob: true
- name: 'Upload Artifact'
uses: actions/upload-artifact@v2
with:
name: zbox-macos
path: zbox
retention-days: 5