Skip to content

chore(scripts): auto authenticate gh CLI in scripts on dogfood #13107

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
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