From 14d3a9cabd0d2d6535b8794462025d5f360f7395 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0tefan=20Baebler?= Date: Sat, 16 Dec 2023 07:20:43 +0100 Subject: [PATCH 1/5] Goreleaser: docker images with Ko --- .goreleaser.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 390f0185..2ffa8fa1 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -58,6 +58,17 @@ archives: - goos: windows format: zip +kos: # See https://goreleaser.com/customization/ko/ + - repository: ghcr.io/stefanb/rye + tags: + - '{{.Version}}' + - latest + bare: true + preserve_import_paths: false + platforms: + - linux/amd64 + - linux/arm64 + changelog: sort: asc filters: From 83f0a9a4670ab145826eb18b22e2dfcb901827a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0tefan=20Baebler?= Date: Sat, 16 Dec 2023 07:30:13 +0100 Subject: [PATCH 2/5] Allow writing packages --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a5ac1706..6bf700a5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,7 @@ on: permissions: contents: write - # packages: write + packages: write # issues: write jobs: From 4ac65e0409ee1d401a2a3f582cb2728c33ca5b2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0tefan=20Baebler?= Date: Sat, 16 Dec 2023 08:12:11 +0100 Subject: [PATCH 3/5] Don't hardcode repository, use current default --- .goreleaser.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 2ffa8fa1..a61613a7 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -59,7 +59,7 @@ archives: format: zip kos: # See https://goreleaser.com/customization/ko/ - - repository: ghcr.io/stefanb/rye + - # repository: ghcr.io/refaktor/rye tags: - '{{.Version}}' - latest From 2d41b6be7847e6a655292e28cbc0fc7da31a5211 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0tefan=20Baebler?= Date: Sat, 16 Dec 2023 08:17:48 +0100 Subject: [PATCH 4/5] Docker release image documentation, updated TOC Partially reverts 9f5817d308043b728c2d28aebb7401cb9c0535c6 --- README.md | 71 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 46 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 77047744..362bb33a 100644 --- a/README.md +++ b/README.md @@ -3,25 +3,32 @@ [![Build and Test](https://github.com/refaktor/rye/actions/workflows/build.yml/badge.svg)](https://github.com/refaktor/rye/actions/workflows/build.yml) [![golangci-lint](https://github.com/refaktor/rye/actions/workflows/golangci-lint.yml/badge.svg)](https://github.com/refaktor/rye/actions/workflows/golangci-lint.yml) - * [What is Rye](#what-is-rye) - * [Status: Alpha](#status-alpha) - * [Overview](#overview) - * [Some specifics](#some-specifics) - * [Introductions](#introductions) - * [Examples](#examples) - * [Rye vs. Python](#rye-vs-python) - * [Follow development](#follow-development) - * [Rye blog](#rye-blog) - * [Github](#github) - * [Getting Rye](#getting-rye) - * [Binaries](#binaries) - * [Docker images](#docker-images) - * [Forking Rye on Github](#forking-rye-on-github) - * [Building Rye](#building-rye) - * [Build Rye with specific modules](#build-rye-with-specific-modules) - * [Build WASM version of Rye](#build-wasm-version-of-rye) - * [Related links](#related-links) - * [Questions, contact](#related-links) +- [Rye language 🌾](#rye-language-) + - [What is Rye](#what-is-rye) + - [Status: Alpha](#status-alpha) + - [Overview](#overview) + - [Some specifics](#some-specifics) + - [Introductions](#introductions) + - [Examples](#examples) + - [Rye vs. Python](#rye-vs-python) + - [Libraries](#libraries) + - [Base - official integrations](#base---official-integrations) + - [Contrib - will be community / third party integrations](#contrib---will-be-community--third-party-integrations) + - [Follow development](#follow-development) + - [Rye blog](#rye-blog) + - [Ryelang reddit](#ryelang-reddit) + - [Github](#github) + - [Getting Rye](#getting-rye) + - [Binaries](#binaries) + - [Docker images](#docker-images) + - [Binary Docker image](#binary-docker-image) + - [Dev Docker image](#dev-docker-image) + - [Forking Rye on Github](#forking-rye-on-github) + - [Building Rye](#building-rye) + - [Build Rye with specific modules](#build-rye-with-specific-modules) + - [Build WASM version of Rye](#build-wasm-version-of-rye) + - [Related links](#related-links) + - [Questions, contact](#questions-contact) *visit **[ryelang.org](https://ryelang.org/)**, **[our blog](https://ryelang.org/blog/)** or join our **[reddit group](https://reddit.com/r/ryelang/)** for latest examples and development updates* @@ -267,14 +274,28 @@ If code speaks to you, our Github page is the central location for all things Ry ## Getting Rye -Rye is developed on Linux, but has also been compiled on macOS and Docker. If you need aditional architecture or OS, post an Issue. +Rye is developed on Linux, but has also been compiled on macOS and Docker. If you need additional architecture or OS, post an Issue. ### Binaries -You can find precompiled Binaries for **Linux** and **macOS** under [Releases](https://github.com/refaktor/rye/releases). +You can find precompiled Binaries for **Linux** and **macOS** under [Releases](https://github.com/refaktor/rye/releases). + +Docker images are published under [Packages](https://github.com/refaktor/rye/pkgs/container/rye). ### Docker images +#### Binary Docker image + +This image includes Linux, Rye binary ready for use and Emacs-nox editor. + +Docker image: **[ghcr.io/refaktor/rye](https://github.com/refaktor/rye/pkgs/container/rye)** + +Run it via: + +```bash +docker run -ti ghcr.io/refaktor/rye +``` + #### Dev Docker image The repository comes with a local [Docker image](./.docker/Dockerfile) that builds rye and allows you to do so. @@ -330,20 +351,20 @@ Install build-esential if you don't already have it, for packages that require c sudo apt install build-essential -# Build Rye with specific modules +#### Build Rye with specific modules Rye has many bindings, that you can determine at build time, so (currently) you get a specific Rye binary for your specific project. This is an example of a build with many bindings. I've been working on a way to make this more elegant and systematic, but the manual version is: go build -tags "b_tiny,b_sqlite,b_http,b_sql,b_postgres,b_openai,b_bson,b_crypto,b_smtpd,b_mail,b_postmark,b_bcrypt,b_telegram" -# Build WASM version of Rye +#### Build WASM version of Rye Rye can also work inside your browser or any other WASM container. I will add examples, html pages and info about it, but to build it: GOOS=js GOARCH=wasm go build -tags "b_tiny,b_norepl" -o wasm/rye.wasm main_wasm.go -# Related links +## Related links [**Rebol**](http://www.rebol.com) - Rebol's author Carl Sassenrath invented or combined together 90% of concepts that Rye builds upon. @@ -357,7 +378,7 @@ Rye can also work inside your browser or any other WASM container. I will add ex [Ren-c](https://github.com/metaeducation/ren-c) - Rebol 3 fork maintained by HostileFork, more liberal with changes to the language. - # Questions, contact + ## Questions, contact You can post an **[Issue](https://github.com/refaktor/rye/issues)** visit github **[Discussions](https://github.com/refaktor/rye/discussions)** or contact me through gmail or twitter.

From 2df0cd8f39ec6153bc0be17195631d35173b270c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0tefan=20Baebler?= Date: Sat, 16 Dec 2023 08:22:45 +0100 Subject: [PATCH 5/5] Set repository fix error=ko: missing repository: please set either the repository field or a $KO_DOCKER_REPO environment variable --- .goreleaser.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index a61613a7..feb6e343 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -59,7 +59,7 @@ archives: format: zip kos: # See https://goreleaser.com/customization/ko/ - - # repository: ghcr.io/refaktor/rye + - repository: ghcr.io/refaktor/rye tags: - '{{.Version}}' - latest