Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
file

GitHub Action

base64-to-file

v1.2

base64-to-file

file

base64-to-file

Takes a base64-encoded string and writes to a file

Installation

Copy and paste the following snippet into your .yml file.

              

- name: base64-to-file

uses: timheuer/[email protected]

Learn more about this action in timheuer/base64-to-file

Choose a version

Base64 to File

All Contributors

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/[email protected]
  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/[email protected]
  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
Michał Filipek

📖
Tim Heuer
Tim Heuer

💻 📖
tubone(Yu Otsubo)
tubone(Yu Otsubo)

💻
GG
GG

📖
Daniel Zarins
Daniel Zarins

🐛
Robbie Frodsham
Robbie Frodsham

🐛
Basti
Basti

🐛 💻
Codemenschen Android
Codemenschen Android

🐛
Osmund Maheswaran
Osmund Maheswaran

🐛

This project follows the all-contributors specification. Contributions of any kind welcome!