|
|
@ -6,57 +6,72 @@ on: |
|
|
|
|
|
|
|
jobs: |
|
|
|
|
|
|
|
cleanup: |
|
|
|
runs-on: ubuntu-latest |
|
|
|
|
|
|
|
build-latest-docker-image: |
|
|
|
runs-on: [ubuntu-latest] |
|
|
|
steps: |
|
|
|
|
|
|
|
- name: Delete old release assets |
|
|
|
uses: mknejp/delete-release-assets@v1 |
|
|
|
with: |
|
|
|
token: ${{ github.token }} |
|
|
|
tag: dev |
|
|
|
fail-if-no-assets: false |
|
|
|
assets: | |
|
|
|
weed-* |
|
|
|
|
|
|
|
build_dev: |
|
|
|
needs: cleanup |
|
|
|
runs-on: ubuntu-latest |
|
|
|
strategy: |
|
|
|
matrix: |
|
|
|
goos: [linux, windows, darwin, freebsd] |
|
|
|
goarch: [amd64, arm, arm64] |
|
|
|
exclude: |
|
|
|
- goarch: arm |
|
|
|
goos: darwin |
|
|
|
- goarch: 386 |
|
|
|
goos: darwin |
|
|
|
- goarch: arm |
|
|
|
goos: windows |
|
|
|
- goarch: arm64 |
|
|
|
goos: windows |
|
|
|
|
|
|
|
steps: |
|
|
|
- |
|
|
|
name: Checkout |
|
|
|
|
|
|
|
- name: Check out code into the Go module directory |
|
|
|
uses: actions/checkout@v2 |
|
|
|
- |
|
|
|
name: Docker meta |
|
|
|
id: docker_meta |
|
|
|
uses: docker/metadata-action@v3 |
|
|
|
with: |
|
|
|
images: | |
|
|
|
chrislusf/seaweedfs |
|
|
|
ghcr.io/chrislusf/seaweedfs |
|
|
|
tags: | |
|
|
|
type=raw,value=latest |
|
|
|
labels: | |
|
|
|
org.opencontainers.image.title=seaweedfs |
|
|
|
org.opencontainers.image.vendor=Chris Lu |
|
|
|
- |
|
|
|
name: Set up QEMU |
|
|
|
uses: docker/setup-qemu-action@v1 |
|
|
|
- |
|
|
|
name: Set up Docker Buildx |
|
|
|
uses: docker/setup-buildx-action@v1 |
|
|
|
with: |
|
|
|
buildkitd-flags: "--debug" |
|
|
|
- |
|
|
|
name: Login to Docker Hub |
|
|
|
if: github.event_name != 'pull_request' |
|
|
|
uses: docker/login-action@v1 |
|
|
|
with: |
|
|
|
username: ${{ secrets.DOCKER_USERNAME }} |
|
|
|
password: ${{ secrets.DOCKER_PASSWORD }} |
|
|
|
- |
|
|
|
name: Login to GHCR |
|
|
|
if: github.event_name != 'pull_request' |
|
|
|
uses: docker/login-action@v1 |
|
|
|
|
|
|
|
- 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@v1.20 |
|
|
|
with: |
|
|
|
registry: ghcr.io |
|
|
|
username: ${{ secrets.GHCR_USERNAME }} |
|
|
|
password: ${{ secrets.GHCR_TOKEN }} |
|
|
|
- |
|
|
|
name: Build |
|
|
|
uses: docker/build-push-action@v2 |
|
|
|
github_token: ${{ secrets.GITHUB_TOKEN }} |
|
|
|
goos: ${{ matrix.goos }} |
|
|
|
goarch: ${{ matrix.goarch }} |
|
|
|
release_tag: dev |
|
|
|
overwrite: true |
|
|
|
pre_command: export CGO_ENABLED=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@v1.20 |
|
|
|
with: |
|
|
|
context: ./docker |
|
|
|
push: ${{ github.event_name != 'pull_request' }} |
|
|
|
file: ./docker/Dockerfile |
|
|
|
platforms: linux/amd64, linux/arm, linux/arm64 |
|
|
|
tags: ${{ steps.docker_meta.outputs.tags }} |
|
|
|
labels: ${{ steps.docker_meta.outputs.labels }} |
|
|
|
github_token: ${{ secrets.GITHUB_TOKEN }} |
|
|
|
goos: ${{ matrix.goos }} |
|
|
|
goarch: ${{ matrix.goarch }} |
|
|
|
release_tag: dev |
|
|
|
overwrite: true |
|
|
|
pre_command: export CGO_ENABLED=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 }}" |