Add mpc-relted course #26
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
# This files is used by "github actions" to push (every time a commit is made on "main") | |
# the website on the "gh-pages" branch which will host the website. | |
# To enable it, make sure to configure it in the project: "Settings > Pages". | |
# The website is served by default at https://leo-colisson.github.io/website/ | |
# but we can configure a custom domain (just add "CNAME leo-colisson.github.io."). | |
# It is even possible to configure https! | |
# TODO: enable caching. See e.g. https://github.com/actions/cache. | |
# Some documentations: https://docs.github.com/en/actions/learn-github-actions/environment-variables | |
# https://alexwilson.tech/content/717e6a35-1cb5-4a28-9321-592d05ddd9dc | |
# https://medium.com/@danieljimgarcia/publishing-static-sites-to-github-pages-using-github-actions-8040f57dfeaf | |
name: Continuous Integration Website Colisson | |
# Controls when the workflow will run | |
on: | |
# Triggers the workflow on push or pull request events but only for the main branch | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | |
jobs: | |
# This workflow contains a single job called "build" | |
build: | |
# The type of runner that the job will run on (warning: this is not a docker image) | |
runs-on: ubuntu-latest | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v2 | |
with: | |
lfs: true | |
# Some big files are added using lfs (make sure to run "git lfs install" to configure the hooks properly) | |
# Then you can "git lfs track yourfile" (maybe do it only from the root to have ".gitattribute" in the | |
# root folder. But guess it's not mandatory.) | |
# then "git add yourfile"/"git push" as usual. | |
# If git lfs is installed, I think lfs are automatically pulled. Otherwise, install it and run | |
# "git lfs pull" (git lfs checkout does not download the files, see git lfs fetch for that). | |
# To list files, use "git lfs ls-files". | |
- name: Checkout LFS objects | |
run: git lfs checkout | |
- uses: cachix/install-nix-action@v14 | |
with: | |
nix_path: nixpkgs=channel:nixos-unstable | |
extra_nix_config: | | |
experimental-features = nix-command flakes | |
# Runs a set of commands using the runners shell | |
# - name: Echo flake installed | |
# run: | | |
# echo ========================== | |
# echo === Flake is installed === | |
# echo ========================== | |
# Build the project (the website will be in the "result" folder) | |
- run: nix build | |
# Copy it in the "gh-pages" page. | |
# https://github.com/marketplace/actions/deploy-to-github-pages | |
- name: Deploy 🚀 | |
uses: JamesIves/[email protected] | |
with: | |
branch: gh-pages # The branch the action should deploy to. | |
folder: result # The folder the action should deploy. |