Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

This is a Guide on how to deploy to Github Pages using Github Actions #49

Open
dmastag opened this issue Sep 29, 2020 · 2 comments
Open

Comments

@dmastag
Copy link

dmastag commented Sep 29, 2020

Though as per @arnehilmann from #21 :

One of the ideas behind markdeck is the possibility to preview your slides before you have to check in your changes.

But I still think that after you are done previewing your slides you might want to automate the build.

Below is what is working for me

name: publish-slides
on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  built-slides:
      runs-on: ubuntu-latest
      steps:
        - uses: actions/checkout@v2
        - name: build
          run: |
            cd slides/src #Folder where your main slides are
            curl -LO https://raw.githubusercontent.com/arnehilmann/markdeck/master/markdeck
            chmod a+x markdeck
            ./markdeck once
        
        - name: Deploy 🚀
          uses: JamesIves/[email protected]
          with:
            GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
            BRANCH: gh-pages # The branch the action should deploy to.
            FOLDER: slides/src/deck # The folder the action should deploy.
            CLEAN: true # Automatically remove deleted files from the deploy branch

Of course you could also have markdeck already in your repository.

@arnehilmann
Copy link
Owner

That looks quite cool! That leads to a couple of questions:

  • Could you give a little bit more context (or even a PR)?
  • Where to put that yaml snippet?
  • How are secrets handled (where comes the secrets.GITHUB_TOKEN from)?
  • Does that work with gh-pages in a docs subfolder (instead of the gh-pages branch)?
  • How long does that take to run? (markdeck is a rather heavy weight to run just once)

@dmastag
Copy link
Author

dmastag commented Sep 29, 2020

Sure, I am currently trying to make a github page which is a set of tutorials about Ionic. But I wanted to automate the process. Previously I was using vagrant (in windows) to create a virtual box to build with markdeck. And then copy the deck into a docs folder so github pages can publish it.

The github repo (its in Indonesian language)
https://github.com/julianalimin/tuntas-belajar-ionic

And the result is
https://julianalimin.github.io/tuntas-belajar-ionic

yaml snippet is in
.github/workflows folder and I call it publish-slides.yml

Regarding the github token, its a Predefined environment variables from the Repo

I assume it can work in a docs subfolder but you would need to change the logic or Github Action

The total time its taking is below 2 minutes which is really impressive for me
You can see it in my Repo
https://github.com/julianalimin/tuntas-belajar-ionic/actions

Honestly this is the first time I tried Github Actions and i just copy pasted the Deploy part from the Documentation.
I am an avid gitlab-ci user, but I must say the time it took to get this working and the amount of time for each action to finish is very impressive that I might just switch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants