Skip to content

💻 ci: add semantic release config file #216

💻 ci: add semantic release config file

💻 ci: add semantic release config file #216

Workflow file for this run

name: Deploy Play Set Online to Github Pages
on:
pull_request:
branches:
- main
permissions:
contents: write
pages: write
id-token: write
concurrency:
group: 'pages'
cancel-in-progress: false
jobs:
tests:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22.9'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run tests
env:
MIKRO_ORM_CLI: apps/api/src/shared/module/config/mikro-orm.config.ts
MIKRO_ORM_CLI_TS_CONFIG_PATH: apps/api/tsconfig.app.json
MIKRO_ORM_CLI_USE_TS_NODE: true
run: node --run test
build:
runs-on: ubuntu-latest
needs: tests
steps:
- name: Setup Pages
id: pages
uses: actions/configure-pages@v4
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22.9'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build application
run: node --run build:app -- --base-href ${{ steps.pages.outputs.base_url }}/
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: './dist/apps/app/browser'
release:
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22.9'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Import GPG key
env:
GPG_PRIVATE_KEY: ${{ secrets.SEMANTIC_RELEASE_GPG_PRIVATE_KEY }}
run: |
echo "$GPG_PRIVATE_KEY" > private.key
gpg --batch --import private.key
git config --global user.name "drackp2m-semantic-release-bot"
git config --global user.email "[email protected]"
git config --global commit.gpgSign true
git config --global user.signingkey 89AE9225AE159D89
echo "allow-loopback-pinentry" >> ~/.gnupg/gpg-agent.conf
echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf
gpgconf --kill gpg-agent
- name: Run semantic-release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: node --run release
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4