604a8926a8
[skip ci] |
||
---|---|---|
.devcontainer | ||
.github/workflows | ||
dist | ||
.all-contributorsrc | ||
.eslintrc.json | ||
.gitignore | ||
action.yml | ||
index.js | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md |
Base64 to File
Use this action if you need to get a file from a base64-encoded string that you may be storing in Secrets or elsewhere. This can be useful for certificate signing and storing the base64 cert in the Secrets.
Usage
- name: Run Workflow
id: write_file
uses: timheuer/base64-to-file@v1.2
with:
fileName: 'myTemporaryFile.txt'
fileDir: './main/folder/subfolder/'
encodedString: ${{ secrets.SOME_ENCODED_STRING }}
By default this writes the fileName
to a temporary path defined by env.RUNNER_TEMP
. If you want a different path that is writable, specify fileDir
as an input argument as well and then fileDir
and fileName
will be combined to create the path where the output will be written. This assumes permissions in the fileDir
are correct and does not try to set them.
Using the file in a later step
The Action has an output variable named filePath that you can use as this file is written to TEMP. Make sure you ad an id
to your step when using this Action so that you can easily pull it out of the steps context later.
- name: Run Workflow
id: write_file
uses: timheuer/base64-to-file@v1.2
with:
fileName: 'myTemporaryFile.txt'
encodedString: ${{ secrets.SOME_ENCODED_STRING }}
- name: Some other step
uses: actions/someaction@master
with:
filelocation: ${{ steps.write_file.outputs.filePath }}
Using this in a reusable workflow
As a special note, when using reusable workflows, repository secrets do not naturally 'flow' through to the workflow. So if your encodedString
value is a repository secret and you expect this to work when this action is used in a reusable workflow, you need to specify the secrets: inherit
value in that situation and put that where you are reusing this workflow.
Building this repo
After making modifications to the source index.js file, to properly package the change you need to run
npm run package
which will modify/create the /dist folder with the final index.js output
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Michał Filipek 📖 |
Tim Heuer 💻 📖 |
tubone(Yu Otsubo) 💻 |
GG 📖 |
Daniel Zarins 🐛 |
Robbie Frodsham 🐛 |
Basti 🐛 💻 |
Codemenschen Android 🐛 |
Osmund Maheswaran 🐛 |
Rui Chen 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!