Skip to content

Commit

Permalink
chore(scripts): auto authenticate gh CLI in scripts on dogfood (#13107)
Browse files Browse the repository at this point in the history
* chore: auto authenticate gh CLI in scripts

* fix shellcheck issues
  • Loading branch information
matifali committed Apr 30, 2024
1 parent 53f7e9e commit 3ff9cef
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 1 deletion.
6 changes: 6 additions & 0 deletions scripts/deploy-pr.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
# [#pr-deployments](https://codercom.slack.com/archives/C05DNE982E8) Slack channel

set -euo pipefail
# shellcheck source=scripts/lib.sh
source "$(dirname "${BASH_SOURCE[0]}")/lib.sh"
cdroot

# default settings
dryRun=false
Expand Down Expand Up @@ -64,6 +67,9 @@ if $confirm; then
fi
fi

# Authenticate gh CLI
gh_auth

# get branch name and pr number
branchName=$(gh pr view --json headRefName | jq -r .headRefName)
prNumber=$(gh pr view --json number | jq -r .number)
Expand Down
16 changes: 16 additions & 0 deletions scripts/lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,22 @@ requiredenvs() {
fi
}

gh_auth() {
local fail=0
if [[ "${CODER:-}" == "true" ]]; then
if ! output=$(coder external-auth access-token github 2>&1); then
log "ERROR: Could not authenticate with GitHub."
log "$output"
fail=1
else
GITHUB_TOKEN=$(coder external-auth access-token github)
export GITHUB_TOKEN
fi
else
log "Please authenticate gh CLI by running 'gh auth login'"
fi
}

# maybedryrun prints the given program and flags, and then, if the first
# argument is 0, executes it. The reason the first argument should be 0 is that
# it is expected that you have a dry_run variable in your script that is set to
Expand Down
3 changes: 3 additions & 0 deletions scripts/release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,9 @@ done
# Check dependencies.
dependencies gh jq sort

# Authenticate gh CLI
gh_auth

if [[ -z $increment ]]; then
# Default to patch versions.
increment="patch"
Expand Down
4 changes: 3 additions & 1 deletion scripts/release/check_commit_metadata.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ range="${from_ref}..${to_ref}"
# Check dependencies.
dependencies gh

# Authenticate gh CLI
gh_auth

COMMIT_METADATA_BREAKING=0
declare -a COMMIT_METADATA_COMMITS
declare -A COMMIT_METADATA_TITLE COMMIT_METADATA_HUMAN_TITLE COMMIT_METADATA_CATEGORY COMMIT_METADATA_AUTHORS
Expand Down Expand Up @@ -145,7 +148,6 @@ main() {
done
} | sort -t- -n | head -n 1
)

# Get the labels for all PRs merged since the last release, this is
# inexact based on date, so a few PRs part of the previous release may
# be included.
Expand Down
3 changes: 3 additions & 0 deletions scripts/release/generate_release_notes.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ done
# Check dependencies.
dependencies gh sort

# Authticate gh CLI
gh_auth

if [[ -z ${old_version} ]]; then
error "No old version specified"
fi
Expand Down
3 changes: 3 additions & 0 deletions scripts/release/publish.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,9 @@ done
# Check dependencies
dependencies gh

# Authenticate gh CLI
gh_auth

# Remove the "v" prefix.
version="${version#v}"
if [[ "$version" == "" ]]; then
Expand Down

0 comments on commit 3ff9cef

Please sign in to comment.