Skip to content

Commit 0e69b1e

Browse files
committed
build: revert to pre-goreleaser configs
fyne-cross and goreleaser aren't quite ready for Watchman yet. Issue: fyne-io/fyne-cross#334
1 parent 5d3a374 commit 0e69b1e

File tree

3 files changed

+119
-82
lines changed

3 files changed

+119
-82
lines changed

.github/workflows/release.yml

Lines changed: 112 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -16,42 +16,123 @@ jobs:
1616
name: Go Tests
1717
secrets: inherit
1818

19-
release:
20-
name: Release
19+
create_release:
20+
name: Create Release
2121
needs: [tests]
2222
runs-on: ubuntu-latest
23-
container: goreleaser/goreleaser-cross
23+
permissions:
24+
contents: write # For creating release
25+
actions: write # For uploading artifact
26+
steps:
27+
- name: Create Release
28+
id: create_release
29+
uses: actions/create-release@v1
30+
env:
31+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32+
with:
33+
tag_name: ${{ github.ref }}
34+
release_name: Release ${{ github.ref }}
35+
prerelease: true
36+
37+
- name: Output Release URL File
38+
run: echo "${{ steps.create_release.outputs.upload_url }}" > release_url.txt
39+
40+
- name: Save Release URL File for publish
41+
uses: actions/upload-artifact@v6
42+
with:
43+
name: release_url
44+
path: release_url.txt
45+
retention-days: 1
46+
47+
publish:
48+
name: Publish
49+
needs: [tests, create_release]
50+
runs-on: ${{ matrix.os }}
51+
strategy:
52+
matrix:
53+
os: [ubuntu-latest, macos-latest, windows-latest]
54+
permissions:
55+
contents: write # For uploading release assets
56+
actions: read # For downloading artifact
2457
steps:
25-
- name: Set up Go 1.x
26-
uses: actions/setup-go@v6
27-
with:
28-
go-version: stable
29-
id: go
30-
31-
- name: Check out code
32-
uses: actions/checkout@v6
33-
with:
34-
fetch-depth: 0
35-
36-
- name: Install Fyne
37-
run: make setup-webui
38-
39-
- name: Install Fyne dependencies
40-
run: |
41-
apt-get update
42-
apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libglib2.0-dev libcairo-gobject2 libpango1.0-dev libatk1.0-dev libcairo2-dev libgdk-pixbuf2.0-dev libxss1 libasound2-dev
43-
44-
- uses: goreleaser/goreleaser-action@v7
45-
with:
46-
distribution: goreleaser
47-
version: 'latest'
48-
args: release --clean
49-
env:
50-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
58+
- name: Set up Go 1.x
59+
uses: actions/setup-go@v6
60+
with:
61+
go-version: stable
62+
id: go
63+
64+
- name: Check out code into the Go module directory
65+
uses: actions/checkout@v6
66+
67+
- name: Load Release URL File from release job
68+
uses: actions/download-artifact@v7
69+
with:
70+
name: release_url
71+
path: release_url
72+
73+
- name: Setup Linux Dependencies
74+
if: runner.os == 'Linux'
75+
run: |
76+
sudo apt-get update
77+
sudo apt-get install -y libgl1-mesa-dev and xorg-dev
78+
79+
- name: Setup Windows Dependencies
80+
if: runner.os == 'Windows'
81+
run: |
82+
choco install -y make mingw
83+
84+
- name: Install Fyne
85+
run: make setup-webui
86+
87+
- name: Distribute
88+
run: make dist
89+
90+
- name: Get Release File Name & Upload URL
91+
id: get_release_info
92+
shell: bash
93+
run: |
94+
value=`cat release_url/release_url.txt`
95+
echo ::set-output name=upload_url::$value
96+
env:
97+
TAG_REF_NAME: ${{ github.ref }}
98+
REPOSITORY_NAME: ${{ github.repository }}
99+
100+
- name: Upload Linux Binary
101+
if: runner.os == 'Linux'
102+
uses: actions/upload-release-asset@v1
103+
env:
104+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
105+
with:
106+
upload_url: ${{ steps.get_release_info.outputs.upload_url }}
107+
asset_path: ./bin/watchman-linux-amd64
108+
asset_name: watchman-linux-amd64
109+
asset_content_type: application/octet-stream
110+
111+
- name: Upload macOS Binary
112+
if: runner.os == 'macOS'
113+
uses: actions/upload-release-asset@v1
114+
env:
115+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
116+
with:
117+
upload_url: ${{ steps.get_release_info.outputs.upload_url }}
118+
asset_path: ./bin/watchman-darwin-arm64
119+
asset_name: watchman-darwin-arm64
120+
asset_content_type: application/octet-stream
121+
122+
- name: Upload Windows Binary
123+
if: runner.os == 'Windows'
124+
uses: actions/upload-release-asset@v1
125+
env:
126+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
127+
with:
128+
upload_url: ${{ steps.get_release_info.outputs.upload_url }}
129+
asset_path: ./bin/watchman.exe
130+
asset_name: watchman.exe
131+
asset_content_type: application/octet-stream
51132

52133
docker-hub:
53134
name: Docker Hub (${{ matrix.platform }})
54-
needs: [tests, release]
135+
needs: [tests, create_release]
55136
runs-on: ${{ matrix.runner }}
56137
permissions:
57138
contents: read
@@ -129,7 +210,7 @@ jobs:
129210

130211
docker-openshift:
131212
name: Docker Openshift (${{ matrix.platform }})
132-
needs: [tests, release]
213+
needs: [tests, create_release]
133214
runs-on: ${{ matrix.runner }}
134215
permissions:
135216
contents: read

.goreleaser.yaml

Lines changed: 0 additions & 51 deletions
This file was deleted.

makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,13 @@ else
142142
@rm -rf ./bin/ cover.out coverage.txt lint-project.sh misspell* staticcheck* openapi-generator-cli-*.jar
143143
endif
144144

145+
dist: clean build
146+
ifeq ($(OS),Windows_NT)
147+
GOOS=windows go build -o bin/watchman.exe github.com/moov-io/watchman/cmd/server
148+
else
149+
GOOS=${PLATFORM} go build -o bin/watchman-${PLATFORM}-amd64 github.com/moov-io/watchman/cmd/server
150+
endif
151+
145152
docker: clean docker-hub docker-openshift
146153

147154
docker-hub:

0 commit comments

Comments
 (0)