Update Deepgram SDK #8
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Update Deepgram SDK | |
on: | |
schedule: | |
- cron: "0 0 * * 1" # Runs every Monday at midnight | |
workflow_dispatch: | |
jobs: | |
check-update: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Set up Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: "1.20" | |
- name: Install required tools | |
run: sudo apt-get install -y jq curl | |
- name: Get current Deepgram Go SDK version | |
id: get-deepgram-version | |
run: | | |
DEEPGRAM_VERSION=$(curl -s https://api.github.com/repos/deepgram/deepgram-go-sdk/releases/latest | jq -r '.tag_name') | |
echo "version=$DEEPGRAM_VERSION" >> $GITHUB_ENV | |
- name: Check installed Deepgram SDK version | |
id: check-installed-version | |
run: | | |
INSTALLED_VERSION=$(go list -m github.com/deepgram/deepgram-go-sdk | cut -d' ' -f2) | |
echo "installed_version=$INSTALLED_VERSION" >> $GITHUB_ENV | |
- name: Compare versions and update if necessary | |
run: | | |
LATEST_VERSION=${{ env.version }} | |
INSTALLED_VERSION=${{ env.installed_version }} | |
if [ "$LATEST_VERSION" != "$INSTALLED_VERSION" ]; then | |
echo "Updating Deepgram SDK from $INSTALLED_VERSION to $LATEST_VERSION" | |
git checkout -b update-deepgram-sdk | |
go get github.com/deepgram/deepgram-go-sdk@$LATEST_VERSION | |
go mod tidy | |
git config --global user.name 'github-actions[bot]' | |
git config --global user.email 'github-actions[bot]@users.noreply.github.com' | |
git add go.mod go.sum | |
# Check if there are changes to commit | |
if git diff-index --quiet HEAD --; then | |
echo "No changes to commit" | |
else | |
git commit -m "chore: update Deepgram SDK to $LATEST_VERSION" | |
git push origin update-deepgram-sdk | |
fi | |
else | |
echo "Deepgram SDK is up to date" | |
fi | |
- name: Install dependencies | |
run: go mod download | |
- name: Run tests | |
id: run-tests | |
env: | |
DEEPGRAM_API_KEY: ${{ secrets.DEEPGRAM_API_KEY }} | |
run: go test ./... | |
# - name: Notify on failure | |
# if: failure() | |
# uses: slackapi/[email protected] | |
# with: | |
# payload: | | |
# { | |
# "text": "The tests have FAILED for ${{ github.repository }}." | |
# } | |
# env: | |
# SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | |
# - name: Notify on success | |
# if: success() | |
# uses: slackapi/[email protected] | |
# with: | |
# payload: | | |
# { | |
# "text": "The tests have passed for ${{ github.repository }}." | |
# } | |
# env: | |
# SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} |