Skip to content

Merge pull request #179 from drackp2m/dev #208

Merge pull request #179 from drackp2m/dev

Merge pull request #179 from drackp2m/dev #208

Workflow file for this run

name: Deploy Play Set Online to Github Pages
on:
push:
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 "semantic-release-bot"
git config --global user.email "[email protected]"
git config --global commit.gpgSign true
git config --global user.signingkey 42247470C3E2A13A
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 }}
GIT_AUTHOR_NAME: semantic-release-bot
GIT_AUTHOR_EMAIL: [email protected]
GIT_COMMITTER_NAME: semantic-release-bot
GIT_COMMITTER_EMAIL: [email protected]
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