diff --git a/.forgejo/workflows/publish.yml b/.forgejo/workflows/publish.yml index 6f5c3b7..13effd6 100644 --- a/.forgejo/workflows/publish.yml +++ b/.forgejo/workflows/publish.yml @@ -7,17 +7,13 @@ 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 + - run: apt-get update && apt-get install -y make + - uses: actions/checkout@v4 + - 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: make build_password + - name: test secrets run: echo "${PASSWORD}" && bash ./scripts/publish_packages.sh "./bin" "password" env: LOGIN: ${{ forge.ACTOR }} @@ -25,3 +21,6 @@ jobs: SERVER_URL: ${{ forge.SERVER_URL }} OWNER: ${{ forge.REPOSITORY_OWNER }} VER: latest + - run: make publish_password + env: + VER: latest diff --git a/Makefile b/Makefile index a76ccd6..ccbc5c9 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,11 @@ ARCH := amd64 arm64 OS := linux windows darwin NAME := password +AUTH_HEADER := Authorization: token ${GITHUB_TOKEN} -.PHONY: all build_password +.PHONY: all build_password publish_password -all: build_password +all: build_password publish_password build_password: $(foreach GOOS, ${OS},\ @@ -12,6 +13,16 @@ 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: + $(shell curl -vvv -H "${AUTH_HEADER}" -X DELETE ${GITHUB_SERVER_URL}/api/packages/${GITHUB_REPOSITORY_OWNER}/generic/${NAME}/${VER}) + $(foreach GOOS, ${OS}, \ + $(foreach GOARCH, ${ARCH}, \ + $(echo "token: ${{ secrets.PACKAGES }}") \ + $(info Uploading ${NAME}_${GOOS}_${GOARCH}.tar.gz) \ + $(shell curl -vvv --user "nicolas.boufidjeline:${{ secrets.PACKAGES }}" --upload-file bin/${NAME}_${GOOS}_${GOARCH}.tar.gz ${GITHUB_SERVER_URL}/api/packages/${GITHUB_REPOSITORY_OWNER}/generic/${NAME}/${VER}/${NAME}_${GOOS}_${GOARCH}.tar.gz) \ + ) \ + ) + clean: rm -rf bin diff --git a/scripts/publish_packages.sh b/scripts/publish_packages.sh index c1c3378..b516ffa 100644 --- a/scripts/publish_packages.sh +++ b/scripts/publish_packages.sh @@ -14,10 +14,10 @@ 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}" && \ + curl -vvv --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}" && \ + curl -vvv --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