Skip to content

Deploy to Infomaniak || GitHub Pages #53

Deploy to Infomaniak || GitHub Pages

Deploy to Infomaniak || GitHub Pages #53

Workflow file for this run

name: Deploy to GitHub Pages
on:
# Trigger the workflow every time you push to the `main` branch
# Using a different branch name? Replace `main` with your branch’s name
push:
branches: [main]
# Allows you to run this workflow manually from the Actions tab on GitHub.
workflow_dispatch:
# Allow this job to clone the repo and create a page deployment
permissions:
contents: read
pages: write
id-token: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout your repository using git
uses: actions/checkout@v3
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: "18"
- name: "Cache Node dependencies"
uses: actions/cache@v3
with:
path: "~/.npm"
key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install npm dependencies
run: npm install
- name: Run build task
run: npm run ci:build
env:
SITE_URL: ${{ vars.SITE_URL }}
PUBLIC_BASE: ${{ vars.PUBLIC_BASE }}
PUBLIC_REF_NAME: ${{ vars.PUBLIC_REF_NAME }}
PUBLIC_REPO_URL: ${{ vars.PUBLIC_REPO_URL }}
PUBLIC_REPO_BRANCH: ${{ vars.PUBLIC_REPO_BRANCH }}
- name: Deploy to Server via ssh key
uses: easingthemes/ssh-deploy@v4.0.5
env:
SSH_PRIVATE_KEY: ${{ secrets.SERVER_SSH_KEY }}
ARGS: "-rltgoDzvO --delete"
SOURCE: "dist/"
REMOTE_HOST: ${{ vars.REMOTE_HOST }}
REMOTE_USER: ${{ vars.REMOTE_USER }}
TARGET: ${{ vars.REMOTE_TARGET }}
SCRIPT_BEFORE: whoami
- name: Upload Pages Artifact
# Must use v2 to avoid requiring `actions/deploy-pages@v4` or newer
uses: actions/upload-pages-artifact@v2
with:
path: "./dist/"
deploy:
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1