Skip to content

feat: try gatsby js #61

feat: try gatsby js

feat: try gatsby js #61

Workflow file for this run

name: 1 | Pull request
on:
pull_request:
types:
- opened
- reopened
- synchronize
branches:
- master
- feat/*
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ vars.NODE_JS_VERSION }}
cache: 'npm'
- name: Build static site
run: |
set -x
npm install
npm run build
- name: Save artifact
env:
REMOTE_FOLDER: '/home/github/dev/artifact/${{ github.repository }}/pull-request'
run: |
set -x
ansible-playbook -i ci/ansible/inventory.ini \
ci/ansible/playbooks/save-artifact.yml \
--extra-vars="ansible_user=${{ secrets.ANSIBLE_USER }} ansible_password=${{ secrets.ANSIBLE_PASS }} current_directory=$(pwd) \
remote_folder=${REMOTE_FOLDER}"
deploy-to-preview:
needs: build
runs-on: ubuntu-latest
environment:
name: preview
url: https://${{ vars.HOST }}
steps:
- name: Login to hub.docker.com
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- uses: docker/setup-qemu-action@v3
- uses: docker/setup-buildx-action@v3
- name: Download artifact
env:
REMOTE_FOLDER: '/home/github/dev/artifact/${{ github.repository }}/pull-request'
run: |
sshpass -p "${{ secrets.ANSIBLE_PASS }}" scp -r -o "StrictHostKeyChecking=no" "${{secrets.ANSIBLE_USER}}"@tutoriel.dev:"${REMOTE_FOLDER}/artifact.tar.bz2" .
- name: Extract
run: tar -xjf artifact.tar.bz2
- name: List
run: ls -la
- uses: cschleiden/replace-tokens@v1
with:
files: '["ci/k8s/*.yml"]'
env:
ENV: ${{ vars.ENV }}
HOST: ${{ vars.HOST }}
- name: Check replacements
run: cat ci/k8s/*.yml
- name: Build and compress output
run: |
set -x
mkdir -p output/{k8s,public,nginx}
cp -fr ci/k8s/*.yml output/k8s
cp -fr ci/nginx/*.conf output/nginx
cp -fr public/* output/public
cp -f ci/Dockerfile output/Dockerfile
tar -cjf output.tar.bz2 -C output .
- name: Build and push
uses: docker/build-push-action@v6
with:
context: ./output
push: true
tags: lkpeto/tutoriel.dev:${{ vars.ENV }}
- name: Apply changes
env:
REMOTE_FOLDER: '/home/github/build/${{ github.repository }}/${{ github.run_id }}'
run: |
set -x
ansible-playbook -i ci/ansible/inventory.ini \
ci/ansible/playbooks/deploy-output.yml \
--extra-vars="ansible_user=${{ secrets.ANSIBLE_USER }} ansible_password=${{ secrets.ANSIBLE_PASS }} current_directory=$(pwd) \
remote_folder=${REMOTE_FOLDER}"