Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various bug fixes #798

Closed
wants to merge 10 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
JUSTFILE_DOCKER_USERNAME="" # Your Docker Hub username
JUSTFILE_DOCKER_TOKEN="" # A PAT generated from Docker Hub
102 changes: 35 additions & 67 deletions .github/workflows/build_docker.yml
Original file line number Diff line number Diff line change
@@ -1,69 +1,37 @@
name: build

on:
push:
branches:
- master

jobs:
docker_images:
name: docker images
runs-on: ubuntu-latest
strategy:
matrix:
image: [gorse-master, gorse-server, gorse-worker, gorse-in-one]
steps:
- name: Pull source
uses: actions/checkout@v1

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build docker image
uses: docker/build-push-action@v2.6.1
with:
context: .
platforms: linux/amd64,linux/arm64
file: cmd/${{ matrix.image }}/Dockerfile
push: true
tags: zhenghaoz/${{ matrix.image }}:nightly
cache-from: type=gha
cache-to: type=gha,mode=max

- name: Resolve Images on Description
run: |
sed -i -E "s/src=\"assets\//src=\"https:\/\/github.com\/gorse-io\/gorse\/raw\/master\/assets\//" README.md

- name: Update DockerHub Description
uses: peter-evans/dockerhub-description@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
repository: zhenghaoz/${{ matrix.image }}

windows_images:
name: windows images
runs-on: windows-latest
strategy:
matrix:
image: [gorse-master, gorse-server, gorse-worker, gorse-in-one]
steps:
- name: Pull source
uses: actions/checkout@v1

- name: Build docker image
run: |
docker login -u $env:DOCKERHUB_USERNAME -p $env:DOCKERHUB_TOKEN
docker build -f cmd/${{ matrix.image }}/Dockerfile.windows `
-t zhenghaoz/${{ matrix.image }}:nightly-windowsservercore .
docker image push --all-tags zhenghaoz/${{ matrix.image }}
docker logout
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
# on:
# push:
# branches:
# - master

# jobs:
# docker_images:
# name: docker images
# runs-on: ubuntu-latest
# strategy:
# matrix:
# image: [gorse-master, gorse-server, gorse-worker]
# steps:
# - name: Pull source
# uses: actions/checkout@v1

# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v1

# - name: Login to DockerHub
# uses: docker/login-action@v1
# with:
# username: ${{ secrets.DOCKERHUB_USERNAME }}
# password: ${{ secrets.DOCKERHUB_TOKEN }}

# - name: Build docker image
# uses: docker/build-push-action@v2.6.1
# with:
# context: .
# platforms: linux/amd64,linux/arm64
# file: cmd/${{ matrix.image }}/Dockerfile
# push: true
# tags: neurastudios/${{ matrix.image }}:nightly
# cache-from: type=gha
# cache-to: type=gha,mode=max
238 changes: 119 additions & 119 deletions .github/workflows/build_release.yml
Original file line number Diff line number Diff line change
@@ -1,138 +1,138 @@
name: release

on:
release:
types: [published]
# on:
# release:
# types: [published]

jobs:
build-binaries:
name: build binaries
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21.x
uses: actions/setup-go@v4
with:
go-version: 1.21.x
id: go
# jobs:
# build-binaries:
# name: build binaries
# runs-on: ubuntu-latest
# steps:
# - name: Set up Go 1.21.x
# uses: actions/setup-go@v4
# with:
# go-version: 1.21.x
# id: go

- name: Pull source
uses: actions/checkout@v1
# - name: Pull source
# uses: actions/checkout@v1

- name: Install gox
run: go install github.com/mitchellh/gox@master
# - name: Install gox
# run: go install github.com/mitchellh/gox@master

- name: Build release
run: >
gox -output="{{.OS}}/{{.Arch}}/{{.Dir}}" \
-osarch='darwin/arm64 darwin/amd64 windows/arm64 windows/amd64 linux/arm64 linux/amd64' -ldflags="
-X 'github.com/zhenghaoz/gorse/cmd/version.Version=$(git describe --tags $(git rev-parse HEAD))'
-X 'github.com/zhenghaoz/gorse/cmd/version.GitCommit=$(git rev-parse HEAD)'
-X 'github.com/zhenghaoz/gorse/cmd/version.BuildTime=$(date)'" ./...
env:
CGO_ENABLED: 0
# - name: Build release
# run: >
# gox -output="{{.OS}}/{{.Arch}}/{{.Dir}}" \
# -osarch='darwin/arm64 darwin/amd64 windows/arm64 windows/amd64 linux/arm64 linux/amd64' -ldflags="
# -X 'github.com/Neura-Studios/gorse/cmd/version.Version=$(git describe --tags $(git rev-parse HEAD))'
# -X 'github.com/Neura-Studios/gorse/cmd/version.GitCommit=$(git rev-parse HEAD)'
# -X 'github.com/Neura-Studios/gorse/cmd/version.BuildTime=$(date)'" ./...
# env:
# CGO_ENABLED: 0

- name: Install zip
uses: montudor/action-zip@v0.1.1
# - name: Install zip
# uses: montudor/action-zip@v0.1.1

- name: Zip binaries
run: |
zip -j gorse_linux_amd64.zip linux/amd64/gorse-*
zip -j gorse_linux_arm64.zip linux/arm64/gorse-*
zip -j gorse_windows_amd64.zip windows/amd64/gorse-*
zip -j gorse_windows_arm64.zip windows/arm64/gorse-*
zip -j gorse_darwin_amd64.zip darwin/amd64/gorse-*
zip -j gorse_darwin_arm64.zip darwin/arm64/gorse-*
# - name: Zip binaries
# run: |
# zip -j gorse_linux_amd64.zip linux/amd64/gorse-*
# zip -j gorse_linux_arm64.zip linux/arm64/gorse-*
# zip -j gorse_windows_amd64.zip windows/amd64/gorse-*
# zip -j gorse_windows_arm64.zip windows/arm64/gorse-*
# zip -j gorse_darwin_amd64.zip darwin/amd64/gorse-*
# zip -j gorse_darwin_arm64.zip darwin/arm64/gorse-*

- name: Upload release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: gorse_*_*.zip
tag: ${{ github.ref }}
overwrite: true
file_glob: true
# - name: Upload release
# uses: svenstaro/upload-release-action@v2
# with:
# repo_token: ${{ secrets.GITHUB_TOKEN }}
# file: gorse_*_*.zip
# tag: ${{ github.ref }}
# overwrite: true
# file_glob: true

build-docker-images:
name: build docker images
runs-on: ubuntu-latest
strategy:
matrix:
image: [gorse-master, gorse-server, gorse-worker, gorse-in-one]
steps:
- name: Pull source
uses: actions/checkout@v1
# build-docker-images:
# name: build docker images
# runs-on: ubuntu-latest
# strategy:
# matrix:
# image: [gorse-master, gorse-server, gorse-worker, gorse-in-one]
# steps:
# - name: Pull source
# uses: actions/checkout@v1

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v1

- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# - name: Login to DockerHub
# uses: docker/login-action@v1
# with:
# username: ${{ secrets.DOCKERHUB_USERNAME }}
# password: ${{ secrets.DOCKERHUB_TOKEN }}

- id: get_version
uses: battila7/get-version-action@v2
# - id: get_version
# uses: battila7/get-version-action@v2

- name: Build docker image
if: github.event.release.prerelease == false
uses: docker/build-push-action@v2
with:
context: .
platforms: linux/amd64,linux/arm64
file: cmd/${{ matrix.image }}/Dockerfile
push: true
tags: |
zhenghaoz/${{ matrix.image }}:latest
zhenghaoz/${{ matrix.image }}:${{ steps.get_version.outputs.major }}.${{ steps.get_version.outputs.minor }}
zhenghaoz/${{ matrix.image }}:${{ steps.get_version.outputs.version-without-v }}
# - name: Build docker image
# if: github.event.release.prerelease == false
# uses: docker/build-push-action@v2
# with:
# context: .
# platforms: linux/amd64,linux/arm64
# file: cmd/${{ matrix.image }}/Dockerfile
# push: true
# tags: |
# zhenghaoz/${{ matrix.image }}:latest
# zhenghaoz/${{ matrix.image }}:${{ steps.get_version.outputs.major }}.${{ steps.get_version.outputs.minor }}
# zhenghaoz/${{ matrix.image }}:${{ steps.get_version.outputs.version-without-v }}

- name: Build prerelease docker image
if: github.event.release.prerelease == true
uses: docker/build-push-action@v2
with:
context: .
platforms: linux/amd64,linux/arm64
file: cmd/${{ matrix.image }}/Dockerfile
push: true
tags: |
zhenghaoz/${{ matrix.image }}:${{ steps.get_version.outputs.version-without-v }}
# - name: Build prerelease docker image
# if: github.event.release.prerelease == true
# uses: docker/build-push-action@v2
# with:
# context: .
# platforms: linux/amd64,linux/arm64
# file: cmd/${{ matrix.image }}/Dockerfile
# push: true
# tags: |
# zhenghaoz/${{ matrix.image }}:${{ steps.get_version.outputs.version-without-v }}

build-windows-images:
name: build windows images
runs-on: windows-latest
strategy:
matrix:
image: [gorse-master, gorse-server, gorse-worker, gorse-in-one]
steps:
- name: Pull source
uses: actions/checkout@v1
# build-windows-images:
# name: build windows images
# runs-on: windows-latest
# strategy:
# matrix:
# image: [gorse-master, gorse-server, gorse-worker, gorse-in-one]
# steps:
# - name: Pull source
# uses: actions/checkout@v1

- id: get_version
uses: battila7/get-version-action@v2
# - id: get_version
# uses: battila7/get-version-action@v2

- name: Build docker image
if: github.event.release.prerelease == false
run: |
docker login -u $env:DOCKERHUB_USERNAME -p $env:DOCKERHUB_TOKEN
docker build -f cmd/${{ matrix.image }}/Dockerfile.windows `
-t zhenghaoz/${{ matrix.image }}:windowsservercore `
-t zhenghaoz/${{ matrix.image }}:${{ steps.get_version.outputs.major }}.${{ steps.get_version.outputs.minor }}-windowsservercore `
-t zhenghaoz/${{ matrix.image }}:${{ steps.get_version.outputs.version-without-v }}-windowsservercore .
docker image push --all-tags zhenghaoz/${{ matrix.image }}
docker logout
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
# - name: Build docker image
# if: github.event.release.prerelease == false
# run: |
# docker login -u $env:DOCKERHUB_USERNAME -p $env:DOCKERHUB_TOKEN
# docker build -f cmd/${{ matrix.image }}/Dockerfile.windows `
# -t zhenghaoz/${{ matrix.image }}:windowsservercore `
# -t zhenghaoz/${{ matrix.image }}:${{ steps.get_version.outputs.major }}.${{ steps.get_version.outputs.minor }}-windowsservercore `
# -t zhenghaoz/${{ matrix.image }}:${{ steps.get_version.outputs.version-without-v }}-windowsservercore .
# docker image push --all-tags zhenghaoz/${{ matrix.image }}
# docker logout
# env:
# DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
# DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build prerelease docker image
if: github.event.release.prerelease == true
run: |
docker login -u $env:DOCKERHUB_USERNAME -p $env:DOCKERHUB_TOKEN
docker build -f cmd/${{ matrix.image }}/Dockerfile.windows `
-t zhenghaoz/${{ matrix.image }}:${{ steps.get_version.outputs.version-without-v }}-windowsservercore .
docker image push --all-tags zhenghaoz/${{ matrix.image }}
docker logout
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
# - name: Build prerelease docker image
# if: github.event.release.prerelease == true
# run: |
# docker login -u $env:DOCKERHUB_USERNAME -p $env:DOCKERHUB_TOKEN
# docker build -f cmd/${{ matrix.image }}/Dockerfile.windows `
# -t zhenghaoz/${{ matrix.image }}:${{ steps.get_version.outputs.version-without-v }}-windowsservercore .
# docker image push --all-tags zhenghaoz/${{ matrix.image }}
# docker logout
# env:
# DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
# DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@

# Created by https://www.gitignore.io/api/go,windows,jetbrains

.env

### Go ###
# Binaries for programs and plugins
*.exe
Expand Down Expand Up @@ -118,5 +120,4 @@ $RECYCLE.BIN/
*.lnk

.vscode

# End of https://www.gitignore.io/api/go,windows,jetbrains
config.toml
Loading
Loading