Coder Social home page Coder Social logo

arkade-get's Introduction

I create independent tools for developers

Hear a bit about my background and why I'm on this journey:

Follow my journey and support my Open Source work

As a GitHub Sponsor, you'll hear from me every week by email - covering my journey building independent software and open source projects. I share about new features, updates, events, tutorials and often share what I've learned from reading and executing every day.

My books

I've been self-publishing books for a year.

Fast track your Go journey

My best-selling book!

  • Learn unit testing and how to isolate dependencies
  • Make lovely CLIs for internal tools and open source projects
  • Monitor your services with Prometheus metrics
  • Ship your code in a container with Docker
  • Learn patterns and pitfalls for using Goroutines

Fast track your Go

๐Ÿ“š My first eBook - Serverless for Everyone Else

Learn the use-cases for serverless functions through practical exercises. You'll deploy your own self-hosted functions, write code in Node.js and using examples will start to call HTTP APIs, add npm modules and understand how to monitor your code with Grafana.

Get the eBook on its own, or upgrade to the video workshop for my expert overview.

Need to contact me?

arkade-get's People

Contributors

alexellis avatar dependabot[bot] avatar welteki avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

arkade-get's Issues

Tools can be cached in _work/_tool

Today I learned from @rodrik, that if this setup-arkade action places its tools within the _work/_tool directory instead of $HOME/.arkade/bin/ then these will be cached by the runner instead of being downloaded one each run.

Most pre-existing setup-xyz actions that use the GitHub JavaScript library already do this.

Flags:
      --arch string      CPU architecture for the tool (default "x86_64")
  -h, --help             help for get
      --os string        Operating system for the tool (default "Linux")
  -o, --output string    Output format of the list of tools (table/markdown/list)
      --progress         Display a progress bar (default true)
      --quiet            Suppress most additional output
      --stash            When set to true, stash binary in HOME/.arkade/bin/, otherwise store in /tmp/ (default true)
  -v, --version string   Download a specific version

We may need an additional --path folder, or to download first to the usual location, then to move the files.

I'm open to a PR to arkade to add the flag for a custom path or ENV-var to redirect where binaries are downloaded from arkade get

Tools won't get cleanup or get reused

The action fills up our runner when run couple of time. It creates always new /tmp/arkade-* and then the storage fills up.
What can we do against that? Maybe something with #35?

Download arkade in this action so that setup-arkade isn't required

Before:

    - uses: alexellis/setup-arkade@v2
    - uses: alexellis/arkade-get@master
      with:
        kubectl: latest
        faas-cli: 0.14.10
    - name: check for faas-cli
      run: |
        faas-cli version

After:

    - uses: alexellis/arkade-get@master
      with:
        kubectl: latest
        faas-cli: 0.14.10
    - name: check for faas-cli
      run: |
        faas-cli version

Bear in mind that the bash script installer for arkade is OS and arch aware, and this needs to be kept for the arkade-get action too. At least for Linux aarch64 and amd64.

https://github.com/alexellis/arkade/blob/master/get.sh

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.