Skip to content

add deployment on s3 scaleway #574

add deployment on s3 scaleway

add deployment on s3 scaleway #574

Workflow file for this run

# Simple workflow for deploying static content to GitHub Pages

Check failure on line 1 in .github/workflows/static.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/static.yml

Invalid workflow file

(Line: 5, Col: 1): Unexpected value 'push'
name: Deploy static content to Pages
# Runs on pushes targeting the default branch
push:
branches: ["master"]
pull_request:
branches:
- '*'
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
# 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
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install the dependencies
run: npm ci
- name: Build
run: npm run build
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./build
deploy:
needs: build
if: github.ref == 'refs/heads/master'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
permissions:
contents: read
pages: write
id-token: write
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
deploy-s3:
needs: build
if: github.ref == 'refs/heads/master'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install s3cmd
run: sudo apt-get update && sudo apt-get install -y s3cmd
- name: Download build artifact
uses: actions/download-artifact@v4
with:
name: github-pages
path: build
- name: Extract artifact
run: |
tar -xf build/artifact.tar -C build
- name: Check secret
run: |
if [ -z "${{ secrets.SCW_ACCESS_KEY }}" ]; then
echo "Secret SCW_ACCESS_KEY is not set"
exit 1
fi
- name: Create s3cmd config
run: |
echo "[default]" > /home/runner/.s3cfg
echo "access_key = ${{ secrets.SCW_ACCESS_KEY }}" >> /home/runner/.s3cfg
echo "secret_key = ${{ secrets.SCW_SECRET_KEY }}" >> /home/runner/.s3cfg
echo "host_base = s3.fr-par.scw.cloud" >> /home/runner/.s3cfg
echo "host_bucket = %(bucket)s.s3.fr-par.scw.cloud" >> /home/runner/.s3cfg
echo "use_https = True" >> /home/runner/.s3cfg
- name: Sync build to S3
run: |
s3cmd sync build/ s3://quantstack-site/ --acl-public \
--delete-removed --exclude '*.css' --exclude '*.js' --force
s3cmd sync build/ s3://quantstack-site/ --acl-public \
--mime-type=text/css --exclude '*' --include '*.css' --force
s3cmd sync build/ s3://quantstack-site/ --acl-public \
--mime-type=application/javascript --exclude '*' --include '*.js' --force
- name: Ensure public ACL
run: s3cmd setacl s3://quantstack-site/ --acl-public --recursive