Release Aquarium #269
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |