diff --git a/.forgejo/workflows/demo.yml b/.forgejo/workflows/demo.yml new file mode 100644 index 0000000..833433e --- /dev/null +++ b/.forgejo/workflows/demo.yml @@ -0,0 +1,13 @@ +on: [push] +jobs: + release: + runs-on: docker + steps: + - run: echo All good! + - run: apt-get update && apt-get install -y make + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version: "1.21" + - run: ls -la + - run: make build_password diff --git a/.forgejo/workflows/publish.yml b/.forgejo/workflows/publish.yml deleted file mode 100644 index 4aec419..0000000 --- a/.forgejo/workflows/publish.yml +++ /dev/null @@ -1,26 +0,0 @@ -on: - pull_request: - types: [closed] - -jobs: - publish_password: - runs-on: docker - steps: - - name: "publish_password: Download packages" - run: apt-get update && apt-get install -y make - - name: "publish_password: Checkout repo" - uses: actions/checkout@v4 - - name: "publish_password: Setup golang" - uses: actions/setup-go@v5 - with: - go-version: "1.21" - - name: "publish_password: build binary" - run: make build_password - - name: "publish_password: publish binary" - run: echo "${PASSWORD}" && bash ./scripts/publish_packages.sh "./bin" "password" - env: - LOGIN: ${{ forge.ACTOR }} - PASSWORD: ${{ secrets.PACKAGE }} - SERVER_URL: ${{ forge.SERVER_URL }} - OWNER: ${{ forge.REPOSITORY_OWNER }} - VER: latest diff --git a/.forgejo/workflows/validate.yml b/.forgejo/workflows/validate.yml deleted file mode 100644 index 5f7059e..0000000 --- a/.forgejo/workflows/validate.yml +++ /dev/null @@ -1,18 +0,0 @@ -on: - pull_request: - types: [opened, synchronize, closed] - -jobs: - validate_password: - runs-on: docker - steps: - - name: "validate_password: Download packages" - run: apt-get update && apt-get install -y make - - name: "validate_password: Checkout repo" - uses: actions/checkout@v4 - - name: "validate_password: Setup golang" - uses: actions/setup-go@v5 - with: - go-version: "1.21" - - name: "validate_password: build binary" - run: make build_password diff --git a/Makefile b/Makefile index a76ccd6..8a6bf90 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,14 @@ -ARCH := amd64 arm64 -OS := linux windows darwin -NAME := password +ARCH := amd64 arm64 +OS := linux windows darwin +NAME := password +VERSION := $(shell git describe) +BUILD := $(shell git rev-parse HEAD) -.PHONY: all build_password +LDFLAGS=-ldflags "-X main.Version=${VERSION} -X main.Build=${BUILD}" -all: build_password +.PHONY: all build + +all: build build_password: $(foreach GOOS, ${OS},\ @@ -12,6 +16,12 @@ build_password: $(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 diff --git a/scripts/publish_packages.sh b/scripts/publish_packages.sh deleted file mode 100644 index c1c3378..0000000 --- a/scripts/publish_packages.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -echo "Publish generique package" - -PATH_DIR="${1}" -NAME="${2}" -USER="${LOGIN}" -TOKEN="${PASSWORD}" - -echo "user -> ${USER}" -echo "token -> ${TOKEN}" -echo "server -> ${SERVER_URL}" -echo "owner -> ${OWNER}" - -ls "${PATH_DIR}" | while read tmp -do - curl --silent --user "${USER}:${TOKEN}" -X DELETE "${SERVER_URL}/api/packages/${OWNER}/generic/${NAME}/${VER}/${tmp}" && \ - echo delete ok || \ - echo delete not necessarie - curl --silent --user "${USER}:${TOKEN}" --upload-file "${PATH_DIR}/${tmp}" "${SERVER_URL}/api/packages/${OWNER}/generic/${NAME}/${VER}/${tmp}" && \ - echo upload ok || \ - echo upload fail -done \ No newline at end of file