{ pkgs', system, self, ... }: let bashFktScript = import ./bash-fkt.nix { inherit pkgs'; }; monster = pkgs'.callPackage ../packages/monster.nix {inherit pkgs' system self;}; in pkgs'.writeShellScriptBin "deploy" '' source ${pkgs'.common}/bin/common ${bashFktScript} echo_section "build and publish" archive=$(ls ${monster} | grep tgz) echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc if ! publishingResult=$(${pkgs'.nodejs_20}/bin/npm publish "${monster}/$archive" --json --no-git-checks --access public) then if [ -f .npmrc ] ; then rm .npmrc ; fi echo_fail "Failed to publish the project." ${pkgs'.curl}/bin/curl --header "Content-Type: application/json" --request POST \ --data '{"text":"Failed to publish: '$(echo $publishingResult | jq .name)' '$(echo $publishingResult | jq .version)'"}' $MATTERMOST_WEBHOOK exit 1 fi if [ -f .npmrc ] ; then rm .npmrc ; fi echo_hint "ID: $(echo $publishingResult | jq .id)" echo_hint "Name: $(echo $publishingResult | jq .name)" echo_hint "Version $(echo $publishingResult | jq .version)" echo_hint "SHA Sum: $(echo $publishingResult | jq .shasum)" echo_hint "Files: $(echo $publishingResult | jq .entryCount)" set -x if [ "$(echo $publishingResult | jq .id)" == null ] ; then echo_fail "Failed to publish the project." ${pkgs'.curl}/bin/curl --header "Content-Type: application/json" --request POST \ --data '{"text":"Failed to publish: '$(echo $publishingResult | jq .name)' '$(echo $publishingResult | jq .version)'"}' $MATTERMOST_WEBHOOK exit 1 fi ${pkgs'.curl}/bin/curl --header "Content-Type: application/json" --request POST \ --data '{"text":"Deployed: '$(echo $publishingResult | jq .name)' '$(echo $publishingResult | jq .version)'"}' $MATTERMOST_WEBHOOK echo_ok "Build and publish successful." ''