From 796cf99d10f7a5c5592f0b1b37214f219a7d9634 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Le=C3=AFla=20Marabese?= Date: Fri, 10 Apr 2026 15:50:47 +0200 Subject: [PATCH 1/5] chore: add support for chocolatey in goreleaser --- .goreleaser.yml | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/.goreleaser.yml b/.goreleaser.yml index bdc4c4adbc..99e09d3285 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -100,3 +100,48 @@ release: prerelease: auto draft: true name_template: "{{ .Tag }}" + +chocolateys: + - name: scaleway-cli + + # IDs of the archives to use. + # Empty means all IDs. + # Attention: archives must not be in the 'binary' format. + ids: + - binaries + + package_source_url: https://scaleway.com/cli + owners: Scaleway + authors: DevTools Team + + # Your app's project url. + # It is a required field. + project_url: https://github.com/scaleway/scaleway-cli + + icon_url: "https://github.com/scaleway/scaleway-cli/blob/main/docs/static_files/cli-artwork.png" + copyright: 2019 Scaleway + license_url: https://github.com/scaleway/scaleway-cli/blob/main/LICENSE + require_license_acceptance: false + + project_source_url: https://github.com/scaleway/scaleway-cli + docs_url: https://cli.scaleway.com + bug_tracker_url: https://github.com/scaleway/scaleway-cli/issues + + tags: "scaleway-cli scaleway scw" + summary: Scaleway CLI is a tool to help you pilot your Scaleway infrastructure directly from your terminal. + description: | + The Scaleway CLI allows you to interact with Scaleway APIs using a command line interface. + You can create, update, delete, list or get information about all types of resources. + + release_notes: "https://github.com/scaleway/scaleway-cli/releases/tag/v{{ .Version }}" + + # The API key that should be used to push to the Chocolatey repository. + api_key: "{{ .Env.CHOCOLATEY_API_KEY }}" + + # The source repository that will push the package to. + source_repo: "https://push.chocolatey.org/" + + # Setting this will prevent GoReleaser to actually try to push the package + # to Chocolatey repository, leaving the responsibility of publishing it to + # the user. + skip_publish: true From a8394312031a706de6bcdb93e0508efd6ed54da5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Le=C3=AFla=20Marabese?= Date: Tue, 14 Apr 2026 11:26:42 +0200 Subject: [PATCH 2/5] try installing choco+mono on ubuntu runners --- .github/workflows/release.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f735c41f29..4c867d93bf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,6 +18,7 @@ jobs: fetch-depth: 0 - name: Login to DockerHub Registry + if: ${{ ! env.ACT }} run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin - name: Set up Docker Buildx @@ -33,6 +34,29 @@ jobs: go mod tidy git diff --exit-code + - name: Install mono (chocolatey requirement) + run: | + sudo apt-get update + sudo apt-get install -y mono-complete + + - name: Install chocolatey + run: | + # Create directories owned by your user + sudo mkdir -p /opt/chocolatey/config + sudo mkdir -p /opt/chocolatey/logs + sudo mkdir -p /opt/chocolatey/lib + + # Give ownership to your user (more secure than 777) + sudo chown -R $USER:$USER /opt/chocolatey/config + sudo chown -R $USER:$USER /opt/chocolatey/logs + + wget -q -O - "https://github.com/chocolatey/choco/releases/download/${CHOCOLATEY_VERSION}/chocolatey.v${CHOCOLATEY_VERSION}.tar.gz" | tar -xz -C "/opt/chocolatey" + echo '#!/bin/bash' >> /usr/local/bin/choco + echo 'mono /opt/chocolatey/choco.exe $@' >> /usr/local/bin/choco + chmod +x /usr/local/bin/choco + env: + CHOCOLATEY_VERSION: 2.7.1 + - name: Run GoReleaser uses: goreleaser/goreleaser-action@1a80836c5c9d9e5755a25cb59ec6f45a3b5f41a8 # v7.2.1 with: From 43a710da921c6006a2477ad91cffd33cd9a9175e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Le=C3=AFla=20Marabese?= Date: Mon, 18 May 2026 15:13:37 +0200 Subject: [PATCH 3/5] move chocolatey to dedicated windows runner --- .github/workflows/chocolatey.yml | 65 ++++++++++++++++++++++++++++++++ .github/workflows/release.yml | 24 ------------ 2 files changed, 65 insertions(+), 24 deletions(-) create mode 100644 .github/workflows/chocolatey.yml diff --git a/.github/workflows/chocolatey.yml b/.github/workflows/chocolatey.yml new file mode 100644 index 0000000000..2e12a2647b --- /dev/null +++ b/.github/workflows/chocolatey.yml @@ -0,0 +1,65 @@ +name: chocolatey +permissions: + contents: write + +on: + push: + tags: + - 'v*' + +jobs: + goreleaser: + runs-on: "${{ vars.RUNS_ON || 'windows-latest' }}" + steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + fetch-depth: 0 + + - name: Login to DockerHub Registry + if: ${{ ! env.ACT }} + run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0 + + - name: Set up Go + uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + with: + go-version: stable + + - name: Verify go.mod is tidy + run: | + go mod tidy + git diff --exit-code + +# - name: Install mono (chocolatey requirement) +# run: | +# sudo apt-get update +# sudo apt-get install -y mono-complete +# +# - name: Install chocolatey +# run: | +# # Create directories owned by your user +# sudo mkdir -p /opt/chocolatey/config +# sudo mkdir -p /opt/chocolatey/logs +# sudo mkdir -p /opt/chocolatey/lib +# +# # Give ownership to your user (more secure than 777) +# sudo chown -R $USER:$USER /opt/chocolatey/config +# sudo chown -R $USER:$USER /opt/chocolatey/logs +# +# wget -q -O - "https://github.com/chocolatey/choco/releases/download/${CHOCOLATEY_VERSION}/chocolatey.v${CHOCOLATEY_VERSION}.tar.gz" | tar -xz -C "/opt/chocolatey" +# echo '#!/bin/bash' >> /usr/local/bin/choco +# echo 'mono /opt/chocolatey/choco.exe $@' >> /usr/local/bin/choco +# chmod +x /usr/local/bin/choco +# env: +# CHOCOLATEY_VERSION: 2.7.1 + + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@ec59f474b9834571250b370d4735c50f8e2d1e29 # v7.0.0 + with: + version: "~> v2" + args: release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4c867d93bf..f735c41f29 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,6 @@ jobs: fetch-depth: 0 - name: Login to DockerHub Registry - if: ${{ ! env.ACT }} run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin - name: Set up Docker Buildx @@ -34,29 +33,6 @@ jobs: go mod tidy git diff --exit-code - - name: Install mono (chocolatey requirement) - run: | - sudo apt-get update - sudo apt-get install -y mono-complete - - - name: Install chocolatey - run: | - # Create directories owned by your user - sudo mkdir -p /opt/chocolatey/config - sudo mkdir -p /opt/chocolatey/logs - sudo mkdir -p /opt/chocolatey/lib - - # Give ownership to your user (more secure than 777) - sudo chown -R $USER:$USER /opt/chocolatey/config - sudo chown -R $USER:$USER /opt/chocolatey/logs - - wget -q -O - "https://github.com/chocolatey/choco/releases/download/${CHOCOLATEY_VERSION}/chocolatey.v${CHOCOLATEY_VERSION}.tar.gz" | tar -xz -C "/opt/chocolatey" - echo '#!/bin/bash' >> /usr/local/bin/choco - echo 'mono /opt/chocolatey/choco.exe $@' >> /usr/local/bin/choco - chmod +x /usr/local/bin/choco - env: - CHOCOLATEY_VERSION: 2.7.1 - - name: Run GoReleaser uses: goreleaser/goreleaser-action@1a80836c5c9d9e5755a25cb59ec6f45a3b5f41a8 # v7.2.1 with: From 05e82eba6b5184907dd200e580fcf55d18733eeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Le=C3=AFla=20Marabese?= Date: Mon, 18 May 2026 15:16:09 +0200 Subject: [PATCH 4/5] cleanup --- .github/workflows/chocolatey.yml | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/.github/workflows/chocolatey.yml b/.github/workflows/chocolatey.yml index 2e12a2647b..c51c433d95 100644 --- a/.github/workflows/chocolatey.yml +++ b/.github/workflows/chocolatey.yml @@ -17,7 +17,6 @@ jobs: fetch-depth: 0 - name: Login to DockerHub Registry - if: ${{ ! env.ACT }} run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin - name: Set up Docker Buildx @@ -33,29 +32,6 @@ jobs: go mod tidy git diff --exit-code -# - name: Install mono (chocolatey requirement) -# run: | -# sudo apt-get update -# sudo apt-get install -y mono-complete -# -# - name: Install chocolatey -# run: | -# # Create directories owned by your user -# sudo mkdir -p /opt/chocolatey/config -# sudo mkdir -p /opt/chocolatey/logs -# sudo mkdir -p /opt/chocolatey/lib -# -# # Give ownership to your user (more secure than 777) -# sudo chown -R $USER:$USER /opt/chocolatey/config -# sudo chown -R $USER:$USER /opt/chocolatey/logs -# -# wget -q -O - "https://github.com/chocolatey/choco/releases/download/${CHOCOLATEY_VERSION}/chocolatey.v${CHOCOLATEY_VERSION}.tar.gz" | tar -xz -C "/opt/chocolatey" -# echo '#!/bin/bash' >> /usr/local/bin/choco -# echo 'mono /opt/chocolatey/choco.exe $@' >> /usr/local/bin/choco -# chmod +x /usr/local/bin/choco -# env: -# CHOCOLATEY_VERSION: 2.7.1 - - name: Run GoReleaser uses: goreleaser/goreleaser-action@ec59f474b9834571250b370d4735c50f8e2d1e29 # v7.0.0 with: From 13d0fdefaa5c1c8a253fa74f69e1e8bfa86d10ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Le=C3=AFla=20Marabese?= Date: Tue, 19 May 2026 18:19:52 +0200 Subject: [PATCH 5/5] make chocolatey job depend on goreleaser job --- .github/workflows/chocolatey.yml | 41 -------------------------------- .github/workflows/release.yml | 34 ++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 41 deletions(-) delete mode 100644 .github/workflows/chocolatey.yml diff --git a/.github/workflows/chocolatey.yml b/.github/workflows/chocolatey.yml deleted file mode 100644 index c51c433d95..0000000000 --- a/.github/workflows/chocolatey.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: chocolatey -permissions: - contents: write - -on: - push: - tags: - - 'v*' - -jobs: - goreleaser: - runs-on: "${{ vars.RUNS_ON || 'windows-latest' }}" - steps: - - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - with: - fetch-depth: 0 - - - name: Login to DockerHub Registry - run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0 - - - name: Set up Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 - with: - go-version: stable - - - name: Verify go.mod is tidy - run: | - go mod tidy - git diff --exit-code - - - name: Run GoReleaser - uses: goreleaser/goreleaser-action@ec59f474b9834571250b370d4735c50f8e2d1e29 # v7.0.0 - with: - version: "~> v2" - args: release - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f735c41f29..92df77f864 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -67,3 +67,37 @@ jobs: - name: Publish package working-directory: wasm run: pnpm publish --no-git-checks + + chocolatey: + runs-on: windows-latest + needs: + - goreleaser + steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + fetch-depth: 0 + + - name: Login to DockerHub Registry + run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0 + + - name: Set up Go + uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + with: + go-version: stable + + - name: Verify go.mod is tidy + run: | + go mod tidy + git diff --exit-code + + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@ec59f474b9834571250b370d4735c50f8e2d1e29 # v7.0.0 + with: + version: "~> v2" + args: release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file