Coder Social home page Coder Social logo

arm-none-eabi-gcc's Issues

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/ .

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.

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: ...

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?

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

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 :)

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.