-
Notifications
You must be signed in to change notification settings - Fork 111
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
Goreleaser setup #1279
Goreleaser setup #1279
Conversation
412c995
to
c8d1f18
Compare
855155c
to
3966b9f
Compare
6092071
to
4bfb53c
Compare
6bceaec
to
e53cbd4
Compare
11c3667
to
487c712
Compare
12cbcb6
to
8e8b1b1
Compare
8e8b1b1
to
ab0b77a
Compare
…oper into goreleaser-prototype
5c9cd00
to
9bdf109
Compare
b244511
to
1389582
Compare
…oper into goreleaser-prototype
.goreleaser.yaml
Outdated
draft: true | ||
|
||
builds: | ||
- id: darwin_amd4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be 64
.github/workflows/cli-release.yml
Outdated
schedule: | ||
- cron: "0 0 * * *" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the point of having this now? Shouldn't it be for nightlies only (which aren't set up yet)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@himadrisingh Do we need this?
goarch: | ||
- arm64 | ||
env: | ||
- PKG_CONFIG_SYSROOT_DIR=/sysroot/macos/amd64 | ||
- PKG_CONFIG_PATH=/sysroot/macos/amd64/usr/local/lib/pkgconfig |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rakeshsharma14317, can you do some research and share your findings on possible implications of using a amd64
sysroot for an arm64
build target? Probably it's fine, just want to be sure – I don't know much about this
.goreleaser.yaml
Outdated
archives: | ||
- replacements: | ||
darwin: Darwin | ||
linux: Linux | ||
files: | ||
- README.md | ||
- LICENSE* | ||
name_template: "{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@begelundmuller sure making it lowercase,
But on you second comment, what i found is mostly for mac and linux everyone prefers .tar.gz Only for window good to have .zip
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rakeshsharma14317 can you find out how to do zip
and then will discuss options with product. But I think they'll prefer .zip
, it's now very common on unix systems. E.g. duckdb only publishes .zip
archives
.goreleaser.yaml
Outdated
changelog: | ||
sort: asc | ||
filters: | ||
exclude: | ||
- "^docs:" | ||
- "^test:" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do these excludes match commit messages? We don't use prefixes for commit messages like this, so they'll have no effect. Is there a way to match paths instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah as per their documentation we have
for e.g:
-# Paths to filter the commits for.
-# Only works when use: git
, otherwise ignored.
-# Only on GoReleaser Pro.
-#
-# Default: monorepo.dir value, or empty if no monorepo.
-# Since: v1.12.0-pro
paths:
- foo/
- bar/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But looks like its for GoReleaser Pro.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For now removing filters as its of no use
.github/workflows/cli-release.yml
Outdated
# branches: [ "goreleaser-prototype" ] | ||
# paths: | ||
# - ".github/workflows/cli-release.yml" | ||
# - ".goreleaser.yaml" | ||
# - "go.mod" | ||
# - "cli/**" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can remove this now
flags: | ||
- "-mod=readonly" | ||
ldflags: | ||
- -s -w -X main.Version={{.Version}} -X main.Commit={{.ShortCommit}} -X main.BuildDate={{.Date}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested this, and noticed that running rill version
outputs the correct version and commit hash, but for the build date, it outputs the current time, not the build time. Can you fix this? I think it might be because of the assignment in main.go
, but not sure – maybe just have it be the zero time (var BuildDate time.Time
) instead of time.Now()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah it is because of assignment in main.go
* goreleaser prototype setup * using goreleaser-cross to cross-compile for other platform * added formatting in yaml file * prettier * adding homebrew tap to cli * goreleaser homebrew setup fix * adding sysroot as submodule * adding sysroot as submodule * add submodule * added access token and created tap repo * build a snapshot * Update .goreleaser.yaml * update Makefile * add gcs support - remove makefile - formatting * snapshot wont upload * no release as of now * revert: fetch tags * gitignore error=git is in a dirty state * Skips git checks * disable scm release * typo * adding back the makefile for cli and proto * requested PR changes * Install npm * disable submodules on travis * make it pretty * node16 * version missing npm * goreleaser :facepalm: * curl * typo * testing without goreleaser-cross * commenting npm install step * commenting env vars in goreleaser.yaml * updating cobra cli version * update GH action * update go version * build both arm/amd * build linux too * nodejs * only macos * build linux too * testing with args to goreleaser.yaml * reverting changes * uncommenting linux build as in goreleaser * test goos in env vars * Reverting changes * testing with diff .goreleaser files * Update .goreleaser.yaml * cleanup * remove sysroot * another cleanup * Update .goreleaser.linux.yaml * upload for nightly * upload to gcs at particular path * Update .github/workflows/cli-release.yml * release via cross compile example * removed docker from makefile * adding secrets env * cleanup * fix tabs * Update .github/workflows/cli-release.yml * comment wrap_in_directory * checksum * typo * brew url template * fix yaml * Update .goreleaser.yaml * Update .goreleaser.yaml * fixing installation from homebrew * Update cli-release.yml * move make cli to workflow * Update cli-release.yml * tabs * new name * updated binary name and added makefile * fixed .goreleaser * added make cli * adding pre hooks * prettier fix * embed * dont remove dist * debug * Update .goreleaser.yaml * copy contents * try adding mime * go mod tidy * UI embed fix * go fmt ./.. * Apply suggestions from code review * Update .goreleaser.yaml * try snapshot for nightlies? * add arm64 * upload to latest too * upload all * goreleaser prototype setup * using goreleaser-cross to cross-compile for other platform * added formatting in yaml file * prettier * adding homebrew tap to cli * goreleaser homebrew setup fix * adding sysroot as submodule * add submodule * adding sysroot as submodule * added access token and created tap repo * build a snapshot * Update .goreleaser.yaml * update Makefile * add gcs support - remove makefile - formatting * snapshot wont upload * no release as of now * gitignore error=git is in a dirty state * Skips git checks * disable scm release * typo * adding back the makefile for cli and proto * requested PR changes * Install npm * disable submodules on travis * make it pretty * node16 * version missing npm * goreleaser :facepalm: * curl * typo * testing without goreleaser-cross * commenting npm install step * commenting env vars in goreleaser.yaml * updating cobra cli version * update GH action * build both arm/amd * build linux too * only macos * build linux too * testing with args to goreleaser.yaml * reverting changes * uncommenting linux build as in goreleaser * test goos in env vars * Reverting changes * testing with diff .goreleaser files * cleanup * remove sysroot * another cleanup * upload for nightly * Update .goreleaser.linux.yaml * upload to gcs at particular path * Update .github/workflows/cli-release.yml * release via cross compile example * removed docker from makefile * adding secrets env * cleanup * comment wrap_in_directory * checksum * typo * brew url template * fix yaml * Update .goreleaser.yaml * Update .goreleaser.yaml * fixing installation from homebrew * Update cli-release.yml * new name * updated binary name and added makefile * fixed .goreleaser * prettier fix * dont remove dist * debug * copy contents * try adding mime * go mod tidy * Apply suggestions from code review * Update .goreleaser.yaml * try snapshot for nightlies? * add arm64 * Update cli-release.yml * Update .goreleaser.yaml * go mod tidy * .goreleaser.yaml id name * updating GH action with make cli.prepare * typo * Update Makefile * Update .goreleaser.yaml * Update cli-release.yml * Update cli-release.yml * only on tags * ignore sysroot/ * requested changes * removed cron * Apply suggestions from code review Co-authored-by: Himadri Singh <[email protected]>
Adding steps release using goreleaser with homebrew setup
make cli.prepare
into GH action (@rakeshsharma14317)prelease: auto
anddraft: true
– only after cutting a0.16.0-rc.1
tag (@rakeshsharma14317)cdn.rilldata.com
instead ofpkg.rilldata.com
– only after cutting a0.16.0-rc.1
tag (@rakeshsharma14317)0.16.0-rc.1
release (@rakeshsharma14317)CONTRIBUTING.md