mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-07-19 22:42:20 +00:00
d6da0e0e13
Add path filters to workflows that fired on every PR/push regardless of the diff: CodeQL, go build, the e2e/EC/vacuum/TLS/plugin-worker integration suites, the Kafka and Postgres gateways, the S3 suites (Ceph s3tests, s3-go, s3-tables, proxy-signature, https, example, filer-group), TUS, and the dev binary/container builds. Each scopes to its subsystem under weed/, its test dir, go.mod/go.sum, and the workflow file, so docs-, helm-, terraform-, rust- or java-only changes no longer trigger a full compile-and-test fleet.
135 lines
4.7 KiB
YAML
135 lines
4.7 KiB
YAML
name: "go: build dev binaries"
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
paths:
|
|
- 'weed/**'
|
|
- 'go.mod'
|
|
- 'go.sum'
|
|
- '.github/workflows/binaries_dev.yml'
|
|
|
|
concurrency:
|
|
group: binaries-dev-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
|
|
cleanup:
|
|
permissions:
|
|
contents: write # for mknejp/delete-release-assets to delete release assets
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Delete old release assets
|
|
uses: mknejp/delete-release-assets@v1
|
|
continue-on-error: true
|
|
with:
|
|
token: ${{ github.token }}
|
|
tag: dev
|
|
fail-if-no-assets: false
|
|
assets: |
|
|
weed-*
|
|
|
|
build_dev_linux_windows:
|
|
permissions:
|
|
contents: write # for wangyoucao577/go-release-action to upload release assets
|
|
needs: cleanup
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
goos: [linux, windows]
|
|
goarch: [amd64]
|
|
|
|
steps:
|
|
|
|
- name: Check out code into the Go module directory
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v2
|
|
|
|
- name: Set BUILD_TIME env
|
|
run: echo BUILD_TIME=$(date -u +%Y%m%d-%H%M) >> ${GITHUB_ENV}
|
|
|
|
- name: Go Release Binaries Large Disk
|
|
uses: wangyoucao577/go-release-action@279495102627de7960cbc33434ab01a12bae144b # v1.22
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
goos: ${{ matrix.goos }}
|
|
goarch: ${{ matrix.goarch }}
|
|
release_tag: dev
|
|
overwrite: true
|
|
pre_command: export CGO_ENABLED=0 && export GODEBUG=http2client=0
|
|
build_flags: -tags 5BytesOffset # optional, default is
|
|
ldflags: -s -w -extldflags -static -X github.com/seaweedfs/seaweedfs/weed/util/version.COMMIT=${{github.sha}}
|
|
# Where to run `go build .`
|
|
project_path: weed
|
|
binary_name: weed-large-disk
|
|
asset_name: "weed-large-disk-${{ env.BUILD_TIME }}-${{ matrix.goos }}-${{ matrix.goarch }}"
|
|
|
|
- name: Go Release Binaries Normal Volume Size
|
|
uses: wangyoucao577/go-release-action@279495102627de7960cbc33434ab01a12bae144b # v1.22
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
goos: ${{ matrix.goos }}
|
|
goarch: ${{ matrix.goarch }}
|
|
release_tag: dev
|
|
overwrite: true
|
|
pre_command: export CGO_ENABLED=0 && export GODEBUG=http2client=0
|
|
ldflags: -s -w -extldflags -static -X github.com/seaweedfs/seaweedfs/weed/util/version.COMMIT=${{github.sha}}
|
|
# Where to run `go build .`
|
|
project_path: weed
|
|
binary_name: weed-normal-disk
|
|
asset_name: "weed-${{ env.BUILD_TIME }}-${{ matrix.goos }}-${{ matrix.goarch }}"
|
|
|
|
build_dev_darwin:
|
|
permissions:
|
|
contents: write # for wangyoucao577/go-release-action to upload release assets
|
|
needs: build_dev_linux_windows
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
goos: [darwin]
|
|
goarch: [amd64, arm64]
|
|
|
|
steps:
|
|
|
|
- name: Check out code into the Go module directory
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v2
|
|
|
|
- name: Set BUILD_TIME env
|
|
run: echo BUILD_TIME=$(date -u +%Y%m%d-%H%M) >> ${GITHUB_ENV}
|
|
|
|
- name: Go Release Binaries Large Disk
|
|
uses: wangyoucao577/go-release-action@279495102627de7960cbc33434ab01a12bae144b # v1.22
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
goos: ${{ matrix.goos }}
|
|
goarch: ${{ matrix.goarch }}
|
|
release_tag: dev
|
|
overwrite: true
|
|
pre_command: export CGO_ENABLED=0 && export GODEBUG=http2client=0
|
|
build_flags: -tags 5BytesOffset # optional, default is
|
|
ldflags: -s -w -extldflags -static -X github.com/seaweedfs/seaweedfs/weed/util/version.COMMIT=${{github.sha}}
|
|
# Where to run `go build .`
|
|
project_path: weed
|
|
binary_name: weed-large-disk
|
|
asset_name: "weed-large-disk-${{ env.BUILD_TIME }}-${{ matrix.goos }}-${{ matrix.goarch }}"
|
|
|
|
- name: Go Release Binaries Normal Volume Size
|
|
uses: wangyoucao577/go-release-action@279495102627de7960cbc33434ab01a12bae144b # v1.22
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
goos: ${{ matrix.goos }}
|
|
goarch: ${{ matrix.goarch }}
|
|
release_tag: dev
|
|
overwrite: true
|
|
pre_command: export CGO_ENABLED=0 && export GODEBUG=http2client=0
|
|
ldflags: -s -w -extldflags -static -X github.com/seaweedfs/seaweedfs/weed/util/version.COMMIT=${{github.sha}}
|
|
# Where to run `go build .`
|
|
project_path: weed
|
|
binary_name: weed-normal-disk
|
|
asset_name: "weed-${{ env.BUILD_TIME }}-${{ matrix.goos }}-${{ matrix.goarch }}"
|