Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/franzbischoff/replace_envs
This action has the simple task of replacing the placeholders of Environment Variables with their values.
https://github.com/franzbischoff/replace_envs
actions automation variables
Last synced: 7 days ago
JSON representation
This action has the simple task of replacing the placeholders of Environment Variables with their values.
- Host: GitHub
- URL: https://github.com/franzbischoff/replace_envs
- Owner: franzbischoff
- License: mit
- Created: 2020-11-16T09:38:46.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-06-16T15:56:37.000Z (5 months ago)
- Last Synced: 2024-10-15T07:02:39.046Z (about 1 month ago)
- Topics: actions, automation, variables
- Language: JavaScript
- Homepage:
- Size: 796 KB
- Stars: 5
- Watchers: 2
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/franzbischoff/replace_envs)
![Licensed](https://github.com/franzbischoff/replace_envs/workflows/Licensed/badge.svg)
![Build tests](https://github.com/franzbischoff/replace_envs/workflows/Build%20tests/badge.svg)
![License](https://img.shields.io/badge/license-MIT-green)
[![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/franzbischoff/replace_envs.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/franzbischoff/replace_envs/context:javascript)# Replace Environment Variables Action
This action has the simple task of replacing the placeholders of Environment Variables with their values.
For example, you have a README.md file in a template repository, and you want to have a link that points to your
new repository just after you 'fork' it.So in your template repository, you may have a line like this:
> https://github.com/${GITHUB_REPOSITORY}/
And this will be translated (as in this repository) as:
> https://github.com/franzbischoff/replace_envs/
In [this link](https://docs.github.com/en/free-pro-team@latest/actions/reference/environment-variables) is the default
list of environment variables that Github has set.In addition, you may set your own variables in the workflow YAML file like this:
```yaml
env:
MY_CUSTOM_VARIABLE: 'some value'
```That's all it does.
Lastly, just three comments:
- I've created two new variables called `REPOSITORY_ACCOUNT` and `REPOSITORY_ACCOUNT` that is derived from the
`GITHUB_REPOSITORY` variable, to make it easier to use in some use-cases.
- The changes are by default `pushed` to the repository. If this action is part of a chain of steps, and you want to
push the changes later, by yourself, you can disable this behavior with the parameter `commit: 'false'`.
- The input and output file can be either a `template -> definitive` or `definitive -> definitive`; this just means that
the input and output may be the same file. The later attempts to replace, by this action, will 'fail' safely without an
Error code.# Why use this action?
I know there are other actions that accomplish the same objective, but:
- This is self-contained (only needs to be preceded by actions/checkout)
- It is plain JavaScript, few lines of code, easy to inspect and see that this action only does what it does.# Usage
Create a YAML file at `.github/workflows/myworkflow.yml`
> GITHUB_TOKEN must be set, otherwise this action cannot perform changes in your repository.```yaml
steps:
- uses: actions/checkout@v4
- uses: franzbischoff/replace_envs@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MY_CUSTOM_VARIABLE: 'some value'
with:
from_file: 'README.md'
to_file: 'README.md'
commit: 'true'
```# Code of Conduct
Please note that this project is released with a Contributor [Code of Conduct](CODE_OF_CONDUCT.md). By contributing to
this project, you agree to abide by its terms.# License
The scripts and documentation in this project are released under the [MIT License](LICENSE)# Contributions
Contributions are welcome! See [Contributor's Guide](CONTRIBUTING.md)## Code of Conduct
:wave: Be nice. See [the code of conduct](CODE_OF_CONDUCT.md)