Skip to content

Commit

Permalink
ci: sentry release and source map uploads
Browse files Browse the repository at this point in the history
  • Loading branch information
thePeras committed Oct 9, 2024
1 parent 8a15ab2 commit 7561ad6
Show file tree
Hide file tree
Showing 2 changed files with 116 additions and 0 deletions.
50 changes: 50 additions & 0 deletions .github/workflows/release_version.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Check Package Version

on:
pull_request:
branches:
- main

jobs:
check_version:
runs-on: ubuntu-latest

steps:
- name: Checkout PR branch code
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '20'

- name: Get PR package version
id: pr_version
run: |
PR_VERSION=$(jq -r .version < package.json)
echo "::set-output name=pr_version::$PR_VERSION"
- name: Fetch and checkout the main branch
run: |
git fetch origin main
git checkout origin/main
- name: Compare PR versions
run: |
PR_VERSION=${{ steps.pr_version.outputs.pr_version }}
MAIN_VERSION=$(jq -r .version < package.json)
echo "Main branch version: $MAIN_VERSION"
echo "PR version: $PR_VERSION"
version_greater() {
printf '%s\n%s' "$1" "$2" | sort -V | head -n1 | grep -q "$2"
}
if version_greater "$PR_VERSION" "$MAIN_VERSION"; then
echo "Version is correct!"
else
echo "Error: PR version ($PR_VERSION) is not greater than main version ($MAIN_VERSION)."
exit 1
fi
66 changes: 66 additions & 0 deletions .github/workflows/sentry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Sentry Release

on:
push:
branches:
- main
- develop

jobs:
release:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '20'

- name: Install dependencies
run: yarn install

- name: Build project
run: yarn build

- name: Determine release version
id: get_version
run: |
VERSION=$(jq -r .version < package.json)
# If the branch is develop, use the commit hash as the version
if [ "${{ github.ref }}" == "refs/heads/develop" ]; then
VERSION=$(git rev-parse --short HEAD)
fi
echo "Version to be released: $VERSION"
echo "::set-output name=release_version::$VERSION"
- name: Install Sentry CLI
run: npm install -g @sentry/cli

- name: Create Sentry release
env:
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
run: |
sentry-cli releases new ${{ steps.get_version.outputs.release_version }}
sentry-cli releases set-commits --auto ${{ steps.get_version.outputs.release_version }}
- name: Upload source maps to Sentry
env:
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
run: |
sentry-cli releases files ${{ steps.get_version.outputs.release_version }} upload-sourcemaps ./build
- name: Finalize Sentry release
env:
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
run: sentry-cli releases finalize ${{ steps.get_version.outputs.release_version }}

0 comments on commit 7561ad6

Please sign in to comment.