Skip to content

Automated remote-control Version Update (#4241) #63

Automated remote-control Version Update (#4241)

Automated remote-control Version Update (#4241) #63

name: Build and Publish RC
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+'
# To test workflow updates you need to work in a branch directly on viamrobotics/rdk
# and tag your working branch instead of @main in any viamrobotics/rdk "uses" below.
# Don't forget to tag back to @main before merge.
jobs:
test:
uses: viamrobotics/rdk/.github/workflows/test.yml@main
secrets:
MONGODB_TEST_OUTPUT_URI: ${{ secrets.MONGODB_TEST_OUTPUT_URI }}
DOCKER_PUBLIC_READONLY_PAT: ${{ secrets.DOCKER_PUBLIC_READONLY_PAT }}
appimage:
needs: test
uses: viamrobotics/rdk/.github/workflows/appimage.yml@main
with:
release_type: 'rc'
secrets:
GCP_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS }}
staticbuild:
needs: test
uses: viamrobotics/rdk/.github/workflows/staticbuild.yml@main
with:
release_type: 'rc'
secrets:
GCP_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS }}
droid:
needs: test
uses: viamrobotics/rdk/.github/workflows/droid.yml@main
with:
release_type: 'rc'
secrets:
GCP_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS }}
npm_publish:
uses: viamrobotics/rdk/.github/workflows/npm-publish.yml@main
needs: test
secrets:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
slack-workflow-status:
if: ${{ failure() }}
name: Post Workflow Status To Slack
needs:
- test
- appimage
- staticbuild
runs-on: ubuntu-latest
permissions:
actions: 'read'
steps:
- name: Slack Workflow Notification
uses: Gamesight/slack-workflow-status@master
with:
repo_token: ${{secrets.GITHUB_TOKEN}}
slack_webhook_url: ${{secrets.SLACK_WEBHOOK_URL}}
channel: '#team-devops'
name: 'Workflow Status'
extract-rc-version:
runs-on: ubuntu-latest
continue-on-error: true
outputs:
version: ${{ steps.extract-rc-version.outputs.version }}
rc_number: ${{ steps.extract-rc-version.outputs.rc_number }}
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Extract version and RC number
id: extract-rc-version
run: |
TAG_NAME=${GITHUB_REF#refs/tags/}
if [[ $TAG_NAME =~ v([0-9]+\.[0-9]+\.[0-9]+)-rc([0-9]+) ]]; then
VERSION="${BASH_REMATCH[1]}"
RC_NUMBER="${BASH_REMATCH[2]}"
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "rc_number=$RC_NUMBER" >> $GITHUB_OUTPUT
else
echo "The tag does not match the expected pattern"
fi
run-sdk-integration-networking-tests:
needs: [staticbuild, appimage, extract-rc-version]
if: ${{ success() }}
uses: viamrobotics/rdk/.github/workflows/trigger-networking-tests.yml@main
with:
version: ${{ needs.extract-rc-version.outputs.version }}
rc_number: ${{ needs.extract-rc-version.outputs.rc_number }}
secrets:
REPO_READ_TOKEN: ${{ secrets.REPO_READ_TOKEN }}