From f8354ab4b4eb161fa97a0a7404f4716604eb74b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingy=20d=C3=B6t=20Net?= Date: Wed, 15 Jan 2025 17:57:06 -0800 Subject: [PATCH 1/6] util: Change A to atom --- util/markys | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/markys b/util/markys index 5c374ba3e..5bc61bd67 100755 --- a/util/markys +++ b/util/markys @@ -1,6 +1,6 @@ #!/usr/bin/env ys-0 -input-dir =: A(nil) +input-dir =: atom(nil) DNE =: "\n\n" From cc33accb2b2cbd47556de3bcbad6a57c899c80ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingy=20d=C3=B6t=20Net?= Date: Wed, 15 Jan 2025 22:46:49 -0800 Subject: [PATCH 2/6] release: Revert recent changes to release scripts --- Makefile | 13 ------------- util/release-yamlscript | 2 -- 2 files changed, 15 deletions(-) diff --git a/Makefile b/Makefile index e01c751b7..7c28fadba 100644 --- a/Makefile +++ b/Makefile @@ -193,19 +193,6 @@ ifndef d endif release-yamlscript: $(BUILD_BIN_YS) -ifneq (main, $(shell git rev-parse --abbrev-ref HEAD)) - $(error You must be on the 'main' branch to release) -endif -ifndef o - $(error Please set Makefile variable o=#.#.#) -endif -ifndef n - $(error Please set Makefile variable n=#.#.#) -endif - @[[ $$YS_GH_USER ]] || { \ - echo 'Please export YS_GH_USER'; exit 1; } - @[[ $$YS_GH_TOKEN ]] || { \ - echo 'Please export YS_GH_TOKEN'; exit 1; } (time $< $(ROOT)/util/release-yamlscript $o $n $s) 2>&1 | \ tee -a $(RELEASE_LOG) diff --git a/util/release-yamlscript b/util/release-yamlscript index a782e50b3..59e7b27b5 100755 --- a/util/release-yamlscript +++ b/util/release-yamlscript @@ -214,8 +214,6 @@ defn step-8(ctx): defn step-9(ctx): o: "Step 9) Run 'make release-assets'" - prompt: 'Press Enter when ready to continue.' - run:: make test-core test-ys run:: make release-assets From ed5a5a7528782e60472a8f7b847ff9fbfc9775dd Mon Sep 17 00:00:00 2001 From: Daniel Bayley Date: Mon, 23 Dec 2024 17:45:34 +0000 Subject: [PATCH 3/6] util: Fix brew-update cross-platform --- util/brew-update | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/util/brew-update b/util/brew-update index 9df00ce5f..457a2e64f 100755 --- a/util/brew-update +++ b/util/brew-update @@ -8,6 +8,12 @@ defn main(version): download-releases: version update-brew: version +defn sha256sum(file): + os =: System/getProperty("os.name") + cond: + os =~ /Mac\s?OS/: sh("shasum -a 256 $file") + else: sh("sha256sum $file") + defn update-brew(version): releases =: releases(version) @@ -22,7 +28,7 @@ defn update-brew(version): text =: reduce-kv _ text releases: fn(text key file): - sha256 =: sh("sha256sum $file").out:words.0 + sha256 =: sha256sum(file).out:words.0 text: .replace(key sha256) say: "Updating homebrew-yamlscript/ys.rb" @@ -51,7 +57,7 @@ defn download-releases(version): when-not fs-e(file): say: "Downloading $file" url =: "$releases-url/download/$version/$file" - res =: sh("wget -q $url") + res =: sh("curl --silent --location $url --output $file") when res.exit:N.?: die: "Download of '$url' failed:\n$(res.err)" From c96623bbeb1e919b0f1967dfb3e4d44de13e130d Mon Sep 17 00:00:00 2001 From: Daniel Bayley Date: Mon, 23 Dec 2024 17:46:00 +0000 Subject: [PATCH 4/6] util: Fix brew-url --- util/brew-update | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/util/brew-update b/util/brew-update index 457a2e64f..52fbcd808 100755 --- a/util/brew-update +++ b/util/brew-update @@ -1,7 +1,8 @@ #!/usr/bin/env ys-0 releases-url =: 'https://github.com/yaml/yamlscript/releases' -brew-url =: 'git@github.com:yaml/homebrew-yamlscript' +repo =: ENV.GITHUB_REPOSITORY_OWNER || 'yaml' +brew-url =: "https://github.com/$repo/homebrew-yamlscript" defn main(version): check-version: version @@ -9,7 +10,7 @@ defn main(version): update-brew: version defn sha256sum(file): - os =: System/getProperty("os.name") + os =: System/getProperty('os.name') cond: os =~ /Mac\s?OS/: sh("shasum -a 256 $file") else: sh("sha256sum $file") From 51a9e878b359a9a7014aab335b4ba85d34d9fb20 Mon Sep 17 00:00:00 2001 From: Daniel Bayley Date: Thu, 26 Dec 2024 14:49:41 +0000 Subject: [PATCH 5/6] util: Refactor brew-update cross-platform --- util/brew-update | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/util/brew-update b/util/brew-update index 52fbcd808..3dd99d298 100755 --- a/util/brew-update +++ b/util/brew-update @@ -9,11 +9,13 @@ defn main(version): download-releases: version update-brew: version +os =: System/getProperty('os.name') + defn sha256sum(file): - os =: System/getProperty('os.name') - cond: - os =~ /Mac\s?OS/: sh("shasum -a 256 $file") - else: sh("sha256sum $file") + sh: + if os =~ /Mac\s?OS/: + then: "shasum -a 256 $file" + else: "sha256sum $file" defn update-brew(version): releases =: releases(version) @@ -58,9 +60,7 @@ defn download-releases(version): when-not fs-e(file): say: "Downloading $file" url =: "$releases-url/download/$version/$file" - res =: sh("curl --silent --location $url --output $file") - when res.exit:N.?: - die: "Download of '$url' failed:\n$(res.err)" + spit file: curl(url) defn releases(version):: LIN_ARM:: "ys-${version}-linux-aarch64.tar.xz" From d0f44c35c10a99bd4b7ea118391e9f31adb37d87 Mon Sep 17 00:00:00 2001 From: Daniel Bayley Date: Mon, 23 Dec 2024 17:46:55 +0000 Subject: [PATCH 6/6] ci: Add Homebrew update --- .github/workflows/brew-update.yaml | 50 ++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .github/workflows/brew-update.yaml diff --git a/.github/workflows/brew-update.yaml b/.github/workflows/brew-update.yaml new file mode 100644 index 000000000..c311353ed --- /dev/null +++ b/.github/workflows/brew-update.yaml @@ -0,0 +1,50 @@ +name: Update Homebrew Formulae +on: + release: + types: [released] + + workflow_dispatch: + push: + branches: [main] + paths: + - .github/workflows/brew-update.yaml + +jobs: + Update: + runs-on: macos-latest + steps: + - name: Tap + run: | + brew tap ${{ github.repository_owner }}/yamlscript + brew install ys + + - name: Livecheck + id: livecheck + env: + HOMEBREW_GITHUB_API_TOKEN: ${{ github.token }} + run: | + brew livecheck --newer-only --quiet --json ys | + jq --raw-output '"version=\(.[].version.latest)"' >> $GITHUB_OUTPUT + + - name: Checkout + if: steps.livecheck.outputs.version != '' + uses: actions/checkout@v4 + + - name: Configure Git + if: steps.livecheck.outputs.version != '' + run: | + git config --global user.name ${{ github.repository_owner }} + git config --global user.email ${{ github.event.pusher.email }} + + - name: Bump Version + if: steps.livecheck.outputs.version != '' + env: + version: ${{ steps.livecheck.outputs.version }} + GH_TOKEN: ${{ secrets.ACCESS_TOKEN }} + run: | + util/brew-update $version + cd homebrew-yamlscript + gh auth setup-git + git add --all + git commit --message "Update $version" + git push