Compare commits
7 Commits
Author | SHA1 | Date |
---|---|---|
|
0d084aa072 | |
|
762cfe2b2d | |
|
9a8e6ceb11 | |
|
7de74415df | |
|
2bcda8e7d5 | |
|
cbe3401086 | |
|
910b4fffdb |
|
@ -0,0 +1,31 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
name: Publish PHP Package
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
docker:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Get tag name
|
||||||
|
run: echo "TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: zip and send
|
||||||
|
run: |
|
||||||
|
ls -la
|
||||||
|
apt-get update -y
|
||||||
|
apt-get install -y zip
|
||||||
|
cd ../
|
||||||
|
zip -r ${{ gitea.event.repository.name }}.zip ${{ gitea.event.repository.name }} -x '*.git*'
|
||||||
|
curl -v \
|
||||||
|
--user composer-pbl:${{ secrets.COMPOSER_PSWD }} \
|
||||||
|
--upload-file ${{ gitea.event.repository.name }}.zip \
|
||||||
|
https://git.bit5.ru/api/packages/bit/composer?version=${{ env.TAG }}
|
|
@ -0,0 +1 @@
|
||||||
|
tags
|
|
@ -0,0 +1,2 @@
|
||||||
|
## v1.1.0
|
||||||
|
- Adding support for root directory .env file which is used to set environment variables
|
|
@ -4,8 +4,5 @@
|
||||||
"homepage": "https://git.bit5.ru/composer/taskman_env",
|
"homepage": "https://git.bit5.ru/composer/taskman_env",
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.4"
|
"php": ">=7.4"
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"classmap": ["env.inc.php"]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
60
env.inc.php
60
env.inc.php
|
@ -7,20 +7,27 @@ $GLOBALS['TASKMAN_ROOT_ENV_NAME'] = 'gamectl.props.php';
|
||||||
task('envs', function()
|
task('envs', function()
|
||||||
{
|
{
|
||||||
global $GAME_ROOT;
|
global $GAME_ROOT;
|
||||||
$dir = $GAME_ROOT."/env/";
|
$dir = normalize_path($GAME_ROOT."/env/", true);
|
||||||
|
|
||||||
echo "=== Available envs ===\n";
|
echo "=== Available envs ===\n";
|
||||||
|
|
||||||
$results = scan_files_rec(array($dir), array(".props.php"));
|
$results = scan_files_rec(array($dir), array(".props.php"));
|
||||||
|
|
||||||
foreach($results as $file)
|
foreach($results as $file)
|
||||||
echo str_replace(".props.php", "", str_replace($dir, "", $file)) . "\n";
|
{
|
||||||
|
$file = str_replace($dir, '', normalize_path($file, true));
|
||||||
|
$file = str_replace(".props.php", '', $file);
|
||||||
|
$file = ltrim($file, '/');
|
||||||
|
echo $file . "\n";
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function put_env(&$argv)
|
function put_env(&$argv)
|
||||||
{
|
{
|
||||||
global $GAME_ROOT;
|
global $GAME_ROOT;
|
||||||
|
|
||||||
|
_set_env_vars_from_file();
|
||||||
|
|
||||||
$env = '';
|
$env = '';
|
||||||
$filtered = array();
|
$filtered = array();
|
||||||
for($i=0;$i<sizeof($argv);++$i)
|
for($i=0;$i<sizeof($argv);++$i)
|
||||||
|
@ -48,6 +55,37 @@ function put_env(&$argv)
|
||||||
putenv("GAME_ENV=");
|
putenv("GAME_ENV=");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function _set_env_vars_from_file()
|
||||||
|
{
|
||||||
|
global $GAME_ROOT;
|
||||||
|
|
||||||
|
if(!file_exists($GAME_ROOT . '/.env'))
|
||||||
|
return;
|
||||||
|
|
||||||
|
$var_arrs = array();
|
||||||
|
$lines = file($GAME_ROOT . '/.env');
|
||||||
|
foreach($lines as $line)
|
||||||
|
{
|
||||||
|
$line = trim($line);
|
||||||
|
|
||||||
|
$line_is_comment = (substr(trim($line),0 , 1) == '#') ? true: false;
|
||||||
|
|
||||||
|
if($line_is_comment || empty(trim($line)))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// Split the line variable and succeeding comment on line if exists
|
||||||
|
$line_no_comment = explode("#", $line, 2)[0];
|
||||||
|
// Split the variable name and value
|
||||||
|
$env_ex = preg_split('/(\s?)\=(\s?)/', $line_no_comment);
|
||||||
|
$env_name = trim($env_ex[0]);
|
||||||
|
$env_value = isset($env_ex[1]) ? trim($env_ex[1]) : "";
|
||||||
|
$var_arrs[$env_name] = $env_value;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($var_arrs as $k => $v)
|
||||||
|
putenv("$k=$v");
|
||||||
|
}
|
||||||
|
|
||||||
function set_root_env_name($root_name)
|
function set_root_env_name($root_name)
|
||||||
{
|
{
|
||||||
$GLOBALS['TASKMAN_ROOT_ENV_NAME'] = $root_name;
|
$GLOBALS['TASKMAN_ROOT_ENV_NAME'] = $root_name;
|
||||||
|
@ -63,12 +101,9 @@ function include_env()
|
||||||
global $GAME_ROOT;
|
global $GAME_ROOT;
|
||||||
|
|
||||||
$env_filename = get_env_file();
|
$env_filename = get_env_file();
|
||||||
$root_env = get_root_env_name();
|
|
||||||
|
|
||||||
if($env_filename && !file_exists($env_filename))
|
if($env_filename && !file_exists($env_filename))
|
||||||
throw new Exception("Error setting environment. No such env file $env_filename");
|
throw new Exception("No env file '$env_filename'");
|
||||||
else if($env_filename === null && file_exists("$GAME_ROOT/$root_env"))
|
|
||||||
$env_filename = "$GAME_ROOT/$root_env";
|
|
||||||
|
|
||||||
if($env_filename)
|
if($env_filename)
|
||||||
include($env_filename);
|
include($env_filename);
|
||||||
|
@ -83,13 +118,14 @@ function get_env_file()
|
||||||
$env = getenv("GAME_ENV");
|
$env = getenv("GAME_ENV");
|
||||||
|
|
||||||
if($env)
|
if($env)
|
||||||
|
{
|
||||||
$env_filename = "$GAME_ROOT/env/$env.props.php";
|
$env_filename = "$GAME_ROOT/env/$env.props.php";
|
||||||
else
|
|
||||||
$env_filename = "$GAME_ROOT/" . get_root_env_props_name();
|
|
||||||
|
|
||||||
if(file_exists($env_filename))
|
|
||||||
return $env_filename;
|
return $env_filename;
|
||||||
|
}
|
||||||
return null;
|
|
||||||
|
//checking optional env.file
|
||||||
|
$env_filename = "$GAME_ROOT/" . get_root_env_name();
|
||||||
|
|
||||||
|
return file_exists($env_filename) ? $env_filename : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue