Giter Club home page Giter Club logo

setup-cask's Introduction

https://raw.githubusercontent.com/conao3/files/master/blob/headers/png/setup-cask.png https://img.shields.io/github/license/conao3/setup-cask.svg?style=flat-square https://img.shields.io/github/tag/conao3/setup-cask.svg?style=flat-square https://img.shields.io/github/workflow/status/conao3/setup-cask/Main%20workflow.svg?label=GitHub%20Actions&logo=github&style=flat-square https://img.shields.io/codacy/grade/1108333059ce4bc7a833a42a4eaf417c.svg?logo=codacy&style=flat-square https://img.shields.io/badge/patreon-become%20a%20patron-orange.svg?logo=patreon&style=flat-square https://img.shields.io/badge/twitter-@conao__3-blue.svg?logo=twitter&style=flat-square https://img.shields.io/badge/chat-on_slack-blue.svg?logo=slack&style=flat-square

Table of Contents

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 release page)

And refference these action.yml

Basic

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

This example is testing your package in below environment.

  • Emacs: 26.3
  • Python: 3.6 (x64)
  • Cask: snapshot (HEAD)

Matrix testing

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

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

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

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://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 Slack if you want a more casual conversation.

Contribution

Feel free to send PR!

License

MIT
Copyright (c) Naoya Yamashita - https://conao3.com
https://github.com/conao3/setup-cask/blob/master/LICENSE

Author

Contributors

  • Not yet… Now send PR and add your name!!

setup-cask's People

Contributors

bryanmacfarlane avatar conao3 avatar dependabot[bot] avatar dongjoon-hyun avatar ethomson avatar hugovk avatar jcs090218 avatar juergenhoetzel avatar konradpabjan avatar porras avatar stephenmichaelf avatar wilfred avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

setup-cask's Issues

add-path deprecation

Hi:

I have been using this package and it works like a charm. But I get a deprecation warning that ptobably needs to be fixed:

Warning: The `add-path` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/

The fix is pretty simple:

https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#example-4

Compatibility with cask 0.8.5

Does conao3/setup-cask work with cask 0.8.5?
I've had a build error on cask install that disappears if I use cask 0.8.4.
Here's the output from the build:

  cask install --debug
  shell: /bin/bash -e {0}
  env:
    NIX_PATH: nixpkgs=channel:nixpkgs-unstable

Making version-control local to dash-autoloads.el while let-bound!
Debugger entered--Lisp error: (error "Dependency ansi failed to install: Wrong type argument: stringp, nil
Output:
nil")
  signal(error ("Dependency ansi failed to install: Wrong type argument: stringp, nil\nOutput:\nnil"))
  error("Dependency %s failed to install: %s\nOutput:\n%s" ansi "Wrong type argument: stringp, nil" nil)
  (if dependency (error "Dependency %s failed to install: %s\nOutput:\n%s" dependency message output) (error "Package installation failed: %s\nOutput:\n%s" message output))
  (let* ((data (cdr err)) (dependency (progn nil (or (progn nil (and (vectorp ...) (>= ... 8) (memq ... cl-struct-cask-dependency-tags) t)) (signal (quote wrong-type-argument) (list (quote cask-dependency) (nth 0 data)))) (aref (nth 0 data) 1))) (message (error-message-string (nth 1 data))) (output (nth 2 data))) (if dependency (error "Dependency %s failed to install: %s\nOutput:\n%s" dependency message output) (error "Package installation failed: %s\nOutput:\n%s" message output)))
  (condition-case err (progn (cask-install (cask-cli--bundle))) (cask-missing-dependencies (let ((missing-dependencies (cdr err))) (error "Some dependencies were not available: %s" (s-join ", " (-map (function symbol-name) (-map (function cask-dependency-name) missing-dependencies)))))) (cask-failed-initialization (let* ((data (cdr err)) (message (error-message-string (nth 0 data))) (output (nth 1 data))) (error "Package initialization failed: %s\nOutput:\n%s" message output))) (cask-failed-installation (let* ((data (cdr err)) (dependency (progn nil (or (progn nil ...) (signal ... ...)) (aref (nth 0 data) 1))) (message (error-message-string (nth 1 data))) (output (nth 2 data))) (if dependency (error "Dependency %s failed to install: %s\nOutput:\n%s" dependency message output) (error "Package installation failed: %s\nOutput:\n%s" message output)))))
  cask-cli/install()
  commander--handle-command(("install"))
  commander-parse(("install" "--debug"))
  (if commander-parsing-done nil (commander-parse (or commander-args (cdr command-line-args-left))))
  eval-buffer(#<buffer  *load*> nil "/home/runner/.cask/cask-cli.el" nil t)  ; Reading at buffer position 13674
  load-with-code-conversion("/home/runner/.cask/cask-cli.el" "/home/runner/.cask/cask-cli.el" nil t)
  load("/home/runner/.cask/cask-cli.el" nil t t)
  command-line-1(("-scriptload" "/home/runner/.cask/cask-cli.el" "--" "install" "--debug"))
  command-line()
  normal-top-level()

Loading package information... done
Package operations: 2 installs, 0 removals
  - Installing [ 1/2] ansi (latest)... downloading
Error: Process completed with exit code 255.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.