Skip to content
Merged
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
32 changes: 18 additions & 14 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,26 @@ jobs:
name: built-binaries
path: bin/*

check:
outputs:
should_skip: ${{ steps.decide.outputs.skip }}
steps:
- name: Extract version from main.go
id: version
run: |
VER=$(sed -n 's/^const VERSION = "\(v[0-9]*\.[0-9]*\.[0-9]*\)".*$/\1/p' ./cmd/main.go)
echo "ver=$VER" >> $GITHUB_OUTPUT

- name: Skip if version unchanged
run: |
if [ "${{ steps.version.outputs.ver }}" = "${{ steps.latest.outputs.latest }}" ]; then
echo "Version already released: ${{ steps.version.outputs.ver }}"
echo "skip=true" >> $GITHUB_OUTPUT
fi

release:
needs: build
needs: build, check
if: needs.check.outputs.should_skip != 'true'
runs-on: ubuntu-latest

steps:
Expand All @@ -49,19 +66,6 @@ jobs:

echo "latest=$LATEST" >> $GITHUB_OUTPUT

- name: Extract version from main.go
id: version
run: |
VER=$(sed -n 's/^const VERSION = "\(v[0-9]*\.[0-9]*\.[0-9]*\)".*$/\1/p' ./cmd/main.go)
echo "ver=$VER" >> $GITHUB_OUTPUT

- name: Skip if version unchanged
run: |
if [ "${{ steps.version.outputs.ver }}" = "${{ steps.latest.outputs.latest }}" ]; then
echo "Version already released: ${{ steps.version.outputs.ver }}"
exit 1
fi

- name: Extract commit message
id: commit_msg
run: |
Expand Down
5 changes: 3 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
GOC := go

# NOTE: By default any and all builds will be a debug build by default, only once a stable release has been made this will change.
GOFLAGS_PROD := -ldflags "-s -w -X main.IS_PROD=TRUE -X main.PORT=:8000" -trimpath -buildvcs=false
GOFLAGS_DEV := -ldflags "-s -w -X main.IS_PROD=FALSE -X main.PORT=:8000" -trimpath -buildvcs=false
GOFLAGS_DEV := -ldflags "-X main.IS_PROD=FALSE -X main.PORT=:8000" -trimpath -buildvcs=false

.PHONY: run build release

Expand Down Expand Up @@ -46,5 +47,5 @@ $(PLATFORMS):
mkdir -p $(BUILD)
GOOS=$(word 1,$(subst -, ,$@)) \
GOARCH=$(word 2,$(subst -, ,$@)) \
$(GOC) build $(GOFLAGS_PROD) \
$(GOC) build $(GOFLAGS_DEV) \
-o $(BUILD)/$(APP_NAME)-$@ $(ENTRY)