mirror of
https://github.com/chrislusf/seaweedfs
synced 2024-09-12 12:00:45 +02:00
- Pinned actions by SHA https://github.com/ossf/scorecard/blob/main/docs/checks.md#pinned-dependencies - Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions >Pin actions to a full length commit SHA >Pinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA helps mitigate the risk of a bad actor adding a backdoor to the action's repository, as they would need to generate a SHA-1 collision for a valid Git object payload. https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions
116 lines
4.1 KiB
YAML
116 lines
4.1 KiB
YAML
name: "go: build dev binaries"
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
|
|
jobs:
|
|
|
|
cleanup:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Delete old release assets
|
|
uses: mknejp/delete-release-assets@a8aaab13272b1eaac16cc46dddd3f725b97ee05a # v1
|
|
with:
|
|
token: ${{ github.token }}
|
|
tag: dev
|
|
fail-if-no-assets: false
|
|
assets: |
|
|
weed-*
|
|
|
|
build_dev_linux_windows:
|
|
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@629c2de402a417ea7690ca6ce3f33229e27606a5 # 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@16624612d4e2b73de613857a362d294700207fff # 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: -extldflags -static -X github.com/chrislusf/seaweedfs/weed/util.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@16624612d4e2b73de613857a362d294700207fff # 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: -extldflags -static -X github.com/chrislusf/seaweedfs/weed/util.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:
|
|
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@629c2de402a417ea7690ca6ce3f33229e27606a5 # 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@16624612d4e2b73de613857a362d294700207fff # 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: -extldflags -static -X github.com/chrislusf/seaweedfs/weed/util.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@16624612d4e2b73de613857a362d294700207fff # 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: -extldflags -static -X github.com/chrislusf/seaweedfs/weed/util.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 }}"
|