Skip to content
Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

#+author: conao
#+date: <2019-11-23 Sat>

[[https://github.com/conao3/setup-cask][https://raw.githubusercontent.com/conao3/files/master/blob/headers/png/setup-cask.png]]
[[https://github.com/conao3/setup-cask/blob/master/LICENSE][https://img.shields.io/github/license/conao3/setup-cask.svg?style=flat-square]]
[[https://github.com/conao3/setup-cask/releases][https://img.shields.io/github/tag/conao3/setup-cask.svg?style=flat-square]]
[[https://github.com/conao3/setup-cask/actions][https://img.shields.io/github/workflow/status/conao3/setup-cask/Main%20workflow.svg?label=GitHub%20Actions&logo=github&style=flat-square]]
[[https://app.codacy.com/project/conao3/setup-cask/dashboard][https://img.shields.io/codacy/grade/1108333059ce4bc7a833a42a4eaf417c.svg?logo=codacy&style=flat-square]]
[[https://www.patreon.com/conao3][https://img.shields.io/badge/patreon-become%20a%20patron-orange.svg?logo=patreon&style=flat-square]]
[[https://twitter.com/conao_3][https://img.shields.io/badge/twitter-@conao__3-blue.svg?logo=twitter&style=flat-square]]
[[https://join.slack.com/t/conao3-support/shared_invite/enQtNjUzMDMxODcyMjE1LTA4ZGRmOWYwZWE3NmE5NTkyZjk3M2JhYzU2ZmRkMzdiMDdlYTQ0ODMyM2ExOGY0OTkzMzZiMTNmZjJjY2I5NTM][https://img.shields.io/badge/chat-on_slack-blue.svg?logo=slack&style=flat-square]]

* Table of Contents
- [[#description][Description]]
- [[#usage][Usage]]
- [[#information][Information]]
  - [[#donation][Donation]]
  - [[#community][Community]]
  - [[#contribution][Contribution]]
  - [[#license][License]]
  - [[#author][Author]]
  - [[#contributors][Contributors]]

* Description
~setup-cask~ prepare Cask for your workflow.
- Fetch specified Cask in your workflow ~$HOME~ (such as ~/home/runner/.cask~).
- Add ~/home/runner/.cask/bin~ to your workflow ~$PATH~
- Initiarize Cask

* Usage
~Cask~ depends ~Python~ and ~Emacs~.
You should setup these, respectively, before use ~setup-cask~.

This mechanism has a merit to be able to use specified version of ~Python~ and ~Emacs~.

~setup-cask~'s version accepts ~snapshot~ and ~version code~. (see Cask [[https://github.com/cask/cask/releases][release]] page)

And refference these action.yml
- [[https://github.com/purcell/setup-emacs/blob/master/action.yml][setup-emacs/action.yml]]
- [[https://github.com/actions/setup-python/blob/master/action.yml][setup-python/action.yml]]
- [[https://github.com/conao3/setup-cask/blob/master/action.yml][setup-cask/action.yml]]

** Basic
#+begin_src yaml
  jobs:
    build:
      runs-on: ubuntu-latest
      steps:
        - uses: actions/checkout@v1
        - uses: actions/setup-python@v2
          with:
            python-version: '3.6'
            architecture: 'x64'
        - uses: purcell/setup-emacs@master
          with:
            version: '26.3'

        - uses: conao3/setup-cask@master
          with:
            version: 'snapshot'

        - name: Run tests
          run: make test
#+end_src

This example is testing your package in below environment.
- Emacs: ~26.3~
- Python: ~3.6 (x64)~
- Cask: ~snapshot~ (HEAD)

** Matrix testing
#+begin_src yaml
  jobs:
    build:
      runs-on: ubuntu-latest
      strategy:
        matrix:
          emacs_version:
            - '26.1'
            - '26.2'
            - '26.3'
            - 'snapshot'
          cask_version:
            - '0.8.0'
            - '0.8.4'
            - 'snapshot'
      steps:
        - uses: actions/checkout@v1
        - uses: actions/setup-python@v2
          with:
            python-version: '3.6'
            architecture: 'x64'
        - uses: purcell/setup-emacs@master
          with:
            version: ${{ matrix.emacs_version }}

        - uses: conao3/setup-cask@master
          with:
            version: 'snapshot'

        - name: Run tests
          run: make test
#+end_src

This example is testing your package in below environment.
- Emacs: ~26.1~, ~26.2~, ~26.3~
- Python: ~3.6 (x64)~
- Cask: ~0.8.0~, ~0.8.4~, ~snapshot~ (HEAD)

** Simplest
#+begin_src yaml
  jobs:
    build:
      runs-on: ubuntu-latest
      steps:
        - uses: actions/checkout@v1
        - uses: actions/setup-python@v2
        - uses: purcell/setup-emacs@master
          with:
            version: '26.3'
        - uses: conao3/setup-cask@master

        - name: Run tests
          run: make test

#+end_src

This example is testing your package in below environment.
- Emacs: ~26.3~
- Python: ~3.x (x64)~
- Cask: ~snapshot~ (HEAD)

* Information
** Donation
I love OSS and I am dreaming of working on it as *full-time* job.

*With your support*, I will be able to spend more time at OSS!

[[https://www.patreon.com/conao3][https://c5.patreon.com/external/logo/become_a_patron_button.png]]

** Community
All feedback and suggestions are welcome!

You can use github issues, but you can also use [[https://join.slack.com/t/conao3-support/shared_invite/enQtNjUzMDMxODcyMjE1LTA4ZGRmOWYwZWE3NmE5NTkyZjk3M2JhYzU2ZmRkMzdiMDdlYTQ0ODMyM2ExOGY0OTkzMzZiMTNmZjJjY2I5NTM][Slack]]
if you want a more casual conversation.

** Contribution
Feel free to send PR!

** License
#+begin_example
  MIT
  Copyright (c) Naoya Yamashita - https://conao3.com
  https://github.com/conao3/setup-cask/blob/master/LICENSE
#+end_example

** Author
- Naoya Yamashita ([[https://github.com/conao3][conao3]])

** Contributors
- Not yet... Now send PR and add your name!!

About

Install Cask for Github Actions workflow

Resources

Stars

14 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages