Skip to content
Snippets Groups Projects
Verified Commit 29d6feef authored by Volker Schukai's avatar Volker Schukai :alien:
Browse files

fix: wip new pipelinescript

parent ba4ce5b9
No related branches found
No related tags found
No related merge requests found
watch_file ./devenv.nix ./flake.nix ./nix/scripts/update-project.nix ./nix/scripts/build.nix ./nix/scripts/init-project.nix ./nix/scripts/build-stylesheets.nix ./nix/scripts/build-and-publish.nix ./nix/scripts/deploy.nix ./nix/scripts/update-files.nix ./nix/scripts/run-tests.nix ./nix/scripts/clean-up.nix ./nix/scripts/go-task.nix ./nix/config/common-packages.nix ./nix/packages/monster.nix
watch_file ./devenv.nix ./flake.nix ./nix/scripts/update-project.nix ./nix/scripts/build.nix ./nix/scripts/init-project.nix ./nix/scripts/build-stylesheets.nix ./nix/scripts/build-and-publish.nix ./nix/scripts/deploy.nix ./nix/scripts/update-files.nix ./nix/scripts/update-changelog.nix ./nix/scripts/prepare-release.nix ./nix/scripts/run-tests.nix ./nix/scripts/run-ci-tests.nix ./nix/scripts/clean-up.nix ./nix/scripts/go-task.nix ./nix/config/common-packages.nix ./nix/packages/monster.nix
use flake
......@@ -26,13 +26,13 @@
script-task = pkgs'.callPackage ./nix/scripts/go-task.nix {inherit commonScript versionBin;};
script-run-ci-tests = pkgs'.callPackage ./nix/scripts/run-ci-tests.nix {inherit commonScript;};
script-clean-up = pkgs'.callPackage ./nix/scripts/clean-up.nix {inherit commonScript;};
script-deploy = pkgs'.callPackage ./nix/scripts/deploy.nix {inherit commonScript versionBin updateChangelogScript;};
script-update-changelog = pkgs'.callPackage ./nix/scripts/update-changelog.nix {inherit commonScript versionBin;};
updateChangelogScript = script-update-changelog + "/bin/update-changelog";
rootPath = ./.;
commonPck = devFlakes.packages.${system}.common;
......@@ -51,6 +51,7 @@
ciScriptPackages = [
script-deploy
script-clean-up
script-run-ci-tests
];
shellPackages = let
......@@ -66,7 +67,6 @@
commonPackages
++ scriptPackages
++ [
];
in {
packages = rec {
......
......@@ -4,38 +4,46 @@
versionBin,
updateChangelogScript,
...
}:
}: let
ciRepositoryUrl = builtins.getEnv "CI_REPOSITORY_URL";
ciProjectDir = builtins.getEnv "CI_PROJECT_DIR";
ciJobToken = builtins.getEnv "CI_JOB_TOKEN";
ciCommitSha = builtins.getEnv "CI_COMMIT_SHA";
ciCommitRefName = builtins.getEnv "CI_COMMIT_REF_NAME";
gitlabToken = builtins.getEnv "GITLAB_TOKEN";
gitlabUserEmail = builtins.getEnv "GITLAB_USER_EMAIL";
gitlabUserName = builtins.getEnv "GITLAB_USER_NAME";
in
pkgs.writeShellScriptBin "deploy" ''
${commonScript}
echo_header "Deploying"
setup_go_env
if [ -z "''$CI_JOB_TOKEN" ]; then
if [ -z "${gitlabToken}" ]; then
echo_fail "Error: CI_JOB_TOKEN variable is not set."
echo_hint "This script is intended to be run in GitLab CI."
exit 1
fi
if [ -z "''${CI_REPOSITORY_URL}" ]; then
if [ -z "${ciRepositoryUrl}" ]; then
echo_fail "Error: CI_REPOSITORY_URL environment variable is not set."
exit 1
fi
if [ -z "''${CI_PROJECT_DIR}" ]; then
if [ -z "${ciProjectDir}" ]; then
echo_fail "Error: CI_PROJECT_DIR environment variable is not set."
exit 1
fi
cd ''${CI_PROJECT_DIR} || exit 1
cd ${ciProjectDir} || exit 1
${pkgs.git}/bin/git config --global user.email "''${GITLAB_USER_EMAIL}"
${pkgs.git}/bin/git config --global user.name "''${GITLAB_USER_NAME:-"Gitlab CI"}"
${pkgs.git}/bin/git config --global credential.helper '!f() { echo "username=gitlab-ci-token"; echo "password=''${CI_JOB_TOKEN}"; }; f'
${pkgs.git}/bin/git config --global user.email "${gitlabUserEmail}"
${pkgs.git}/bin/git config --global user.name "${gitlabUserName}"
${pkgs.git}/bin/git config --global credential.helper '!f() { echo "username=gitlab-ci-token"; echo "password=${ciJobToken}"; }; f'
${pkgs.git}/bin/git config --global pull.rebase true
${pkgs.git}/bin/git config --global http.sslVerify "false"
${pkgs.git}/bin/git remote set-url origin https://pad:''${GITLAB_TOKEN}@''${CI_REPOSITORY_URL#*@}
${pkgs.git}/bin/git remote set-url origin https://pad:${gitlabToken}@''${CI_REPOSITORY_URL#*@}
${pkgs.git}/bin/git fetch --all --tags --unshallow
${pkgs.git}/bin/git reset --hard origin/master
......@@ -61,7 +69,7 @@
gitVersion="v$gitVersion"
echo "{\"version\": \"$gitVersion\", \"release\": \"''${CI_COMMIT_SHA}\"}" > release.json
echo "{\"version\": \"$gitVersion\", \"release\": \"${ciCommitSha}\"}" > release.json
${pkgs.git}/bin/git add release.json
${pkgs.nodejs}/bin/npm version $gitVersion --no-git-tag-version
......@@ -74,7 +82,7 @@
${pkgs.git}/bin/git tag -a $gitVersion -m"chore: bump version to $gitVersion"
${pkgs.git}/bin/git --no-pager log --decorate=short --pretty=oneline -n 5
${pkgs.git}/bin/git push -o ci.skip origin ''${CI_COMMIT_REF_NAME} --tags
${pkgs.git}/bin/git push -o ci.skip origin ${ciCommitRefName} --tags
echo_ok "done"
''
{
pkgs,
lib,
commonScript,
...
}: let
gitlabToken = builtins.getEnv "GITLAB_TOKEN";
in
pkgs.writeShellScriptBin "run-ci-tests" ''
source ${commonScript}
echo_section "run ci tests"
if [ -z "${gitlabToken}" ]; then
echo_fail "Error: CI_JOB_TOKEN variable is not set."
echo_hint "This script is intended to be run in GitLab CI."
exit 1
fi
echo_hint "This script will run tests in the current working directory."
echo_hint "The command is executed in the current working directory and not in a nix derivation."
cd_working_dir
TEST_PATH="./test"
TEST_CASES_PATH="''${TEST_PATH}/cases/"
if ! ${pkgs.nodePackages.mocha}/bin/mocha --colors --jobs 1 --bail --recursive $TEST_CASES_PATH
then
echo_fail "Tests failed, check your JS!"
exit 1
fi
echo_ok "Tests passed!"
''
This diff is collapsed.
......@@ -108,7 +108,7 @@ function connectServer(resolve, reject) {
}
self[connectionSymbol].socket = null;
const WebSocket = getGlobalFunction("WebSocket")
const WebSocket = getGlobalFunction("WebSocket");
if (!WebSocket) {
reject(new Error("WebSocket is not available"));
return;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment