Skip to content

Add back choose currency row and Crossmint Checkout #389

Add back choose currency row and Crossmint Checkout

Add back choose currency row and Crossmint Checkout #389

Workflow file for this run

name: Pull Request
on:
pull_request:
types: [review_requested]
branches:
- "*"
pull_request_review:
types: [submitted]
branches:
- '*'
jobs:
# Matrix build jobs that depend on the dryrun job
build:
if: github.event_name == 'pull_request' || github.event.review.state == 'approved'
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
env: # Pass the version as an environment variable to each matrix job
VERSION: 1.0.0-pr-${{ github.event.pull_request.number }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
version: 9
run_install: false
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Import mac certificate to keychain
uses: apple-actions/import-codesign-certs@v3
with:
p12-file-base64: ${{ secrets.MAC_CERTIFICATE_P12_BASE64 }}
p12-password: ${{ secrets.MAC_CERTIFICATE_PASSWORD }}
if: matrix.os == 'macos-latest'
# Use the version generated from dry-run in the build process
- name: Set desktop app package version
run: pnpm pkg set version=${{ env.VERSION }} --prefix apps/sentry-client-desktop
- name: Set CLI version
run: sed -i'' -e 's/VERSION_NUMBER/${{ env.VERSION }}/g' packages/core/src/utils/version.ts
- name: Build monorepo
run: npx nx run-many --target=build --all
env:
CSC_LINK: ${{ secrets.MAC_CERTIFICATE_P12_BASE64 }}
CSC_KEY_PASSWORD: ${{ secrets.MAC_CERTIFICATE_PASSWORD }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
- name: Upload sentry-client-desktop artifacts
uses: actions/upload-artifact@v4
with:
name: release-desktop-${{ matrix.os }}
path: apps/sentry-client-desktop/release
- name: Zip CLI artifacts
run: |
cd apps/cli/release
zip sentry-node-cli-macos.zip sentry-node-cli-macos
zip sentry-node-cli-linux.zip sentry-node-cli-linux
zip sentry-node-cli-windows.zip sentry-node-cli-win.exe
if: matrix.os == 'ubuntu-latest'
- name: Upload CLI artifacts
uses: actions/upload-artifact@v4
with:
name: release-cli-${{ matrix.os }}
path: apps/cli/release
sign:
if: github.event_name == 'pull_request' || github.event.review.state == 'approved'
needs: build
runs-on: ubuntu-latest
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: release-desktop-windows-latest
path: release-desktop-windows-latest
- name: Create directory for signed builds
shell: bash
run: mkdir release-desktop-windows-latest/signed-builds
- name: Sign build Windows exe
uses: sslcom/esigner-codesign@develop
with:
command: sign
username: ${{ secrets.SSL_USERNAME }}
password: ${{ secrets.SSL_PASSWORD }}
totp_secret: ${{ secrets.SSL_TOTP_SECRET }}
credential_id: ${{secrets.SSL_CREDENTIAL_ID}}
file_path: release-desktop-windows-latest/sentry-client-windows.exe
output_path: release-desktop-windows-latest/signed-builds
- name: Upload signed artifacts
uses: actions/upload-artifact@v4
with:
name: release-signed-desktop-windows-latest
path: release-desktop-windows-latest
checksum-and-release:
if: github.event_name == 'pull_request' || github.event.review.state == 'approved'
needs: sign
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
- name: Generate checksum
run: |
CHECKSUM=$(shasum -a 512 release-signed-desktop-windows-latest/signed-builds/sentry-client-windows.exe | cut -f1 -d\ | xxd -r -p | base64)
CHECKSUM=$(echo "$CHECKSUM" | tr -d '\r\n')
echo "SHA512 Checksum: $CHECKSUM"
cat release-signed-desktop-windows-latest/latest.yml
sed -i '' -e "s#^sha512:.*#sha512: $CHECKSUM#" "release-signed-desktop-windows-latest/latest.yml"
sed -i '' -e "s#^ sha512:.*# sha512: $CHECKSUM#" "release-signed-desktop-windows-latest/latest.yml"