Skip to content

Release Aquarium

Release Aquarium #269

Workflow file for this run

name: Release Aquarium
on:
workflow_dispatch:
inputs:
confirm:
description: "If this is a release from main, have you confirmed alignment in #aquarium? Type 'yes' or 'n/a' to confirm."
required: true
jobs:
release:
name: Perform Release
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.MP_SEMANTIC_RELEASE_BOT }}
GIT_AUTHOR_NAME: mparticle-automation
GIT_AUTHOR_EMAIL: [email protected]
GIT_COMMITTER_NAME: mparticle-automation
GIT_COMMITTER_EMAIL: [email protected]
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
steps:
# Checkout the latest code from the main branch with full history
- name: Checkout public main branch
uses: actions/checkout@v4
with:
token: ${{ secrets.MP_SEMANTIC_RELEASE_BOT }}
fetch-depth: 0
# Import GPG key for signed commits and tags
- name: Import GPG Key
uses: crazy-max/ghaction-import-gpg@v4
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_PASSPHRASE }}
git_user_signingkey: true
git_commit_gpgsign: true
# Set up Node.js environment
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 'latest'
# Install project dependencies
- name: Install Dependencies
run: npm ci
# Build the project to prepare for release
- name: Build dist
run: npm run build-dist
# Run semantic-release to create a new release
- name: Release
run: |
# Enable debug mode to get detailed logs from semantic-release
export DEBUG="semantic-release:*"
# Run semantic-release to handle versioning and release
npx semantic-release
# Archive npm failure logs for debugging in case of errors
- name: Archive npm failure logs
uses: actions/upload-artifact@v3
if: failure()
with:
name: npm-logs
path: ~/.npm/_logs