notes for today #45
This file contains hidden or 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 file was created automatically with `myst init --gh-pages` 🪄 💚 | |
| name: MyST GitHub Pages Deploy | |
| on: | |
| push: | |
| # Runs on pushes targeting the default branch | |
| branches: [main] | |
| env: | |
| # `BASE_URL` determines the website is served from, including CSS & JS assets | |
| # You may need to change this to `BASE_URL: ''` | |
| BASE_URL: /${{ github.event.repository.name }} | |
| # 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 | |
| jobs: | |
| deploy: | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Setup Pages | |
| uses: actions/configure-pages@v3 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 18.x | |
| - name: Install MyST Markdown | |
| run: | | |
| pip install -r requirements.txt | |
| npm install -g mystmd | |
| pip install git+https://github.com/compsys-progtools/courseutils@main | |
| - name: Build HTML Assets | |
| run: | | |
| # Set the port for our local Jupyter process | |
| port="8888" | |
| # Define environment variables that will be used by MyST | |
| # We'll use the values of these variables in our Jupyter server as well. | |
| export JUPYTER_BASE_URL="http://localhost:${port}" | |
| export JUPYTER_TOKEN="my-jupyter-token" | |
| # Start the Jupyter server re-using the variables above | |
| jupyter server --IdentityProvider.token="${JUPYTER_TOKEN}" --ServerApp.port="${port}" & | |
| # Run the MyST build | |
| # It will use the JUPYTER_* variables above to look for the server. | |
| myst build --execute --html | |
| # Stop the Jupyter server! | |
| kill %1 | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: './_build/html' | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |