Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
210 commits
Select commit Hold shift + click to select a range
296daf3
chore: Update version
alexluong Sep 3, 2024
34d9c8b
feat: Use either global or local config file
alexluong Sep 2, 2024
b7dc5df
chore: Remove debug log
alexluong Sep 2, 2024
9496ab4
refactor: fs interface
alexluong Sep 2, 2024
8defd13
test: getConfigPath
alexluong Sep 2, 2024
827435b
test: improve test semantic using expected path variable
alexluong Sep 2, 2024
23767be
test: Parse config with different mock config scenarios
alexluong Sep 2, 2024
5006f6c
refactor: Clean config files & reduce package's public api surface
alexluong Sep 2, 2024
d5e33d0
test: Methods related to config updates
alexluong Sep 3, 2024
40c7111
chore: hide api-key and cli-key global flags
leggetter Nov 28, 2024
7fac0c7
chore(deps): bump github.com/gosimple/slug from 1.9.0 to 1.14.0
dependabot[bot] Dec 19, 2024
7df1f56
chore(deps): bump github.com/spf13/cobra from 1.0.0 to 1.8.1
dependabot[bot] Dec 19, 2024
710ddae
Merge branch 'chore/use_pull_request_target' into dependabot/go_modul…
leggetter Dec 19, 2024
b9b6098
chore: add pull_request_target types
leggetter Dec 19, 2024
c726679
chore: run if not dependabot or if the dependabot check passed and ha…
leggetter Dec 19, 2024
447093b
chore: run test on "next" branch
leggetter Dec 19, 2024
46f860a
Merge pull request #109 from hookdeck/dependabot/go_modules/github.co…
leggetter Dec 19, 2024
44a244b
Merge branch 'next' of https://github.com/hookdeck/hookdeck-cli into …
leggetter Dec 19, 2024
8a30227
Merge pull request #108 from hookdeck/dependabot/go_modules/github.co…
leggetter Dec 19, 2024
e8afbda
Merge pull request #114 from hookdeck/next
leggetter Dec 19, 2024
cf74c0c
chore(deps): bump github.com/tidwall/pretty from 1.0.2 to 1.2.1
dependabot[bot] Dec 19, 2024
7842d3f
chore(deps): bump github.com/sirupsen/logrus from 1.8.0 to 1.9.3
dependabot[bot] Dec 20, 2024
0e43ef5
Merge pull request #116 from hookdeck/dependabot/go_modules/github.co…
leggetter Dec 20, 2024
a1ca9df
chore(deps): bump github.com/AlecAivazis/survey/v2 from 2.2.9 to 2.3.7
dependabot[bot] Dec 20, 2024
0129a65
Merge pull request #111 from hookdeck/dependabot/go_modules/github.co…
leggetter Dec 20, 2024
0adbcca
chore(deps): bump github.com/gorilla/websocket from 1.4.2 to 1.5.3
dependabot[bot] Dec 23, 2024
5ce1049
chore(deps): bump github.com/briandowns/spinner from 1.11.1 to 1.23.2
dependabot[bot] Jan 20, 2025
bb04300
fix: Prevent lowercase when sluggify
alexluong May 16, 2025
67acb67
chore: Wrap slug with an internal utility
alexluong May 29, 2025
213a30b
Merge pull request #123 from hookdeck/122
leggetter May 29, 2025
5110cd1
Merge pull request #119 from hookdeck/dependabot/go_modules/github.co…
leggetter May 29, 2025
5da9456
Merge pull request #118 from hookdeck/dependabot/go_modules/github.co…
leggetter May 29, 2025
543a977
Merge pull request #107 from hookdeck/dependabot/go_modules/github.co…
leggetter May 29, 2025
b2a9b52
chore(deps): bump github.com/BurntSushi/toml from 0.3.1 to 1.5.0
dependabot[bot] May 29, 2025
10d5577
Merge pull request #121 from hookdeck/dependabot/go_modules/github.co…
leggetter May 29, 2025
74c4f80
Update package.json version to 0.11.3
github-actions[bot] May 29, 2025
5b0ed7b
chore(deps): bump github.com/stretchr/testify from 1.7.0 to 1.10.0
dependabot[bot] May 30, 2025
ed1c1c6
Merge pull request #127 from hookdeck/dependabot/go_modules/github.co…
leggetter Jun 13, 2025
f8223cd
chore(deps): bump github.com/spf13/cobra from 1.8.1 to 1.9.1
dependabot[bot] Jun 13, 2025
f20260a
Merge pull request #103 from hookdeck/refactor-config
leggetter Jun 13, 2025
ee82412
Merge branch 'main' of https://github.com/hookdeck/hookdeck-cli into …
leggetter Jun 13, 2025
0c53cbd
Merge pull request #124 from hookdeck/dependabot/go_modules/github.co…
leggetter Jun 13, 2025
8116923
fix: ensure config.toml exists and create if doesn't
leggetter Jun 13, 2025
b80a794
refactor: update configuration from team to project terminology and s…
leggetter Jun 13, 2025
3b2fdc7
feat: support passing project name to "project use {name}"
leggetter Jun 13, 2025
70eeadb
chore: add HTTP request debug logging (can be very verbose)
leggetter Jun 13, 2025
db686c0
feat: support `project use [org [project]]`
leggetter Jun 13, 2025
34f6428
chore(docs): enhance login instructions and add interactive login opt…
leggetter Jun 14, 2025
3b0caff
chore(docs): improve profile management usage
leggetter Jun 14, 2025
d3e84e4
chore(docs): add configuration file details and usage instructions
leggetter Jun 14, 2025
7d1d7ab
chore(docs): add global flags
leggetter Jun 14, 2025
1f180f5
chore: improve API interaction logging
leggetter Jun 14, 2025
90d0dbb
chore: add basic acceptance tests for Hookdeck CLI
leggetter Jun 14, 2025
c97b673
chore: update project management commands in README and improve proje…
leggetter Jun 14, 2025
957ffce
chore: improve error messages for project selection in runProjectUseCmd
leggetter Jun 16, 2025
f704741
Merge pull request #128 from hookdeck/feat/project-use-org-proj
leggetter Jun 16, 2025
8cbf40e
fix: update environment variable name in acceptance test script
leggetter Jun 16, 2025
3eed949
fix: update environment variable for acceptance tests to use testing …
leggetter Jun 16, 2025
656ce6b
fix: correct environment variable name in acceptance test workflow
leggetter Jun 16, 2025
5bf273f
Merge pull request #105 from hookdeck/chore/remove-global-key-flags
leggetter Jun 16, 2025
5f3f84d
Merge branch 'main' of https://github.com/hookdeck/hookdeck-cli into …
leggetter Jun 16, 2025
09edd02
fix: update checkout reference to use release branch variable
leggetter Jun 16, 2025
198d9fc
Update package.json version to 1.0.0-beta.1
github-actions[bot] Jun 16, 2025
ef5e56f
fix: determine release branch dynamically and update package.json ver…
leggetter Jun 16, 2025
97b6ddd
refactor: update homebrew cask configuration for hookdeck CLI
leggetter Jun 16, 2025
08bf877
fix: add step to checkout release branch before updating package.json…
leggetter Jun 16, 2025
2cd5734
Merge branch 'main' of https://github.com/hookdeck/hookdeck-cli into …
leggetter Jun 16, 2025
a4496e1
Update package.json version to 1.0.0-beta.3
github-actions[bot] Jun 16, 2025
e29e850
chore(deps): bump github.com/gosimple/slug from 1.14.0 to 1.15.0
dependabot[bot] Jun 16, 2025
5ed804c
refactor: streamline release workflow by removing windows-npm job and…
leggetter Jun 16, 2025
0c75df8
Merge pull request #132 from hookdeck/dependabot/go_modules/github.co…
leggetter Jun 16, 2025
5377f29
chore: update goreleaser configuration files to version 2
leggetter Jun 16, 2025
e850dad
chore: update GoReleaser version to v2.10.2 in release workflow
leggetter Jun 16, 2025
20fda40
refactor: remove redundant build-windows-npm job from workflow
leggetter Jun 16, 2025
dc7c145
chore: upgrade GoReleaser action to v5 and set version to v2.10.2 in …
leggetter Jun 16, 2025
94a371b
chore: upgrade GoReleaser action to v5 and set version to v2.10.2 in …
leggetter Jun 16, 2025
304227f
chore(deps): bump github.com/spf13/pflag from 1.0.6 to 1.0.7
dependabot[bot] Jul 17, 2025
a554b09
Merge pull request #135 from hookdeck/v1.0.0-beta
leggetter Aug 5, 2025
392489b
Merge pull request #133 from hookdeck/chore/release-updates
leggetter Aug 5, 2025
623f4ce
Merge pull request #138 from hookdeck/dependabot/go_modules/github.co…
leggetter Aug 5, 2025
6994c51
Update package.json version to 1.0.1
github-actions[bot] Aug 5, 2025
afafbaf
fix: project use should prompt for project selection
leggetter Aug 8, 2025
d710a6c
Merge branch 'main' of https://github.com/hookdeck/hookdeck-cli into …
leggetter Aug 8, 2025
825fb33
Merge pull request #141 from hookdeck/fix/project-use-default
leggetter Aug 8, 2025
c505b42
Update package.json version to 1.0.2
github-actions[bot] Aug 8, 2025
4c620f4
fix: use .tar.gz for all distributables
leggetter Aug 11, 2025
b00e057
Merge pull request #144 from hookdeck/fix/npm-install-windows
leggetter Aug 11, 2025
c444291
Update package.json version to 1.0.3
github-actions[bot] Aug 11, 2025
3f6366c
chore(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.0
dependabot[bot] Aug 26, 2025
e42d724
chore(deps): update go-npm-next dependency to version 1.1.0
leggetter Aug 26, 2025
93483e0
Merge pull request #146 from hookdeck/chore/bump-go-npm-next
leggetter Aug 26, 2025
e8e4138
Merge pull request #145 from hookdeck/dependabot/go_modules/github.co…
leggetter Aug 26, 2025
957f75a
chore: AGENTS.md, full reference, and plan to add resource management…
leggetter Sep 1, 2025
b36b029
chore: full reference update based on openapi spec
leggetter Sep 1, 2025
a49f230
chore: update REFERENCE.md with planned project management commands a…
leggetter Sep 1, 2025
fe62ee9
chore: update REFERENCE.md to clarify event querying and add attempt …
leggetter Sep 1, 2025
b6c967b
chore: remove unsupported source types from CLI examples in REFERENCE.md
leggetter Sep 1, 2025
52d4700
chore: update AGENTS.md to clarify connection creation authentication…
leggetter Sep 1, 2025
562b899
feat: Add "r" and "o" keyboard shortcut while in interactive listen.
alexbouchardd Sep 3, 2025
8188cb8
chore: Tweak console output for clarify
alexbouchardd Sep 3, 2025
0db5a39
docs: clarify connection-query parameter usage in CLI
leggetter Sep 29, 2025
72238a1
Merge pull request #152 from hookdeck/chore/connection-query-docs
leggetter Sep 29, 2025
7499f36
feat: Add new output and keyboard shortcut
alexbouchardd Oct 2, 2025
da8c6fc
wip
alexbouchardd Oct 3, 2025
cedadcf
wip
alexbouchardd Oct 3, 2025
0277a92
chore: Add event request
alexbouchardd Oct 3, 2025
b8e50e5
feat: Add new styling
alexbouchardd Oct 3, 2025
36d52c9
feat: Add navigation for last 10
alexbouchardd Oct 3, 2025
ebc5cfe
fix: Pin the selected event
alexbouchardd Oct 3, 2025
16774fe
fix: Fix remaining issue
alexbouchardd Oct 3, 2025
e37076d
fix: Fix typo
alexbouchardd Oct 6, 2025
c36975b
too many oprn files fix
mkherlakian Oct 6, 2025
d9c2c7a
Add connection pooling. Track active connections. Warn users if conne…
mkherlakian Oct 7, 2025
6805cc5
Removed client timeout. Made warning about connection exhaustion prop…
mkherlakian Oct 7, 2025
908f990
Merge pull request #153 from hookdeck/fix/too-many-open-files
mkherlakian Oct 7, 2025
cc63567
Update package.json version to 1.0.4
github-actions[bot] Oct 7, 2025
c41aac2
chore: Terminology update
alexbouchardd Oct 7, 2025
abfc15d
chore: update readme
alexbouchardd Oct 7, 2025
4763759
feat: implement Homebrew cask migration with dual distribution
leggetter Oct 7, 2025
3d297c8
feat: Implement Homebrew cask migration with dual distribution
leggetter Oct 7, 2025
a14181a
chore: Update description for Homebrew formula and cask to clarify fu…
leggetter Oct 7, 2025
75bc13c
chore: always run install on PRs
leggetter Oct 7, 2025
6bf08a5
chore: Remove deprecated conflicts_with directive and update migratio…
leggetter Oct 7, 2025
36a9929
chore: temporarily disable cask distribution until code signing
leggetter Oct 8, 2025
4c74b10
fix: remove paths filter from homebrew test workflow to ensure it run…
leggetter Oct 8, 2025
c92b67b
Merge pull request #157 from hookdeck/chore/remove-cask
leggetter Oct 8, 2025
5881c10
Merge pull request #155 from hookdeck/chore/update-goreleaser
leggetter Oct 8, 2025
6d6f1e2
chore: Update readme
alexbouchardd Oct 8, 2025
5f737e7
chore: Refactor
alexbouchardd Oct 8, 2025
184b48e
feat: Improve event details display
alexbouchardd Oct 8, 2025
7e31c52
chore: Fix various issues
alexbouchardd Oct 8, 2025
b4aa539
feat: Add output mode control
alexbouchardd Oct 8, 2025
bcfc3af
chore: Cleanup history and handle resize
alexbouchardd Oct 9, 2025
cae88db
feat: Refactor to use TUI
alexbouchardd Oct 12, 2025
3b8c5dd
Merge branch 'main' into feat/listen-keyboard-shortcut
alexbouchardd Oct 12, 2025
6c25089
chore: Refactor renderer and proxy
alexbouchardd Oct 13, 2025
e636598
chore: Fix data display
alexbouchardd Oct 13, 2025
f8598f4
feat: Add listen --filter param for session filtering
alexbouchardd Oct 14, 2025
1053101
chore: Refactor package stucture
alexbouchardd Oct 19, 2025
bb6645b
chore: Copy improvements
alexbouchardd Oct 20, 2025
72555d9
fix: Fix tests
alexbouchardd Oct 20, 2025
dbd73c2
chore: Update go version
alexbouchardd Oct 20, 2025
804a662
fix: Fix acceptance test
alexbouchardd Oct 20, 2025
2ffc0b9
fix: Fix go version
alexbouchardd Oct 20, 2025
0b9581e
chore: update go version
alexbouchardd Oct 20, 2025
34d95e4
chore: update dependencies
alexluong Oct 21, 2025
4614261
test: update breaking toml test behavior
alexluong Oct 21, 2025
ea2ced9
feat: Add interactive listen and --filter-x param for session filteri…
alexluong Oct 21, 2025
ebff714
chore: add beta release support across all package managers
leggetter Oct 21, 2025
9e196bd
chore: update scoop beta package name
leggetter Oct 21, 2025
7b42f08
chore: Update max connection warning message
alexbouchardd Oct 21, 2025
9e272e1
Update package.json version to 1.1.0
github-actions[bot] Oct 21, 2025
50c6dc3
feat(docs): update overview video
leggetter Oct 24, 2025
244778d
chore(docs): update listen command flags and descriptions in README
leggetter Oct 27, 2025
98d5c40
Merge pull request #164 from hookdeck/chore/listen-cmd-update
leggetter Oct 27, 2025
7ad9104
Initial plan
Copilot Oct 27, 2025
d8844f9
Fix build error: replace Warnf with structured logging in OnConnectio…
Copilot Oct 27, 2025
eb071f8
Merge branch 'main' of https://github.com/hookdeck/hookdeck-cli into …
leggetter Oct 27, 2025
99341df
feat(connections): Implement full connection CRUD and auth
leggetter Oct 28, 2025
dc47ee0
refactor(connections): Use single API call for connection create
leggetter Oct 28, 2025
13bc1ab
refactor: Remove unused source and destination clients
leggetter Oct 28, 2025
4edd734
Revert "refactor: Remove unused source and destination clients"
leggetter Oct 28, 2025
847bf05
fix: remove deprecated cli_path field, use config.path for CLI destin…
leggetter Oct 28, 2025
d04ae27
feat: add Go-based acceptance tests to replace shell scripts
leggetter Oct 29, 2025
2ea9e9e
chore: migrate CI/CD to Go acceptance tests and remove shell script
leggetter Oct 29, 2025
8acf8d3
feat: Implement connection rules and rate limiting
leggetter Oct 29, 2025
8ab6cac
feat: Add connection upsert command with full control
leggetter Oct 29, 2025
5a70b13
docs: Consolidate planning docs and update REFERENCE.md for accuracy
leggetter Oct 29, 2025
03adebd
perf(connection): Optimize upsert to reduce duplicate GET requests
leggetter Oct 29, 2025
6173924
chore: Revise upsert command principles and implementation strategy f…
leggetter Oct 29, 2025
41ca272
chore(docs): Enhance connection management section with detailed exam…
leggetter Oct 29, 2025
9dfbbfa
chore: Update filter body syntax in documentation and tests for consi…
leggetter Oct 29, 2025
4a3a0f3
chore(docs): Remove redundant custom header examples from connection …
leggetter Oct 29, 2025
9295963
feat: add complete destination authentication support with consolidat…
leggetter Oct 29, 2025
28623d9
feat: add support for destination path_forwarding_disabled and http_m…
leggetter Oct 29, 2025
21d43d5
feat: add source config fields (allowed_http_methods, custom_response…
leggetter Oct 29, 2025
8554cc5
feat: improve connection command UX with BETA flag, plural aliases, a…
leggetter Oct 30, 2025
c3ff8e5
feat: ensure CLI will wait for auth workflow to complete and handle 4…
leggetter Oct 30, 2025
81b4ba1
chore(docs): add releasing section with branching strategy and releas…
leggetter Nov 3, 2025
96cf58c
Merge branch 'chore/beta-releases' of https://github.com/hookdeck/hoo…
leggetter Nov 3, 2025
4b76e27
Merge branch 'main' of https://github.com/hookdeck/hookdeck-cli into …
leggetter Nov 3, 2025
02b141b
Merge pull request #165 from hookdeck/copilot/fix-build-error-logging
leggetter Nov 3, 2025
5b27c51
Merge branch 'main' of https://github.com/hookdeck/hookdeck-cli into …
leggetter Nov 3, 2025
1e6f26d
Merge pull request #162 from hookdeck/chore/beta-releases
leggetter Nov 3, 2025
57846c6
Merge branch 'next' of https://github.com/hookdeck/hookdeck-cli into …
leggetter Nov 3, 2025
068144b
chore(docs): Add important notice about document accuracy to the Hook…
leggetter Nov 3, 2025
58747d1
chore: Add 'next' branch to acceptance tests workflow
leggetter Nov 3, 2025
c30a626
Merge pull request #148 from hookdeck/feat/cli-enrichment
leggetter Nov 3, 2025
9f685c8
Update package.json version to 1.2.0-beta.1
github-actions[bot] Nov 3, 2025
1f5bf17
chore(deps): bump golang.org/x/sys from 0.37.0 to 0.38.0
dependabot[bot] Nov 10, 2025
ca0a2e5
Merge pull request #168 from hookdeck/dependabot/go_modules/golang.or…
leggetter Nov 10, 2025
15461ce
Remove deprecated archive/unarchive commands in favor of disable/enable
leggetter Nov 11, 2025
7440c62
Merge pull request #170 from hookdeck/chore/cmd-updates
leggetter Nov 11, 2025
fc494f0
Merge pull request #169 from hookdeck/next
leggetter Nov 11, 2025
397a6f6
Update package.json version to 1.2.0
github-actions[bot] Nov 11, 2025
006a577
chore(ci): Disable changelog generation in goreleaser configuration f…
leggetter Nov 11, 2025
b101707
chore(deps): bump golang.org/x/term from 0.36.0 to 0.37.0
dependabot[bot] Nov 12, 2025
a81a219
feat: add --local flag to project use command
leggetter Nov 14, 2025
a7eed65
feat: add manual test workflow for CLI authentication
leggetter Nov 14, 2025
6201a18
chore: display source and destination types in connection output
leggetter Nov 14, 2025
77c4831
feat: add name-based lookup and improve error handling for connection…
leggetter Nov 14, 2025
e984709
Update package.json version to 1.3.0-beta.1
github-actions[bot] Nov 14, 2025
f6c857a
chore(docs): add instructions for force linking Homebrew installation…
leggetter Nov 21, 2025
867bf9d
Merge branch 'feat/local-flag' of https://github.com/hookdeck/hookdec…
leggetter Nov 21, 2025
f06659a
fix: connection upsert with only destination config flags now works
leggetter Nov 21, 2025
9089183
Merge pull request #175 from hookdeck/fix/conn-upsert
leggetter Nov 21, 2025
b9d3312
Merge pull request #174 from hookdeck/feat/local-flag
leggetter Nov 21, 2025
09f261c
Merge pull request #176 from hookdeck/main
leggetter Nov 21, 2025
4c59191
Merge pull request #171 from hookdeck/chore/disable-changelog-generation
leggetter Nov 30, 2025
6d840b6
Merge pull request #172 from hookdeck/dependabot/go_modules/golang.or…
leggetter Nov 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/dependabot_pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
### .github/workflows/dependabot_pr.yml
### This workflow doesn't have access to secrets and has a read-only token
name: Dependabot PR Check
on:
pull_request

jobs:
check-dependabot:
runs-on: ubuntu-latest
if: ${{ github.actor == 'dependabot[bot]' }}
steps:
- run: echo "PR created by Dependabot"
75 changes: 43 additions & 32 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.18.1
go-version: 1.24.9
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v4
uses: goreleaser/goreleaser-action@v5
with:
version: latest
version: v2.10.2
args: release -f .goreleaser/mac.yml --clean
env:
GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }}
Expand All @@ -47,11 +47,11 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.18.1
go-version: 1.24.9
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v4
uses: goreleaser/goreleaser-action@v5
with:
version: latest
version: v2.10.2
args: release -f .goreleaser/linux.yml --clean
env:
GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }}
Expand All @@ -66,45 +66,44 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.18.1
go-version: 1.24.9
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v5
with:
version: latest
version: v2.10.2
args: release -f .goreleaser/windows.yml --clean
env:
GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }}

build-windows-npm:
runs-on: windows-latest
steps:
- name: Code checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.18.1
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v5
with:
version: latest
args: release -f .goreleaser/windows-npm.yml --clean
env:
GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }}

publish-npm:
runs-on: ubuntu-latest
needs: [build-windows-npm, build-linux, build-mac]
needs: [build-windows, build-linux, build-mac]
steps:
- uses: actions/checkout@v4
with:
# Checkout on main so that the later commit works
ref: main
# With permission to push to a protected branch
token: ${{ secrets.READ_WRITE_PAT }}

fetch-depth: 0 # Required to find branches for a tag

- name: Determine release branch
id: get_branch
run: |
# Find the branch that contains the tag.
# Prefers 'main', then 'master', then the first branch found.
BRANCHES=$(git branch -r --contains ${{ github.ref_name }} | sed 's/ *origin\///' | grep -v HEAD)
if echo "$BRANCHES" | grep -q -w "main"; then
RELEASE_BRANCH="main"
elif echo "$BRANCHES" | grep -q -w "master"; then
RELEASE_BRANCH="master"
else
RELEASE_BRANCH=$(echo "$BRANCHES" | head -n 1)
fi
echo "RELEASE_BRANCH=${RELEASE_BRANCH}" >> $GITHUB_OUTPUT
echo "Determined release branch for commit: ${RELEASE_BRANCH}"

- name: Checkout release branch
run: git checkout ${{ steps.get_branch.outputs.RELEASE_BRANCH }}

- uses: actions/setup-node@v4
with:
node-version: "20.x"
Expand Down Expand Up @@ -133,6 +132,18 @@ jobs:
add: 'package.json'

- run: npm ci
- run: npm publish

- name: Determine npm tag for pre-releases
id: npm_tag
run: |
TAG_VERSION="${{ steps.tag-version.outputs.TAG_VERSION }}"
NPM_TAG="latest"
if [[ "$TAG_VERSION" == *-* ]]; then
NPM_TAG=$(echo "$TAG_VERSION" | cut -d'-' -f2 | cut -d'.' -f1)
fi
echo "tag=${NPM_TAG}" >> $GITHUB_OUTPUT
echo "npm tag: ${NPM_TAG}"

- run: npm publish --tag ${{ steps.npm_tag.outputs.tag }}
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
24 changes: 24 additions & 0 deletions .github/workflows/test-acceptance.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Acceptance Tests

on:
pull_request:
branches:
- next
- main

jobs:
test:
runs-on: ubuntu-latest
env:
HOOKDECK_CLI_TESTING_API_KEY: ${{ secrets.HOOKDECK_CLI_TESTING_API_KEY }}
steps:
- name: Check out code
uses: actions/checkout@v3

- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: "1.24.9"

- name: Run Go Acceptance Tests
run: go test ./test/acceptance/... -v -timeout 10m
57 changes: 57 additions & 0 deletions .github/workflows/test-homebrew-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Homebrew Build and Installation Tests

on:
pull_request:
branches:
- main

workflow_dispatch:
inputs:
run_install_tests:
description: "Run installation tests"
required: false
default: "false"
type: choice
options:
- "false"
- "true"

jobs:
test-homebrew-build:
runs-on: macos-latest

steps:
- name: Check out code
uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: "go.mod"

- name: Verify Homebrew is installed
run: |
echo "Homebrew version:"
brew --version

- name: Install GoReleaser
run: brew install goreleaser

- name: Make test script executable
run: chmod +x test-scripts/test-homebrew-build.sh

- name: Run build validation
run: ./test-scripts/test-homebrew-build.sh

- name: Run installation tests
run: ./test-scripts/test-homebrew-build.sh --install

# Upload generated Homebrew formula (cask distribution has been disabled)
- name: Upload generated Homebrew files
if: always()
uses: actions/upload-artifact@v4
with:
name: homebrew-files
path: |
dist/homebrew/Formula/hookdeck.rb
retention-days: 7
43 changes: 15 additions & 28 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
name: test

on:
pull_request_target:
workflow_run:
workflows: ["Dependabot PR Check"]
types:
- completed
pull_request:
branches:
- main
- next

jobs:
build-mac:
Expand All @@ -16,17 +21,18 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.18.1
go-version: 1.24.9
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v4
uses: goreleaser/goreleaser-action@v5
with:
version: latest
version: v2.10.2
args: release --skip=publish --snapshot -f .goreleaser/mac.yml --clean
env:
GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }}

build-linux:
runs-on: ubuntu-latest
if: ${{ github.actor != 'dependabot[bot]' || github.event.workflow_run.conclusion == 'success' }}
env:
# https://goreleaser.com/customization/docker_manifest/
DOCKER_CLI_EXPERIMENTAL: "enabled"
Expand All @@ -47,11 +53,11 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.18.1
go-version: 1.24.9
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v4
uses: goreleaser/goreleaser-action@v5
with:
version: latest
version: v2.10.2
args: release --skip=publish --snapshot -f .goreleaser/linux.yml --clean
env:
GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }}
Expand All @@ -66,30 +72,11 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.18.1
go-version: 1.24.9
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v5
with:
version: latest
version: v2.10.2
args: release --skip=publish --snapshot -f .goreleaser/windows.yml --clean
env:
GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }}

build-windows-npm:
runs-on: windows-latest
steps:
- name: Code checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.18.1
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v5
with:
version: latest
args: release --skip=publish --snapshot -f .goreleaser/windows-npm.yml --clean
env:
GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@

completions/
dist/
bin/
coverage.txt
Expand All @@ -12,3 +13,4 @@ default_cassette.yaml
.vscode/
__debug_bin
node_modules/
.env
30 changes: 17 additions & 13 deletions .goreleaser/linux.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
version: 2
env:
- GO111MODULE=on
before:
Expand Down Expand Up @@ -28,23 +29,25 @@ builds:
- linux
goarch:
- arm64
release:
prerelease: auto
mode: append
changelog:
sort: asc
filters:
exclude:
- "^docs:"
- "^test:"
disable: true
checksum:
name_template: "{{ .ProjectName }}-linux-checksums.txt"
snapshot:
name_template: "{{ .Tag }}-next"
nfpms:
- builds:
- package_name: "{{ if .Prerelease }}hookdeck-beta{{ else }}hookdeck{{ end }}"
file_name_template: "{{ .PackageName }}_{{ .Version }}_{{ .Arch }}"
builds:
- hookdeck-linux
vendor: Hookdeck
homepage: https://hookdeck.com
maintainer: Hookdeck <[email protected]>
description: Hookdeck CLI utility
description: |-
Hookdeck CLI utility{{ if .Prerelease }} (Beta){{ end }}
license: Apache 2.0
formats:
- deb
Expand All @@ -55,8 +58,8 @@ dockers:
ids:
- hookdeck-linux
image_templates:
- "hookdeck/hookdeck-cli:latest-amd64"
- "hookdeck/hookdeck-cli:{{ .Tag }}-amd64"
- "{{ if not .Prerelease }}hookdeck/hookdeck-cli:latest-amd64{{ end }}"
build_flag_templates:
- "--pull"
- "--label=org.opencontainers.image.created={{.Date}}"
Expand All @@ -71,8 +74,8 @@ dockers:
ids:
- hookdeck-linux-arm64
image_templates:
- "hookdeck/hookdeck-cli:latest-arm64"
- "hookdeck/hookdeck-cli:{{ .Tag }}-arm64"
- "{{ if not .Prerelease }}hookdeck/hookdeck-cli:latest-arm64{{ end }}"
build_flag_templates:
- "--pull"
- "--label=org.opencontainers.image.created={{.Date}}"
Expand All @@ -83,11 +86,12 @@ dockers:
- "--label=homepage=https://hookdeck.com"
- "--platform=linux/arm64/v8"
docker_manifests:
- name_template: "hookdeck/hookdeck-cli:latest"
image_templates:
- "hookdeck/hookdeck-cli:latest-amd64"
- "hookdeck/hookdeck-cli:latest-arm64"
- name_template: "hookdeck/hookdeck-cli:{{ .Tag }}"
image_templates:
- "hookdeck/hookdeck-cli:{{ .Tag }}-amd64"
- "hookdeck/hookdeck-cli:{{ .Tag }}-arm64"
- name_template: "hookdeck/hookdeck-cli:latest"
image_templates:
- "hookdeck/hookdeck-cli:latest-amd64"
- "hookdeck/hookdeck-cli:latest-arm64"
skip_push: auto
Loading