fiam / arm-none-eabi-gcc Goto Github PK
View Code? Open in Web Editor NEWGitHub action for installing arm-none-eabi-gcc
License: MIT License
GitHub action for installing arm-none-eabi-gcc
License: MIT License
It can be seen in the CI from this repo as well: https://github.com/fiam/arm-none-eabi-gcc/runs/3476494778?check_suite_focus=true#step:3:5
(node:1698) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
with:
release: 9-2020-q2-update
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/ .
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.
All of a sudden, the certificate used is not accepted anymore:
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.
Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: fiam/[email protected]
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: ...
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?
Hi. I tried to use this package to configure GitHub Actions. However, I got an error like the one in the image below.
I know that the conditions for setting the PATH in GitHub Actions have changed. Is it possible that my settings are wrong? Please let me know.
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.
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 :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.