Skip to content
Snippets Groups Projects
Commit bea02b38 authored by poka's avatar poka
Browse files

add release script publishing in CI

from chatGPT
parent d7ee6deb
No related branches found
No related tags found
No related merge requests found
Pipeline #35739 passed
#!/bin/bash
# Vérifiez si le token d'accès privé GitLab est défini
if [ -z "$GITLAB_PRIVATE_TOKEN" ]; then
echo "Token d'accès privé GitLab non défini. Arrêt du script."
exit 1
fi
# Variables
PROJECT_ID="604"
RELEASE_NAME="Release $CI_COMMIT_TAG"
RELEASE_DESCRIPTION="Description de la release $CI_COMMIT_TAG"
ARTIFACT_PATH="target/release/gcli"
GITLAB_API_URL="https://git.duniter.org/api/v4"
# Création de la release
echo "Création de la release $RELEASE_NAME..."
curl --header "PRIVATE-TOKEN: $GITLAB_PRIVATE_TOKEN" \
--data "name=$RELEASE_NAME&tag_name=$CI_COMMIT_TAG&description=$RELEASE_DESCRIPTION" \
"$GITLAB_API_URL/projects/$PROJECT_ID/releases"
# Construction de l'URL de l'artéfact
ARTIFACT_URL="$CI_PROJECT_URL/-/jobs/artifacts/$CI_COMMIT_TAG/raw/$ARTIFACT_PATH?job=build"
# Ajout de l'artéfact à la release
echo "Ajout de l'artéfact à la release..."
curl --header "PRIVATE-TOKEN: $GITLAB_PRIVATE_TOKEN" \
--data-urlencode "url=$ARTIFACT_URL" \
--data-urlencode "name=$(basename $ARTIFACT_PATH)" \
"$GITLAB_API_URL/projects/$PROJECT_ID/releases/$CI_COMMIT_TAG/assets/links"
echo "Script terminé."
...@@ -4,6 +4,7 @@ image: "rust:latest" ...@@ -4,6 +4,7 @@ image: "rust:latest"
stages: stages:
- build - build
- release
build: build:
stage: build stage: build
...@@ -23,6 +24,12 @@ build: ...@@ -23,6 +24,12 @@ build:
- Cargo.lock - Cargo.lock
paths: paths:
- target/release - target/release
# only build gcli when adding a tag
only: release:
- tags stage: release
\ No newline at end of file image: rust
script:
- chmod +x .ci/release_script.sh
- .ci/release_script.sh
dependencies:
- build
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment