Skip to content

Commit

Permalink
Merge pull request #323 from NIAEFEUP/ci/sentry
Browse files Browse the repository at this point in the history
Sentry release and source map uploads action
  • Loading branch information
thePeras authored Nov 2, 2024
2 parents 24fb9b0 + 999b48a commit 4a7ec54
Show file tree
Hide file tree
Showing 2 changed files with 103 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
53 changes: 53 additions & 0 deletions .github/workflows/sentry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Sentry Release

on:
push:
branches:
- main
- develop

jobs:
release:
runs-on: ubuntu-latest
environment:
name: sentry

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 (default to commit hash)
id: get_version
run: |
VERSION=$(git rev-parse --short HEAD)
# Override version if on main branch to use package.json version
if [ "${{ github.ref }}" == "refs/heads/main" ]; then
VERSION=$(jq -r .version < package.json)
fi
echo "Version to be released: $VERSION"
echo "::set-output name=release_version::$VERSION"
- name: Create and Finalize Sentry Release
uses: getsentry/action-release@v1
with:
environment: ${{ github.ref == 'refs/heads/main' && 'production' || 'staging' }}
version: ${{ steps.get_version.outputs.release_version }}
sourcemaps: ./build
finalize: true
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}

0 comments on commit 4a7ec54

Please sign in to comment.