Add Scaleway Deployment Configuration #1

Merged
Damien merged 13 commits from scaleway-deployment into main 2025-11-19 14:42:07 +00:00
2 changed files with 20 additions and 100 deletions
Showing only changes of commit 5460352a9b - Show all commits

View File

@@ -9,40 +9,38 @@ on:
jobs:
build-and-deploy:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
runs-on: gitea-runner
container:
image: scaleway/cli:latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: 'latest'
hugo-version: "latest"
extended: true
- name: Build Hugo site
run: hugo --minify
- name: Install s3cmd
- name: Configure Scaleway CLI
run: |
sudo apt-get update
sudo apt-get install -y s3cmd
- name: Configure s3cmd for Scaleway
scw init access-key=${{ secrets.SCW_ACCESS_KEY }} \
secret-key=${{ secrets.SCW_SECRET_KEY }} \
default-organization-id=${{ secrets.SCW_ORGANIZATION_ID }} \
default-region=fr-par
- name: Deploy to Object Storage
run: |
cat > ~/.s3cfg << EOF
[default]
access_key = ${{ secrets.SCW_ACCESS_KEY }}
secret_key = ${{ secrets.SCW_SECRET_KEY }}
host_base = s3.fr-par.scw.cloud
host_bucket = %(bucket)s.s3.fr-par.scw.cloud
use_https = True
EOF
- name: Deploy to Scaleway Object Storage
scw object cp public/ s3://notebook-arnodo-fr/ --recursive
- name: Purge CDN Cache (optional)
run: |
s3cmd sync --delete-removed --acl-public public/ s3://${{ secrets.SCW_BUCKET_NAME }}/
scw edge-services pipeline purge pipeline-id=${{ secrets.SCW_PIPELINE_ID }}

View File

@@ -1,78 +0,0 @@
# Sample workflow for building and deploying a Hugo site to GitHub Pages
name: Deploy Hugo site to Pages
on:
# Runs on pushes targeting the default branch
push:
branches:
- main
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
# Default to bash
defaults:
run:
shell: bash
jobs:
# Build job
build:
runs-on: ubuntu-latest
env:
HUGO_VERSION: 0.141.0
steps:
- name: Install Hugo CLI
run: |
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
- name: Install Dart Sass
run: sudo snap install dart-sass
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Setup Pages
id: pages
uses: actions/configure-pages@v5
- name: Install Node.js dependencies
run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
- name: Build with Hugo
env:
HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache
HUGO_ENVIRONMENT: production
TZ: America/Los_Angeles
run: |
hugo \
--gc \
--minify \
--baseURL "${{ steps.pages.outputs.base_url }}/"
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./public
# Deployment job
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