diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 172757e..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,58 +0,0 @@ -default: - image: debian:11 - -stages: - - build - - publish - - release - -build: - stage: build - image: golang:1.21-alpine - before_script: - - apk update && apk add --no-cache make git - script: - - make build_password - artifacts: - paths: - - ./bin/* - -publish_main: - stage: publish - image: golang:1.21-alpine - variables: - VER: latest - before_script: - - apk update && apk add --no-cache make git curl - script: - - make publish_password - needs: - - build - only: - - main - -release_tag: - stage: publish - image: golang:1.21-alpine - variables: - VER: ${CI_COMMIT_TAG} - before_script: - - apk update && apk add --no-cache make git curl - script: - - make publish_password - needs: - - build - only: - - tags - -release_job: - stage: release - image: registry.gitlab.com/gitlab-org/release-cli:latest - rules: - - if: $CI_COMMIT_TAG - before_script: - - apk update && apk add --no-cache bash curl - script: - - bash ./scripts/gitlab_release.sh -r ./docs/release/$CI_COMMIT_TAG* -a ./bin/ - needs: - - build \ No newline at end of file diff --git a/Makefile b/Makefile deleted file mode 100644 index 8a6bf90..0000000 --- a/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -ARCH := amd64 arm64 -OS := linux windows darwin -NAME := password -VERSION := $(shell git describe) -BUILD := $(shell git rev-parse HEAD) - -LDFLAGS=-ldflags "-X main.Version=${VERSION} -X main.Build=${BUILD}" - -.PHONY: all build - -all: build - -build_password: - $(foreach GOOS, ${OS},\ - $(foreach GOARCH, ${ARCH}, \ - $(shell CGO_ENABLED=0 go build -v -o bin/${NAME} ./golang/cmd/passwordhash;cd bin/;[ "${GOOS}" = "windows" ] && mv ${NAME} ${NAME}.exe;tar czf ${NAME}_${GOOS}_${GOARCH}.tar.gz *;rm -f ${NAME} ${NAME}.exe) \ - )) - -publish_password: - $(foreach GOOS, ${OS},\ - $(foreach GOARCH, ${ARCH}, \ - $(curl --silent --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file bin/${NAME}_${GOOS}_${GOARCH}.tar.gz "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${NAME}/${VER}/${NAME}_${GOOS}_${GOARCH}.tar.gz") \ - )) - -clean: - rm -rf bin - -re: clean all \ No newline at end of file diff --git a/README.md b/README.md index 5699b12..9cbccad 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,10 @@ Some tools use and dev for h6n, many are in shell/bash could be use in other pro ## Version -v1.2.0: Valentin +v1.0.0: Damian ## release script To use the release script it's simple `curl https://gitlab.g3e.fr/h6n/tools/-/raw/main/scripts/release.sh | bash -s - [param list]` -In dev mode you can do `cat ./scripts/release.sh | bash -s - [param list]` - -## Password hasher - -To use the password hasher you only need to download it, give him exec right and launch it, all is done locally and nothing is exported. \ No newline at end of file +In dev mode you can do `cat ./scripts/release.sh | bash -s - [param list]` \ No newline at end of file diff --git a/config-ci/.gitlab-ci.yml.j2 b/config-ci/.gitlab-ci.yml.j2 deleted file mode 100644 index 172757e..0000000 --- a/config-ci/.gitlab-ci.yml.j2 +++ /dev/null @@ -1,58 +0,0 @@ -default: - image: debian:11 - -stages: - - build - - publish - - release - -build: - stage: build - image: golang:1.21-alpine - before_script: - - apk update && apk add --no-cache make git - script: - - make build_password - artifacts: - paths: - - ./bin/* - -publish_main: - stage: publish - image: golang:1.21-alpine - variables: - VER: latest - before_script: - - apk update && apk add --no-cache make git curl - script: - - make publish_password - needs: - - build - only: - - main - -release_tag: - stage: publish - image: golang:1.21-alpine - variables: - VER: ${CI_COMMIT_TAG} - before_script: - - apk update && apk add --no-cache make git curl - script: - - make publish_password - needs: - - build - only: - - tags - -release_job: - stage: release - image: registry.gitlab.com/gitlab-org/release-cli:latest - rules: - - if: $CI_COMMIT_TAG - before_script: - - apk update && apk add --no-cache bash curl - script: - - bash ./scripts/gitlab_release.sh -r ./docs/release/$CI_COMMIT_TAG* -a ./bin/ - needs: - - build \ No newline at end of file diff --git a/config/params.json b/config/params.json deleted file mode 100644 index 7a73a41..0000000 --- a/config/params.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} \ No newline at end of file diff --git a/docs/release/v0.3.0_nicolas.md b/docs/release/v0.3.0_nicolas.md deleted file mode 100644 index 1884b8d..0000000 --- a/docs/release/v0.3.0_nicolas.md +++ /dev/null @@ -1,7 +0,0 @@ -# Nicolas v0.3.0 - -## Release feature - -- toto -- tata -- arno diff --git a/docs/release/v1.2.0_valentin.md b/docs/release/v1.2.0_valentin.md deleted file mode 100644 index 023a2dc..0000000 --- a/docs/release/v1.2.0_valentin.md +++ /dev/null @@ -1,8 +0,0 @@ -# Valentin v1.2.0 - -## Release feature - -- add release script to auto generate release in gitlab -- add script to generate file from j2 and json -- define a naming policy -- add a hash password code diff --git a/scripts/gitlab_release.sh b/scripts/gitlab_release.sh deleted file mode 100644 index 6a85d01..0000000 --- a/scripts/gitlab_release.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash - -exec_with_dry_run () { - if [[ ${1} -eq ${FLAGS_TRUE} ]]; then - echo "# ${2}" - else - eval "${2}" 2> /tmp/error || \ - { - echo -e "failed with following error"; - output=$(cat /tmp/error | sed -e "s/^/ error -> /g"); - echo -e "${output}"; - return 1; - } - fi - return 0 -} - - -main () { - [[ -f ./libs/shflags ]] && . ./libs/shflags || eval "$(curl --silent https://gitlab.g3e.fr/h6n/tools/-/raw/main/libs/shflags)" - [[ -f ./.config/gitlab_release ]] && . ./.config/gitlab_release - - DEFINE_string 'artifact_path' '' 'Path of artifact list' 'a' - DEFINE_boolean 'dryrun' false 'Enable dry-run mode' 'd' - DEFINE_string 'release_path' '' 'Release documentation path' 'r' - DEFINE_string 'skip_line' '2' 'Number of line to skip in release file' 's' - - FLAGS "$@" || exit $? - eval set -- "${FLAGS_ARGV}" - - [[ ${FLAGS_release_path} == "" ]] && \ - { - echo "error release_path as to be filled" - return 1 - } - - NAME=$(cat ${FLAGS_release_path} | head -n 1 | cut -d\ -f 2) - VERSION=$(cat ${FLAGS_release_path} | head -n 1 | cut -d\ -f 3) - BODY=$(tail +${FLAGS_skip_line} ${FLAGS_release_path}) - - ASSET=$(ls ${FLAGS_artifact_path} | while read asset - do - asset_name=$(echo ${asset} | cut -d_ -f1) - echo -n " --assets-link '{\"name\":\"${asset}\",\"url\":\"${CI_API_V4_URL}/projects/${VERSION}/packages/generic/${asset_name}/${VERSION}/${asset}\",\"link_type\":\"package\"}'" - done - for docker in ${CONTAINER_LIST[@]} - do - echo -n " --assets-link '{\"name\":\"registry.g3e.fr/h6n/${docker}:${VERSION}\",\"url\":\"https://registry.g3e.fr/h6n/${docker}\",\"link_type\":\"image\"}'" - done) - - - echo "# ${NAME} ${VERSION}" - - exec_with_dry_run ${FLAGS_dryrun} "/usr/local/bin/release-cli create --name '${NAME}' --description '${BODY}' \ - --tag-name '${VERSION}' --ref '${VERSION}' \ - --milestone '${VERSION}' \ - ${ASSET}" - return 0 -} - -[[ "${BASH_SOURCE[0]}" == "${0}" ]] && \ - { - main "$@" && exit 0 || exit 1 - } -[[ "${BASH_SOURCE[0]}" == "" ]] && \ - { - main "$@" && exit 0 || exit 1 - } \ No newline at end of file diff --git a/scripts/update_ci.sh b/scripts/update_ci.sh deleted file mode 100755 index 4cec188..0000000 --- a/scripts/update_ci.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh - -#list="build deploy latest release test" - -#for elem in ${list} -#do -# echo "Build ${elem}" -# j2 -f json \ -# .gitlab/templates/${elem}.yml.j2 \ -# .gitlab/templates/.container_list.json \ -# -o .gitlab/ci/${elem}.yml -#done - -exec_with_dry_run () { - if [[ ${1} -eq ${FLAGS_TRUE} ]]; then - echo "# ${2}" - else - eval "${2}" 2> /tmp/error || \ - { - echo -e "failed with following error"; - output=$(cat /tmp/error | sed -e "s/^/ error -> /g"); - echo -e "${output}"; - return 1; - } - fi - return 0 -} - -main () { - [[ -f ./libs/shflags ]] && . ./libs/shflags || eval "$(curl --silent https://gitlab.g3e.fr/h6n/tools/-/raw/main/libs/shflags)" - - DEFINE_boolean 'dryrun' false 'Enable dry-run mode' 'd' - DEFINE_string 'output_path' '' 'Release documentation path' 'o' - DEFINE_string 'template_path' '' 'Path of artifact list' 't' - DEFINE_string 'params_path' '' 'Path of artifact list' 'p' - - FLAGS "$@" || exit $? - eval set -- "${FLAGS_ARGV}" - - exec_with_dry_run ${FLAGS_dryrun} "pip install j2cli" > /dev/null - - ls -a ${FLAGS_template_path} | while read TEMPLATE - do - file=$(echo ${TEMPLATE} | grep -Ev '^[\.]*$') - [[ ${file} != "" ]] && \ - { - basename=$(echo ${file%.*}) - exec_with_dry_run ${FLAGS_dryrun} "j2 -f json ${FLAGS_template_path}/${file} ${FLAGS_params_path} -o ${FLAGS_output_path}/${basename}" - } - done -} - -[[ "${BASH_SOURCE[0]}" == "${0}" ]] && \ - { - main "$@" && exit 0 || exit 1 - } -[[ "${BASH_SOURCE[0]}" == "" ]] && \ - { - main "$@" && exit 0 || exit 1 - } \ No newline at end of file