Introduce a new subdomain dev.iscsc.fr to publish in-development features from opened PRs #1
Workflow file for this run
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: Build and deploy a PR on dev.iscsc.fr | |
on: | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
# Allows | |
pull_request: | |
jobs: | |
# Build job | |
build-and-deploy-dev: | |
runs-on: ubuntu-latest | |
# Force to respect the 'dev-deployment' environment rules, in our case 1 maintainer approval | |
environment: deployment-dev | |
steps: | |
# Checkout repo AND ITS SUBMODULES | |
- name: π Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
# Build the static website with the provided docker-compose rules, overriding environment variables to build to /build/blog/dev | |
# Note: /!\ we do not override HUGO_ENV or HUGO_ENVIRONMENT, this is done on purpose to avoid triggering themes' behavior which | |
# are not intended for production and could present security risks | |
- name: π οΈ Build with HUGO | |
run: | | |
docker compose run -v ./build/blog/dev:/build/blog:rw builder --logLevel info --baseURL="https://dev.iscsc.fr" --buildFuture | |
# Create the SSH key file and fill the known_hosts to avoid a prompt from ssh (1st time connecting to remote host) | |
- name: π Create Key File | |
run: | | |
mkdir ~/.ssh | |
touch ~/.ssh/id_rsa | |
chmod 600 ~/.ssh/id_rsa | |
- name: π Load Host Keys | |
run: | | |
echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts | |
- name: π Populate Key | |
run: | | |
echo "${{ secrets.PRIVATE_SSH_KEY }}" > ~/.ssh/id_rsa | |
# Upload the build to the remote server location: the volume shared by the nginx container serving http requests | |
- name: π Upload | |
run: | | |
rsync --archive --stats --verbose --delete ./build/blog/dev/* ${{ secrets.CI_USER_NAME }}@iscsc.fr:${{ secrets.REPO_PATH_ON_REMOTE }}/build/blog/dev |