Deploy to Infomaniak || GitHub Pages #53
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 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 |