Merge pull request #181 from drackp2m/dev #210
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: 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 "semantic-release-bot@martynus.net" | |
git config --global commit.gpgSign true | |
git config --global user.signingkey 6733A429C918F5E4 | |
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 |