Coder Social home page Coder Social logo

arm-none-eabi-gcc's Introduction

arm-none-eabi-gcc

action status

This action downloads and sets up arm-none-eabi-gcc, adding it to the PATH. It works on Windows, Linux and macOS.

Usage

steps:
- name: arm-none-eabi-gcc
- uses: fiam/arm-none-eabi-gcc@v1
  with:
    release: '9-2019-q4' # The arm-none-eabi-gcc release to use.
- run: ...

arm-none-eabi-gcc's People

Contributors

fiam avatar gretel 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

arm-none-eabi-gcc's Issues

Feature request: Add a "latest" release

To always grab the latest GCC version available in the action:

steps:
- uses: fiam/arm-none-eabi-gcc@v1
  with:
    release: 'latest'

Will be useful for CI workflows that are running tests with multiple GCC versions, to catch issues with the latest version without having to manually check if there has been a release.
Also useful for people that just want to build with the latest no matter what that is.

I'll be happy to provide a PR, just let me know :)

Certificate verification fails on macOS (10-2020-q4)

All of a sudden, the certificate used is not accepted anymore:
Screenshot 2021-09-16 at 10 55 18

However, it seems it would be better to just update the URLs, as the final destination has been moved:

% curl https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-mac.tar.bz2
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-mac.tar.bz2">here</a>.</h2>
</body></html>

Fetching that new URL works perfectly and the certificate verification is smooth.

Feature request: add option to use a known install path, for caching

Presently, the toolchain gets installed into what appears to be a random path on each invocation; e.g.:

extracting to /tmp/tmp-1465uzgsmT2PSR9x/gcc-10-2020-q4
adding /tmp/tmp-1465uzgsmT2PSR9x/gcc-10-2020-q4/bin to PATH

However, in order to leverage the GitHub Actions caching feature, a known path is required. I suppose the toolchain could be copied into a known path, but doing so would require finding the path the toolchain was extracted to first (perhaps by parsing PATH), then copying it.

A great feature out of the box would be to allow one to specify the install path via a with option, e.g.:

steps:
- name: arm-none-eabi-gcc
- uses: fiam/arm-none-eabi-gcc@v1
  with:
    release: '9-2019-q4'
    path: /usr/local/
- run: ...

github actions occasionally fail due to stalls/timout

On occasion github actions builds fail while waiting for a failed arm-sdk download, but does not retry, nor timeout in a timely manner.

I've not done this type of coding before, but after brief searching, i used a pre-made package @vercel/fetch-retry (https://github.com/vercel/fetch-retry). My initial idea was to add a retry and timeout, but found the pre-existing package, so i attempted to implement it.

What do you think of this: master...emuflight:retry_timeout ?
It did not fail, but i'm yet to discover if it provides the expected retries/timeout. i'm certain you would have better insight.

example failure 1+ hours:
image

my branch (unknown if solves issue):
image

Unhandled stream error in pipe

Occasionally, I get failed pipeline runs with this message:

Run fiam/arm-none-eabi-gcc@v1
(node:1671) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
downloading gcc 9-2019-q4 from https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2
extracting to /tmp/tmp-1671f5TW4SgJD7H7/gcc-9-2019-q4
internal/streams/legacy.js:59
      throw er; // Unhandled stream error in pipe.
      ^

TypeError: Cannot read property '0' of undefined
    at f (/home/runner/work/_actions/fiam/arm-none-eabi-gcc/v1/dist/index.js:21619:34)
    at Object.module.exports.370.bzip2.decompress (/home/runner/work/_actions/fiam/arm-none-eabi-gcc/v1/dist/index.js:12282:28)
    at decompressBlock (/home/runner/work/_actions/fiam/arm-none-eabi-gcc/v1/dist/index.js:25151:29)
    at decompressAndQueue (/home/runner/work/_actions/fiam/arm-none-eabi-gcc/v1/dist/index.js:25168:20)
    at Stream.end (/home/runner/work/_actions/fiam/arm-none-eabi-gcc/v1/dist/index.js:25203:17)
    at _end (/home/runner/work/_actions/fiam/arm-none-eabi-gcc/v1/dist/index.js:13066:9)
    at Stream.stream.end (/home/runner/work/_actions/fiam/arm-none-eabi-gcc/v1/dist/index.js:13075:5)
    at PassThrough.onend (_stream_readable.js:692:10)
    at Object.onceWrapper (events.js:299:28)
    at PassThrough.emit (events.js:210:5)
    at endReadableNT (_stream_readable.js:1184:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)

This may be related to #11.

Error: The `add-path` command is disabled.

Hello,

I currently receive this error:

Run fiam/arm-none-eabi-gcc@v1
  with:
    release: 9-2019-q4
downloading gcc 9-2019-q4 from https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2
(node:2827) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
extracting to /tmp/tmp-2827ccPMC1L3GzAw/gcc-9-2019-q4
Error: Unable to process command '::add-path::/tmp/tmp-2827ccPMC1L3GzAw/gcc-9-2019-q4/bin' successfully.
Error: The `add-path` command is disabled. Please upgrade to using Environment Files or opt into unsecure command execution by setting the `ACTIONS_ALLOW_UNSECURE_COMMANDS` environment variable to `true`. For more information see: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/

The add-path command was disabled yesterday by GitHub, see https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/ .

Release '9-2020-q2' is not usable

For some reason it does not seem to exist, but it should.

With release key 9-2020-q2 (https://github.com/rleh/modm/runs/1074306584):

##[error]gcc version 9-2020-q2 is not supported

WIth release key 9-2020-q2-update (https://github.com/rleh/modm/runs/1074311049):

##[error]invalid version 9-2020-q2-update. Available: 9-2019-q4,8-2019-q3,8-2018-q4,7-2018-q2,7-2017-q4,6-2017-q2,6-2017-q1,6-2016-q4,5-2016-q3,5-2016-q2,5-2016-q1,5-2015-q4,4.9-2015-q3,4.9-2015-q2,4.9-2015-q1,4.9-2014-q4,4.8-2014-q3,4.8-2014-q2,4.8-2014-q1,4.7-2014-q2,4.8-2013-q4,4.7-2013-q3,4.7-2013-q2,4.7-2013-q1,4.7-2012-q4

Any ideas?

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.