Skip to content

more container variants #10

more container variants

more container variants #10

Workflow file for this run

name: "Binaries: Build and Release SeaweedFS Enterprise"
on:
push:
tags:
- '*'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
inputs:
tag_name:
description: 'Tag name for the release'
required: true
default: 'latest'
permissions:
contents: write
jobs:
build-release-binaries:
runs-on: ubuntu-latest
strategy:
matrix:
goos: [linux, darwin, windows, freebsd, openbsd]
goarch: [amd64, arm, arm64]
exclude:
# Windows on ARM64 is not commonly used
- goos: windows
goarch: arm64
# Windows on ARM is not commonly used
- goos: windows
goarch: arm
# Darwin on ARM is not supported
- goos: darwin
goarch: arm
steps:
# Checkout the current artifactory repo (just to have the workflow)
- name: Checkout artifactory repo
uses: actions/checkout@v4
# Clone the private GitLab repository (SeaweedFS Enterprise)
- name: Clone private GitLab repo (SeaweedFS Enterprise)
env:
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
run: |
git clone -b enterprise https://gitlab-ci-token:${GITLAB_TOKEN}@gitlab.com/chrislusf/seaweedfs.git seaweedfs-enterprise-source
cd seaweedfs-enterprise-source
echo "Cloned enterprise branch commit: $(git rev-parse HEAD)"
echo "COMMIT_SHA=$(git rev-parse --short=8 HEAD)" >> $GITHUB_ENV
# Build and Release Normal Volume Size Binary (Enterprise)
- name: Go Release Binaries Normal Volume Size
uses: wangyoucao577/go-release-action@481a2c1a0f1be199722e3e9b74d7199acafc30a8 # v1.22
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
goos: ${{ matrix.goos }}
goarch: ${{ matrix.goarch }}
release_tag: ${{ github.event.inputs.tag_name || github.ref_name }}
overwrite: true
pre_command: export CGO_ENABLED=0 && export GODEBUG=http2client=0
build_flags: -buildvcs=false
ldflags: -s -w -extldflags -static -X github.com/seaweedfs/seaweedfs/weed/util/version.COMMIT=${{ env.COMMIT_SHA }}
project_path: seaweedfs-enterprise-source/weed
binary_name: weed
asset_name: "weed-enterprise-${{ matrix.goos }}_${{ matrix.goarch }}"
# Build and Release Large Disk Binary (Enterprise)
- name: Go Release Large Disk Binaries
uses: wangyoucao577/go-release-action@481a2c1a0f1be199722e3e9b74d7199acafc30a8 # v1.22
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
goos: ${{ matrix.goos }}
goarch: ${{ matrix.goarch }}
release_tag: ${{ github.event.inputs.tag_name || github.ref_name }}
overwrite: true
pre_command: export CGO_ENABLED=0 && export GODEBUG=http2client=0
build_flags: -buildvcs=false -tags 5BytesOffset
ldflags: -s -w -extldflags -static -X github.com/seaweedfs/seaweedfs/weed/util/version.COMMIT=${{ env.COMMIT_SHA }}
project_path: seaweedfs-enterprise-source/weed
binary_name: weed
asset_name: "weed-enterprise-${{ matrix.goos }}_${{ matrix.goarch }}_large_disk"